using System; namespace YachtDice.Run { [Serializable] public sealed class RunState { public int BaseQuota; public int BetIndex; public int StageIndex; public int CurrentStageGoal; public int CurrentStageTarget; public int CurrentRoll; public int CurrentStageRollBudget; public int StoredRolls; public bool IsActive; public bool IsFailed; public bool IsShopUnlocked; public bool IsShopAvailable; public bool HasRolledThisStage; public RunPhase Phase; public int StageNumber => StageIndex + 1; public bool IsInShop => Phase == RunPhase.Shop; public bool IsCategorySelection => Phase == RunPhase.CategorySelection; public bool IsRollingState => Phase == RunPhase.StageStart || Phase == RunPhase.Rolling || Phase == RunPhase.CategorySelection; } }