Example #1
0
    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;
            }
        }
    }
Example #2
0
    //=================================================================
    //カーソルの処理
    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;
            }
        }
    }