using System; using System.Collections.Generic; using GeometryTD.DataTable; using GeometryTD.Entity; using GeometryTD.Procedure; using GeometryTD.UI; using UnityGameFramework.Runtime; namespace GeometryTD.CustomComponent { internal sealed class CombatSchedulerRuntime { public List PhaseBuffer { get; } = new(); public Dictionary> SpawnEntriesByPhaseId { get; } = new(); public EnemyManager EnemyManager { get; } = new(); public PhaseLoopRuntime PhaseLoopRuntime { get; } = new(); public CombatLoadSession LoadSession { get; } = new(); public CombatEventBridge EventBridge { get; } = new(); public CombatRunResourceStore CombatRunResourceStore { get; } = new(); public EnemyDropResolver EnemyDropResolver { get; } = new(); public CombatSettlementService CombatSettlementService { get; } = new(); public EntityComponent Entity { get; set; } public DRLevel CurrentLevel { get; set; } public CombatFinishFormUseCase CombatFinishFormUseCase { get; set; } public RewardSelectFormUseCase RewardSelectFormUseCase { get; set; } public CombatStateBase CurrentState { get; set; } public Action CombatEndedCallback { get; set; } public bool DidCombatWin { get; set; } = true; public bool IsCompleted { get; set; } public bool NodeEnterFired { get; set; } public CombatSettlementContext SettlementContext { get; set; } public string RunId { get; set; } public int RunSeed { get; set; } public int NodeId { get; set; } public RunNodeType NodeType { get; set; } public int SequenceIndex { get; set; } } }