private void Update() { if (ActQueue.Count == 0) { //敵全員の行動が終わったら if (EnemiesActCount >= GetEnemyNum()) { ActFlagInitialize(); //行動関連のフラグの初期化 } //プレイヤーがしんだら if (IsDeadPlayer) { onceRoutineDeadPlayerInterval++; if (onceRoutineDeadPlayerInterval >= 60) { if (onceRoutineDeadPlayer == false) { onceRoutineDeadPlayer = true; //プレイングバイアス neuralNetworkManager.ApplyPlayingBias(ValueDefinition.PLAYING_BIAS_GAMEOVER); soundManagerBGM.StopMusic(0); actionSaver.ApplyActionToNeuralNetwork(); parameterManager.TransPattern = 3; ActQueue.Add(FadeScene("Result")); } } } } else { onceRoutineDeadPlayerInterval = 0; } //=============================================================== //初期に実行される //フィールドデータが生成されたなら if (IsFieldCreated) { //(プレイヤーが存在しない場合)プレイヤーオブジェクトの作成 if (isCreatePlayer == false) { Player = CreatePlayer(); isCreatePlayer = true; } //(敵がが存在しない場合)敵オブジェクトの作成 if (isCreateEnemies == false) { for (int i = 0; i < GetEnemyNum(); i++) { Enemies.Add(CreateEnemy(i)); } isCreateEnemies = true; } } }
//================================================================= //カーソルの処理 private void Cursor() { if (inputInterval <= 0) { //上にカーソルを移動 if (inputManager.InputGetter("up")) { cursorPoint--; if (cursorPoint <= -1) { cursorPoint = 1; } inputInterval++; } //下にカーソルを移動 if (inputManager.InputGetter("down")) { cursorPoint++; if (cursorPoint >= 2) { cursorPoint = 0; } inputInterval++; } //カーソル位置に応じた処理 switch (cursorPoint) { case 0: cursor.GetComponent <RectTransform>().localPosition = new Vector3(-110, 40, 0); if (inputManager.InputGetter("b1")) { //プレイングバイアス neuralNetworkManager.ApplyPlayingBias(ValueDefinition.PLAYING_BIAS_NEXT_FLOOR); //ニューラルネットワークに行動を入力として適用する actionSaver.ApplyActionToNeuralNetwork(); parameterManager.TransPattern = 2; manager.ActQueue.Add(manager.FadeScene("GameMain")); } break; case 1: cursor.GetComponent <RectTransform>().localPosition = new Vector3(-110, -40, 0); //メニューを閉じる if (inputManager.InputGetter("b1")) { manager.IsOperateOptionMenu = false; frame.SetActive(false); } break; default: break; } } //メニューを閉じる if (inputManager.InputGetter("b3")) { manager.IsOperateOptionMenu = false; frame.SetActive(false); } if (inputInterval >= 1) { inputInterval++; if (inputInterval >= ValueDefinition.INPUT_INTERVAL_CHECK_STAIR_DIALOG) { inputInterval = 0; } } }