2026-10-19 18:39:28 +02:00
|
|
|
// События, которыми модули сообщают друг другу о случившемся.
|
|
|
|
|
// Событие -- это факт в прошедшем времени ("ресурс изменился"), а не просьба что-то сделать.
|
|
|
|
|
// Добавляя событие, впиши его в документ модуля-отправителя (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 { }
|
|
|
|
|
|
2026-10-23 18:33:04 +02:00
|
|
|
// ---------------- Армия ----------------
|
|
|
|
|
// Число воинов изменилось (обучение, потери, поход, возвращение, загрузка)
|
|
|
|
|
public struct TroopsChangedEvent
|
|
|
|
|
{
|
|
|
|
|
public int AtHome;
|
|
|
|
|
public int InMarches;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-19 18:39:28 +02:00
|
|
|
// ---------------- Глобальный мир ----------------
|
|
|
|
|
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;
|
2026-10-23 18:33:04 +02:00
|
|
|
public int Sent; // сколько воинов уходило в поход
|
|
|
|
|
public string TargetName; // куда ходили ("Замок Змея Горыныча", имя соседа)
|
|
|
|
|
public string LootText; // добыча текстом: "+20 золота, +40 еды" или "нет"
|
2026-10-19 18:39:28 +02:00
|
|
|
}
|
|
|
|
|
|
2026-10-19 19:07:45 +02:00
|
|
|
// ---------------- Чат ----------------
|
|
|
|
|
// Новое сообщение в любом канале (своё или чужое)
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-19 18:39:28 +02:00
|
|
|
// ---------------- Сохранения ----------------
|
|
|
|
|
public struct GameLoadedEvent { }
|
|
|
|
|
public struct GameSavedEvent { }
|
|
|
|
|
// Сохранения сброшены, все модули уже в состоянии новой игры
|
|
|
|
|
public struct GameResetEvent { }
|