/// <summary> /// 現在の状態に合った行動をする 毎ループ呼び出す ここでゲームオーバー判定を行う /// </summary> public void Run_Action() { // プレイヤーのステータス関係のクラス 死亡判定に使用 Player_Status player_status = Player_Manager.Instance.player_status; Debug.Log(player.player_state); Debug.Log(player.player_mode); Debug.Log(player.direction); Debug.Log("player_feet = " + player.Feet); switch (player.player_state) { case ePlayer_State.Move: player_move.Action_Move(); break; case ePlayer_State.Attack: player_attack.Action_Attack(); break; case ePlayer_State.On_Stair: action_stair.Action_Stair(); break; case ePlayer_State.Decide_Command: var decide_dungeon = new Decide_Dungeon(); decide_dungeon.In_Decide(); break; case ePlayer_State.Battle_Menu: Action_Battle_Menu(); break; case ePlayer_State.Game_Over: SceneManager.LoadScene("Result"); Enemy_Manager.Instance.enemies.Clear(); break; } if (player.Feet == Define_Value.ENTRANCE_LAYER_NUMBER) { player_status.Where_Floor((int)player.position.x, (int)player.position.y); } // プレイヤーが生きていたら死亡判定をする if (player.Exist == true) { // 体力が 0 以下ならゲームオーバー処理に切り替える if (player.player_state != ePlayer_State.Game_Over && player_status.Is_Dead(player_status.hit_point.Value)) { Set_Action(ePlayer_State.Game_Over); } } }