46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using GeometryTD.Definition;
|
|
|
|
namespace GeometryTD.CustomComponent
|
|
{
|
|
internal sealed class CombatSettlementContext
|
|
{
|
|
public CombatSettlementFlowState Flow { get; } = new();
|
|
public CombatSettlementResult Result { get; } = new();
|
|
public CombatSettlementSummary Summary { get; } = new();
|
|
}
|
|
|
|
internal sealed class CombatSettlementFlowState
|
|
{
|
|
public bool ShouldOpenRewardSelection;
|
|
public bool DidEnterRewardSelection;
|
|
public bool IsCommitted;
|
|
}
|
|
|
|
internal sealed class CombatSettlementResult
|
|
{
|
|
public bool IsVictory;
|
|
public int FinalCoin;
|
|
public int FinalBaseHp;
|
|
public int MaxBaseHp;
|
|
public int DefeatedEnemyCount;
|
|
public int GainedGold;
|
|
public BackpackInventoryData RewardInventory;
|
|
public string Reason;
|
|
public CombatSettlementPenaltyResult Penalty { get; } = new();
|
|
}
|
|
|
|
internal sealed class CombatSettlementPenaltyResult
|
|
{
|
|
public bool ShouldApplyLowBaseHpPenalty;
|
|
public float LowBaseHpEndurancePenaltyValue;
|
|
public int AffectedTowerCount;
|
|
}
|
|
|
|
internal sealed class CombatSettlementSummary
|
|
{
|
|
public int DefeatedEnemyCount;
|
|
public int GainedGold;
|
|
public BackpackInventoryData RewardInventory;
|
|
}
|
|
}
|