Files
Continentis/Assets/Scripts/MainGame/Card/CardSubmodules/EventSubmodule.cs
SoulliesOfficial ac98ec3aef 更新
2026-04-17 12:01:50 -04:00

53 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Collections.Generic;
using Continentis.MainGame.Character;
using SoftCircuits.Collections;
using SLSUtilities.General;
using UnityEngine;
using UnityEngine.Events;
namespace Continentis.MainGame.Card
{
public partial class EventSubmodule : SubmoduleBase<CardInstance>
{
public UnityAction<CharacterBase> onTargeting; //选中目标时
public UnityAction onUntargeting; //取消选中目标时
public OrderedDictionary<string, PrioritizedAction> onCombatStart; //战斗开始时
public OrderedDictionary<string, PrioritizedAction> onCombatEnd; //战斗结束时
public OrderedDictionary<string, PrioritizedAction> onRoundStart; //每回合开始时
public OrderedDictionary<string, PrioritizedAction> onRoundEnd; //每回合结束时
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
public OrderedDictionary<string, PrioritizedAction> onActionEnd; //每次行动结束时
public OrderedDictionary<string, PrioritizedAction> onDraw; //抽到此卡牌时
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>> onBeforePlay; //使用此卡牌前,参数为目标列表
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>> onAfterPlay; //使用此卡牌后,参数为目标列表
public OrderedDictionary<string, PrioritizedCheckAndEffect> onInitiativeDiscard; //此卡牌被主动弃牌时如果读到任意一个true打断弃牌行为执行所有对应效果
public OrderedDictionary<string, PrioritizedAction> onExhaust; //此卡牌被消耗时
public EventSubmodule(CardInstance card) : base(card)
{
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
onDraw = new OrderedDictionary<string, PrioritizedAction>();
onBeforePlay = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>>();
onAfterPlay = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>>();
onInitiativeDiscard = new OrderedDictionary<string, PrioritizedCheckAndEffect>();
onExhaust = new OrderedDictionary<string, PrioritizedAction>();
}
}
public partial class EventSubmodule
{
}
}