// События, которыми модули сообщают друг другу о случившемся. // Событие -- это факт в прошедшем времени ("ресурс изменился"), а не просьба что-то сделать. // Добавляя событие, впиши его в документ модуля-отправителя (Docs/Modules). // ---------------- Экономика ---------------- public struct ResourceChangedEvent { public ResourceType Type; public float Value; } // ---------------- Поселение ---------------- public struct BuildingPlacedEvent { public string BuildingName; } public struct TownHallLevelChangedEvent { public int Level; } // Поселение начинает восстанавливать здания из сохранения: самое время добавить в список стройки // здания, которые появляются кодом (например, Казармы) public struct SettlementRestoringEvent { } // ---------------- Армия ---------------- // Число воинов изменилось (обучение, потери, поход, возвращение, загрузка) public struct TroopsChangedEvent { public int AtHome; public int InMarches; } // ---------------- Глобальный мир ---------------- public struct MarchStartedEvent { public int MarchId; public string TargetId; public int Soldiers; } public struct MarchBattleResolvedEvent { public int MarchId; public string TargetId; public bool Victory; public int Soldiers; public int Survivors; } public struct MarchReturnedEvent { public int MarchId; public bool Victory; public int Survivors; public int Sent; // сколько воинов уходило в поход public string TargetName; // куда ходили ("Замок Змея Горыныча", имя соседа) public string LootText; // добыча текстом: "+20 золота, +40 еды" или "нет" } // ---------------- Чат ---------------- // Новое сообщение в любом канале (своё или чужое) public struct ChatMessageReceivedEvent { public ChatMessage Message; } // ---------------- Круг ---------------- // Игрок вступил в Круг или создал свой public struct CircleJoinedEvent { public string CircleId; public string CircleName; public bool Created; } // Игрок вышел из Круга (Disbanded -- Круг распущен, игрок был в нём один) public struct CircleLeftEvent { public string CircleId; public string CircleName; public bool Disbanded; } // ---------------- Сохранения ---------------- public struct GameLoadedEvent { } public struct GameSavedEvent { } // Сохранения сброшены, все модули уже в состоянии новой игры public struct GameResetEvent { }