除了充盈都做完了
This commit is contained in:
@@ -58,7 +58,7 @@ namespace Continentis.MainGame.Card
|
||||
public static CardInstance GenerateCardInstance(CardLogicBase logic, ICardOwner owner, string pileName, int index = -1)
|
||||
{
|
||||
CardInstance cardInstance = new CardInstance(logic, owner, pileName, index);
|
||||
cardInstance.cardLogic.Initialize();
|
||||
//cardInstance.cardLogic.Initialize();
|
||||
return cardInstance;
|
||||
}
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace Continentis.MainGame.Card
|
||||
|
||||
if (HasKeyword("Instant")) //如果是“瞬发”牌,添加抽牌后立刻打出的事件
|
||||
{
|
||||
eventSubmodule.onDraw.InsertByPriority("Instant", new EventUnit(() =>
|
||||
eventSubmodule.onDraw.InsertByPriority("Instant", new PrioritizedAction(() =>
|
||||
{
|
||||
DetectTargetsValidity(out List<CharacterBase> valid, out _, out _);
|
||||
Play(SetRandomTargets(valid), user);
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace Continentis.MainGame.Card
|
||||
}
|
||||
else if(!HasKeyword("Reuse"))
|
||||
{
|
||||
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCard(cardInstance));
|
||||
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCard(cardInstance, false));
|
||||
CommandQueueManager.Instance.AddCommand(new Cmd_Function(() =>
|
||||
{
|
||||
if (handCardView != null)
|
||||
|
||||
@@ -12,40 +12,40 @@ namespace Continentis.MainGame.Card
|
||||
public UnityAction<CharacterBase> onTargeting; //选中目标时
|
||||
public UnityAction onUntargeting; //取消选中目标时
|
||||
|
||||
public OrderedDictionary<string, EventUnit> onCombatStart; //战斗开始时
|
||||
public OrderedDictionary<string, EventUnit> onCombatEnd; //战斗结束时
|
||||
public OrderedDictionary<string, PrioritizedAction> onCombatStart; //战斗开始时
|
||||
public OrderedDictionary<string, PrioritizedAction> onCombatEnd; //战斗结束时
|
||||
|
||||
public OrderedDictionary<string, EventUnit> onRoundStart; //每回合开始时
|
||||
public OrderedDictionary<string, EventUnit> onRoundEnd; //每回合结束时
|
||||
public OrderedDictionary<string, PrioritizedAction> onRoundStart; //每回合开始时
|
||||
public OrderedDictionary<string, PrioritizedAction> onRoundEnd; //每回合结束时
|
||||
|
||||
public OrderedDictionary<string, EventUnit> onActionStart; //每次行动开始时
|
||||
public OrderedDictionary<string, EventUnit> onActionEnd; //每次行动结束时
|
||||
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
|
||||
public OrderedDictionary<string, PrioritizedAction> 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 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(CardLogicBase card) : base(card)
|
||||
{
|
||||
onTargeting += card.TargetingEffect;
|
||||
onUntargeting = card.UntargetingEffect;
|
||||
|
||||
onCombatStart = new OrderedDictionary<string, EventUnit>();
|
||||
onCombatEnd = new OrderedDictionary<string, EventUnit>();
|
||||
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
|
||||
onRoundStart = new OrderedDictionary<string, EventUnit>();
|
||||
onRoundEnd = new OrderedDictionary<string, EventUnit>();
|
||||
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
|
||||
onActionStart = new OrderedDictionary<string, EventUnit>();
|
||||
onActionEnd = new OrderedDictionary<string, EventUnit>();
|
||||
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
|
||||
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>();
|
||||
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>();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,5 +51,19 @@ namespace Continentis.MainGame.Card
|
||||
selectedCards.ForEach(selectEffect);
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加选择手牌的指令(无UI,直接选择符合条件的卡牌)
|
||||
/// </summary>
|
||||
/// <param name="commandGroup">目标指令组</param>
|
||||
public void AddSelectionCommands(ref CommandGroup commandGroup)
|
||||
{
|
||||
selectedCards = user.deckSubmodule.HandPile.Filtered(selectCondition).ToList();
|
||||
commandGroup.AddCommand(new Cmd_Function(() =>
|
||||
{
|
||||
selectedCards.ForEach(selectEffect);
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user