// События, которыми модули сообщают друг другу о случившемся. // Событие -- это факт в прошедшем времени ("ресурс изменился"), а не просьба что-то сделать. // Добавляя событие, впиши его в документ модуля-отправителя (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 GameTimeAdvancedEvent { public long Seconds; public long UnixNow; } // ---------------- Население ---------------- // Число людей изменилось (прирост, загрузка, сброс, изменение войска) public struct PopulationChangedEvent { public int Total; public int Civilians; public int Soldiers; public int HousingCap; } // Рабочих переставили (окно "Рабочие", автоматическое заполнение новых мест) public struct WorkersChangedEvent { public int Workers; public int FreeWorkers; } // Голод начался (IsStarving = true) или закончился public struct StarvationChangedEvent { public bool IsStarving; } // ---------------- Армия ---------------- // Число воинов изменилось (обучение, потери, поход, возвращение, загрузка) public struct TroopsChangedEvent { public int AtHome; public int InMarches; public int Garrison; // из AtHome -- в гарнизоне } // ---------------- Глобальный мир ---------------- 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 bool TargetEmpty; // лагерь уже был разбит: боя не было, вернулись все 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 NewGameStartedEvent { } public struct GameSavedEvent { } // Сохранения сброшены, все модули уже в состоянии новой игры public struct GameResetEvent { }