46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
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<long> TargetTowerInstanceIds { get; } = new();
|
|
public float EnduranceLossPerComponent;
|
|
public int AffectedTowerCount;
|
|
}
|
|
|
|
public sealed class CombatSettlementSummary
|
|
{
|
|
public int DefeatedEnemyCount;
|
|
public int GainedGold;
|
|
public BackpackInventoryData RewardInventory;
|
|
}
|
|
}
|