geometry-tower-defense-base/src-ref/CustomComponent/CombatNode/CombatScheduler/CombatSettlementContext.cs

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;
}
}