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

38 lines
2.7 KiB
C#

using Vanguard.Rules.Cards;
using Vanguard.Rules.Engine.Abilities;
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 UnitMovedEvent(int Player, int FromSlot, int ToSlot) : GameEvent;
public sealed record DriveCheckedEvent(int Player, string PrintingId, TriggerType Trigger) : 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 InterceptedEvent(int Player, int Slot, string PrintingId) : GameEvent;
public sealed record InterceptorRetiredEvent(int Player, string PrintingId) : 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 CardSearchedEvent(int Player, string PrintingId) : GameEvent;
public sealed record SearchFailedEvent(int Player, string Query) : GameEvent;
public sealed record CardRevealedEvent(int Player, string PrintingId) : GameEvent;
public sealed record CardReturnedToDeckEvent(int Player, string PrintingId) : GameEvent;
public sealed record CardDiscardedEvent(int Player, string PrintingId) : GameEvent;
public sealed record UnitReturnedToDeckEvent(int Player, string PrintingId) : GameEvent;
public sealed record CardMovedToSoulEvent(int Player, string PrintingId) : GameEvent;
public sealed record GameFinishedEvent(int Winner) : GameEvent;
public sealed record AbilityTriggeredEvent(int Player, string PrintingId, AbilityTrigger Trigger) : GameEvent;
public sealed record AbilityResolvedEvent(int Player, string PrintingId, bool Accepted) : GameEvent;