Files
Continentis/Assets/Scripts/MainGame/Card/CardSubmodules/EventSubmodule.cs
SoulliesOfficial 61a397dd4c MOD!
2025-10-23 00:49:44 -04:00

56 lines
2.5 KiB
C#

using System.Collections.Generic;
using Continentis.MainGame.Character;
using SoftCircuits.Collections;
using SLSFramework.General;
using UnityEngine;
using UnityEngine.Events;
namespace Continentis.MainGame.Card
{
public partial class EventSubmodule : SubmoduleBase<CardLogicBase>
{
public UnityAction<CharacterBase> onTargeting; //选中目标时
public UnityAction onUntargeting; //取消选中目标时
public OrderedDictionary<string, EventUnit> onCombatStart; //战斗开始时
public OrderedDictionary<string, EventUnit> onCombatEnd; //战斗结束时
public OrderedDictionary<string, EventUnit> onRoundStart; //每回合开始时
public OrderedDictionary<string, EventUnit> onRoundEnd; //每回合结束时
public OrderedDictionary<string, EventUnit> onActionStart; //每次行动开始时
public OrderedDictionary<string, EventUnit> onActionEnd; //每次行动结束时
public OrderedDictionary<string, EventUnit> onDraw; //抽到此卡牌时
public OrderedDictionary<string, EventUnit<List<CharacterBase>>> onBeforePlay; //使用此卡牌前,参数为目标列表
public OrderedDictionary<string, EventUnit<List<CharacterBase>>> onAfterPlay; //使用此卡牌后,参数为目标列表
public OrderedDictionary<string, EventUnit> onDiscard; //此卡牌被弃牌时
public OrderedDictionary<string, EventUnit> onExhaust; //此卡牌被消耗时
public EventSubmodule(CardLogicBase card) : base(card)
{
onTargeting += card.TargetingEffect;
onUntargeting = card.UntargetingEffect;
onCombatStart = new OrderedDictionary<string, EventUnit>();
onCombatEnd = new OrderedDictionary<string, EventUnit>();
onRoundStart = new OrderedDictionary<string, EventUnit>();
onRoundEnd = new OrderedDictionary<string, EventUnit>();
onActionStart = new OrderedDictionary<string, EventUnit>();
onActionEnd = new OrderedDictionary<string, EventUnit>();
onDraw = new OrderedDictionary<string, EventUnit>();
onBeforePlay = new OrderedDictionary<string, EventUnit<List<CharacterBase>>>();
onAfterPlay = new OrderedDictionary<string, EventUnit<List<CharacterBase>>>();
onDiscard = new OrderedDictionary<string, EventUnit>();
onExhaust = new OrderedDictionary<string, EventUnit>();
}
}
public partial class EventSubmodule
{
}
}