Files
Continentis/Assets/Scripts/MainGame/Card/CardSubmodules/EventSubmodule.cs

53 lines
2.7 KiB
C#
Raw Normal View History

2025-10-03 00:02:43 -04:00
using System.Collections.Generic;
using Continentis.MainGame.Character;
using SoftCircuits.Collections;
2025-10-23 00:49:44 -04:00
using SLSFramework.General;
2025-10-03 00:02:43 -04:00
using UnityEngine;
using UnityEngine.Events;
namespace Continentis.MainGame.Card
{
2025-11-15 12:17:34 -05:00
public partial class EventSubmodule : SubmoduleBase<CardInstance>
2025-10-03 00:02:43 -04:00
{
2025-10-23 00:49:44 -04:00
public UnityAction<CharacterBase> onTargeting; //选中目标时
public UnityAction onUntargeting; //取消选中目标时
2025-10-31 10:02:30 -04:00
public OrderedDictionary<string, PrioritizedAction> onCombatStart; //战斗开始时
public OrderedDictionary<string, PrioritizedAction> onCombatEnd; //战斗结束时
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
public OrderedDictionary<string, PrioritizedAction> onRoundStart; //每回合开始时
public OrderedDictionary<string, PrioritizedAction> onRoundEnd; //每回合结束时
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
public OrderedDictionary<string, PrioritizedAction> onActionEnd; //每次行动结束时
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
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; //此卡牌被消耗时
2025-10-03 00:02:43 -04:00
2025-11-15 12:17:34 -05:00
public EventSubmodule(CardInstance card) : base(card)
2025-10-03 00:02:43 -04:00
{
2025-10-31 10:02:30 -04:00
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
2025-10-03 00:02:43 -04:00
2025-10-31 10:02:30 -04:00
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>();
2025-10-03 00:02:43 -04:00
}
}
public partial class EventSubmodule
{
}
}