using System.Collections.Generic; using GeometryTD.Definition; namespace GeometryTD.CustomComponent { public sealed class CombatSettlementContext { public CombatSettlementFlags Flags { get; } = new(); public CombatSettlementResult Result { get; } = new(); public CombatSettlementSummary Summary { get; } = new(); } public sealed class CombatSettlementFlags { public bool ShouldOpenRewardSelection; public bool DidEnterRewardSelection; public bool IsCommitted; } public sealed class CombatSettlementResult { public bool DidCombatWin; public int FinalCoin; public int FinalBaseHp; public int MaxBaseHp; public int DefeatedEnemyCount; public int GainedGold; public BackpackInventoryData RewardInventory; public CombatSettlementEnduranceResult Endurance { get; } = new(); } public sealed class CombatSettlementEnduranceResult { public List TargetTowerInstanceIds { get; } = new(); public float EnduranceLossPerComponent; public int AffectedTowerCount; } public sealed class CombatSettlementSummary { public int DefeatedEnemyCount; public int GainedGold; public BackpackInventoryData RewardInventory; } }