#nullable enable using Demo2.Domain; using ShrinkEventBus; namespace Demo2.Runtime { public sealed class Demo2PhaseEvent : EventBase { public Demo2Phase SimulationPhase; public int Cycle; public float RemainingSeconds; public ulong StateHash; } public sealed class Demo2BuildEvent : EventBase { public string PlayerId = string.Empty; public Demo2MachineKind Kind; public int X; public int Y; public bool Accepted; public string ErrorCode = string.Empty; } public sealed class Demo2FaultEvent : EventBase { public int StableId; public int FaultCount; } public sealed class Demo2SettlementEvent : EventBase { public int Cycle; public long Firepower; public long EnemyHealth; public long Excess; public bool Defended; public int CoreHealth; } public sealed class Demo2RewardEvent : EventBase { public int Cycle; public string RuleId = string.Empty; public int Slot; } public sealed class Demo2NetworkEvent : EventBase { public string Status = string.Empty; public string Detail = string.Empty; } }