VanguardReMaster/server/src/Vanguard.Rules/Engine/GameEvents.cs

24 lines
1.5 KiB
C#

using Vanguard.Rules.Cards;
namespace Vanguard.Rules.Engine;
public abstract record GameEvent;
public sealed record GameStartedEvent(int FirstPlayer) : GameEvent;
public sealed record PhaseChangedEvent(int Player, Phase Phase) : GameEvent;
public sealed record MulliganEvent(int Player, int Count) : GameEvent;
public sealed record CardDrawnEvent(int Player) : GameEvent;
public sealed record UnitRodeEvent(int Player, string PrintingId) : GameEvent;
public sealed record UnitCalledEvent(int Player, int Slot, string PrintingId) : GameEvent;
public sealed record AttackDeclaredEvent(int Player, int AttackerSlot, int TargetSlot) : GameEvent;
public sealed record BoostedEvent(int Player, int BoosterSlot, int AttackerSlot) : GameEvent;
public sealed record GuardAddedEvent(int Player, string PrintingId, int Shield) : GameEvent;
public sealed record PerfectGuardEvent(int Player, string SentinelPrintingId, string? DiscardedPrintingId) : GameEvent;
public sealed record TriggerResolvedEvent(int Player, string PrintingId, TriggerType Trigger) : GameEvent;
public sealed record TriggerAppliedEvent(int Player, int PowerTarget, int EffectTarget) : GameEvent;
public sealed record BattleResolvedEvent(bool Hit) : GameEvent;
public sealed record DamageTakenEvent(int Player, int Amount, int Total) : GameEvent;
public sealed record HealedEvent(int Player) : GameEvent;
public sealed record UnitRetiredEvent(int Player, int Slot) : GameEvent;
public sealed record GameFinishedEvent(int Winner) : GameEvent;