/// <summary> /// Start is called before the first frame update /// </summary> void Start() { popupDamageManager = new PopupTextManager(CanvasGameObject); // プレハブから Player を生成 var playerPrefab = (GameObject)Resources.Load("Prefabs/Player/BattlePlayer"); battlePlayer = Instantiate(playerPrefab, Vector3.zero, Quaternion.identity); battlePlayer.SetActive(false); var enemyPrefab = (GameObject)Resources.Load("Prefabs/Enemy/BattleEnemy"); battleEnemy = Instantiate(enemyPrefab, Vector3.zero, Quaternion.identity); battleEnemy.SetActive(false); FadeManager.Blackout(); FadeManager.FadeIn(); stateMachine = new IceMilkTea.Core.ImtStateMachine <BattleScene>(this); stateMachine.AddTransition <WaitState, BattleState>((int)StateEventId.Start); stateMachine.AddTransition <BattleState, TurnChangeState>((int)StateEventId.TurnChange); stateMachine.AddTransition <TurnChangeState, BattleState>((int)StateEventId.Battle); stateMachine.AddTransition <TurnChangeState, WinState>((int)StateEventId.Win); stateMachine.AddTransition <TurnChangeState, LoseState>((int)StateEventId.Lose); stateMachine.AddTransition <WinState, LeaveState>((int)StateEventId.Leave); stateMachine.SetStartState <WaitState>(); var playerBattlerScript = battlePlayer.GetComponent <Battler>(); var enemyBattlerScript = battleEnemy.GetComponent <Battler>(); var param = (BattleSceneParam)SceneParam; playerBattlerScript.Status = param.PlayerStatus; enemyBattlerScript.Status = Database.EnemyDatabase.GetStatus(param.EncountId); turnTypes = TurnTypes.Player; }