public override IProcessState Execute(BattleManager battleManager)
    {
        //SE
        battleManager.GetInputSoundProvider().SelectEnter();

        battleManager.InactiveUiMonsterTradeSelectCommand();
        battleManager.ActiveUiCommand();

        return(battleManager.nowProcessState().NextProcess());
    }
    public IProcessState Update(BattleManager mgr)
    {
        AllEventManager eventMgr = AllEventManager.GetInstance();
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();

        //敵の思考時間の処理
        EnemyBattleData.GetInstance().ThinkingTimeCounter();

        //モンスターが交換されていたら
        if (PlayerBattleData.GetInstance().changeMonsterActive_)
        {
            executeProvider_.state_ = BattleSceneCommandExecuteState.Attack;

            //モンスターが変更されていたら
            if (PlayerBattleData.GetInstance().changeMonsterNumber_ > 0)
            {
                //アイドル状態の停止
                mgr.GetPlayerStatusInfoParts().ProcessIdleEnd();
                mgr.GetPlayerMonsterParts().ProcessIdleEnd();

                //ウィンドウの表示
                mgr.GetNovelWindowParts().gameObject.SetActive(true);

                //フェードイン
                eventMgr.EventSpriteRendererSet(
                    sceneMgr.GetPublicFrontScreen().GetEventScreenSprite()
                    , null
                    , new Color(sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 0)
                    );
                eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
                eventMgr.AllUpdateEventExecute(0.4f);

                //イベントの最後
                eventMgr.EventFinishSet();

                return(new EnemyCommandSelectProcess());
            }
            else
            {
                mgr.ActiveUiCommand();
                mgr.InactiveUiCommand();

                //フェードイン
                eventMgr.EventSpriteRendererSet(
                    sceneMgr.GetPublicFrontScreen().GetEventScreenSprite()
                    , null
                    , new Color(sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 0)
                    );
                eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
                eventMgr.AllUpdateEventExecute(0.4f);

                eventMgr.UpdateGameObjectSet(mgr.GetCommandCommandParts().GetEventGameObject());
                eventMgr.UpdateGameObjectsActiveSetExecute(true);

                //dpが100以上だったら
                //if (PlayerBattleData.GetInstance().GetDreamPoint() >= 100) {
                //	eventMgr.EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText()
                //		, "ゆめたちが \n"
                //		+ "きょうめいしている・・・");
                //	eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                //	eventMgr.AllUpdateEventExecute();
                //}
                //else {
                //	eventMgr.EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), PlayerBattleData.GetInstance().GetMonsterDatas(0).uniqueName_ + "は どうする?");
                //	eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                //	eventMgr.AllUpdateEventExecute();
                //}

                eventMgr.EventStatusInfoPartsSet(mgr.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0));
                eventMgr.StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveStart);
                eventMgr.AllUpdateEventExecute();

                //イベントの最後
                eventMgr.EventFinishSet();

                PlayerBattleData.GetInstance().changeMonsterActive_ = false;
            }
        }

        //やけどのダメージ処理
        if (mgr.BurnsDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()))
        {
            return(new CommandEventExecuteProcess());
        }

        if (EnemyBattleData.GetInstance().GetThinkingEnd() == false)
        {
            //やけどのダメージ処理
            if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()))
            {
                return(new CommandEventExecuteProcess());
            }

            if (EnemyBattleData.GetInstance().PoinsonCounter())
            {
                //どくのダメージ処理
                mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts());
                if (mgr.PoisonDamageDown())
                {
                    return(new CommandEventExecuteProcess());
                }
            }
        }

        if (AllEventManager.GetInstance().EventUpdate())
        {
            sceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider();
        }

        //カーソルが動いていたら
        int commandSelectNumber = mgr.GetCommandCommandParts().CommandSelectForNumber(new Vector3(), new Vector3(0, 1.32f, 0));

        if (commandSelectNumber > -1)
        {
            //SE
            mgr.GetInputSoundProvider().UpSelect();

            executeProvider_.state_ = (BattleSceneCommandExecuteState)mgr.GetCommandCommandParts().SelectNumber() + 1;

            //どくのダメージ処理
            mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
        }
        else if (sceneMgr.inputProvider_.UpSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetCommandCommandParts().CommandSelectUp(new Vector3(0, 1.33f, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().UpSelect();

                executeProvider_.state_ = (BattleSceneCommandExecuteState)mgr.GetCommandCommandParts().SelectNumber() + 1;

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (sceneMgr.inputProvider_.DownSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetCommandCommandParts().CommandSelectDown(new Vector3(0, -1.33f, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().DownSelect();

                executeProvider_.state_ = (BattleSceneCommandExecuteState)mgr.GetCommandCommandParts().SelectNumber() + 1;

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 mgr.GetCommandCommandParts().MouseLeftButtonTriggerActive())
        {
            return(executeProvider_.Execute(mgr));
        }
        else if (sceneMgr.inputProvider_.SelectNovelWindowActive())
        {
            mgr.GetNovelWindowPartsActiveState().state_ = mgr.GetNovelWindowPartsActiveState().Next(mgr);
        }

        //どくで倒れたら
        if (mgr.PoisonDamageDown())
        {
            return(new CommandEventExecuteProcess());
        }

        return(this);
    }
Esempio n. 3
0
    //倒れた時の処理
    public override void MonsterDownEventSet(BattleManager manager)
    {
        battleActiveMonsterSize_ -= 1;

        //dreamPoint_ += 45;

        //戦闘のモンスターをダウンさせる
        monsterDatas_[0].battleActive_ = false;

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(1.0f);

        //エネミーの画像の非表示
        AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyMonsterParts().GetEventGameObject());
        AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(false);

        //SE
        AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterDown()));

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        ////DPの演出のイベント
        //manager.StatusInfoPartsDPEffectEventSet(this, manager.GetEnemyStatusInfoParts());
        //
        ////ウェイト
        //AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        //エネミーのステータスインフォの退場
        AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyStatusInfoParts().GetEventGameObject(), new Vector3(-13.5f, manager.GetEnemyStatusInfoParts().transform.position.y, manager.GetEnemyStatusInfoParts().transform.position.z));
        AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove);
        AllEventManager.GetInstance().AllUpdateEventExecute(0.2f);

        //文字列の処理
        AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), "あいての " + monsterDatas_[0].uniqueName_ + "は たおれた!");
        AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime());

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        if (battleActiveMonsterSize_ == 0)
        {
            //DPゲージの登場
            AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerDreamPointInfoParts().GetUpdateGameObject());
            AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyDreamPointInfoParts().GetUpdateGameObject());
            AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true);

            //BGMの再生
            AllEventManager.GetInstance().BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Win()));
            AllEventManager.GetInstance().BGMAudioPlayEventSet();

            //文字列の処理
            AllEventManager.GetInstance().EventTextSet(
                manager.GetNovelWindowParts().GetNovelWindowEventText()
                , EnemyTrainerData.GetInstance().GetJob() + "の " + EnemyTrainerData.GetInstance().GetName() + "\n"
                + "との しょうぶに かった!");
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime());

            //ウェイト
            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2);

            //エネミーの入場
            AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyParts().GetEventGameObject(), new Vector3(3.5f, manager.GetEnemyParts().transform.position.y, manager.GetEnemyParts().transform.position.z));
            AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove);
            AllEventManager.GetInstance().AllUpdateEventExecute(1.5f);

            //ウェイト
            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2);

            //フェードアウト
            AllEventManager.GetInstance().EventSpriteRendererSet(
                AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite()
                , null
                , new Color(AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 255)
                );
            AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
            AllEventManager.GetInstance().AllUpdateEventExecute(2.0f);

            //シーンの切り替え
            AllEventManager.GetInstance().SceneChangeEventSet(SceneState.Map, SceneChangeMode.Continue);

            //勝ちの設定
            PlayerTrainerData.GetInstance().battleEnd_    = true;
            PlayerTrainerData.GetInstance().battleResult_ = true;

            //データの初期化
            PlayerBattleData.ReleaseInstance();
            EnemyTrainerData.ReleaseInstance();
            EnemyBattleData.ReleaseInstance();

            return;
        }

        //タイプ相性の測定
        int[] typeSimillarResult = new int[3] {
            0, 0, 0
        };
        int[] monsterNumbers = new int[3] {
            0, 1, 2
        };


        for (int i = 0; i < monsterDatas_.Length; ++i)
        {
            //戦えたら
            if (monsterDatas_[i].battleActive_ &&
                monsterDatas_[i].tribesData_.monsterNumber_ != 0)
            {
                {
                    int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(monsterDatas_[i].tribesData_.firstElement_);

                    typeSimillarResult[i] += simillarResult;
                }
                {
                    int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(monsterDatas_[i].tribesData_.secondElement_);

                    typeSimillarResult[i] += simillarResult;
                }
            }
        }

        t13.Utility.SimpleHiSort2Index(typeSimillarResult, monsterNumbers);

        //モンスターデータの入れ替え
        IMonsterData temp = monsterDatas_[0];

        monsterDatas_[0] = monsterDatas_[monsterNumbers[0]];
        monsterDatas_[monsterNumbers[0]] = temp;

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(1.0f);

        //文字列の処理
        AllEventManager.GetInstance().EventTextSet(
            manager.GetNovelWindowParts().GetNovelWindowEventText(), EnemyTrainerData.GetInstance().GetName() + "は\n"
            + monsterDatas_[0].uniqueName_ + "を くりだした!"
            );
        AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime());

        //SE
        AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterSet()));

        //モンスターの登場演出
        {
            Sprite[]      sprites      = ResourcesGraphicsLoader.GetInstance().GetGraphicsAll("BattleScene/MonsterSetEffect");
            List <Sprite> animeSprites = new List <Sprite>();
            for (int i = 0; i < sprites.Length; ++i)
            {
                animeSprites.Add(sprites[i]);
            }
            AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyEffectParts().GetEventSpriteRenderer(), animeSprites);
            AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.Anime);
            AllEventManager.GetInstance().AllUpdateEventExecute(0.35f);
        }

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() / 2);

        //画像の設定
        if (monsterDatas_[0].battleData_.HaveAbnormalType(AbnormalType.Hero))
        {
            List <Sprite> sprites = new List <Sprite>();
            sprites.Add(monsterDatas_[0].tribesData_.frontDreamTex_);

            AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyMonsterParts().GetEventMonsterSprite(), sprites, new Color32());
            AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet);
            AllEventManager.GetInstance().AllUpdateEventExecute();
        }
        else
        {
            List <Sprite> sprites = new List <Sprite>();
            sprites.Add(monsterDatas_[0].tribesData_.frontTex_);

            AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyMonsterParts().GetEventMonsterSprite(), sprites, new Color32());
            AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet);
            AllEventManager.GetInstance().AllUpdateEventExecute();
        }

        //ステータスインフォへの反映
        manager.GetEnemyStatusInfoParts().MonsterStatusInfoSetEventSet(monsterDatas_[0]);

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        //エネミーの表示
        AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyMonsterParts().GetEventGameObject());
        AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true);

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        //エネミーのステータスインフォの入場
        AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyStatusInfoParts().GetEventGameObject(), new Vector3(-3.5f, manager.GetEnemyStatusInfoParts().transform.position.y, manager.GetEnemyStatusInfoParts().transform.position.z));
        AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove);
        AllEventManager.GetInstance().AllUpdateEventExecute(0.2f);

        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        manager.ActiveUiCommand();
        manager.InactiveUiCommand();
    }
    //交換処理
    public override void MonsterChangeEventSet(BattleManager manager)
    {
        AllSceneManager allSceneMgr = AllSceneManager.GetInstance();

        //モンスターの変更が行われていたら
        if (changeMonsterNumber_ > 0)
        {
            IMonsterData md = monsterDatas_[changeMonsterNumber_];

            manager.playerSelectSkillNumber_ = changeMonsterSkillNumber_;

            //先頭のパラメーターをリセット
            monsterDatas_[0].battleData_.RankReset();

            AllEventManager.GetInstance().EventStatusInfoPartsSet(manager.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0));
            AllEventManager.GetInstance().StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveEnd);
            AllEventManager.GetInstance().AllUpdateEventExecute();

            //先頭がダウンしていなかったら
            if (monsterDatas_[0].battleActive_ == true)
            {
                AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), monsterDatas_[0].uniqueName_ + "\n"
                                                           + "もどれ!");
                AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime());

                AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

                AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerMonsterParts().GetEventGameObject());
                AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(false);

                AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

                AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerStatusInfoParts().GetEventGameObject(), new Vector3(-13.5f, manager.GetPlayerStatusInfoParts().transform.position.y, manager.GetPlayerStatusInfoParts().transform.position.z));
                AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove);
                AllEventManager.GetInstance().AllUpdateEventExecute(0.2f);
            }

            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

            AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), "ゆけ! " + md.uniqueName_ + "!");
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime());

            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

            //SE
            AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterSet()));

            //モンスターの登場演出
            {
                Sprite[]      sprites      = ResourcesGraphicsLoader.GetInstance().GetGraphicsAll("BattleScene/MonsterSetEffect");
                List <Sprite> animeSprites = new List <Sprite>();
                for (int i = 0; i < sprites.Length; ++i)
                {
                    animeSprites.Add(sprites[i]);
                }
                AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerEffectParts().GetEventSpriteRenderer(), animeSprites);
                AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.Anime);
                AllEventManager.GetInstance().AllUpdateEventExecute(0.35f);
            }

            //ウェイト
            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() / 2);

            //画像の設定
            if (md.battleData_.HaveAbnormalType(AbnormalType.Hero))
            {
                List <Sprite> sprites = new List <Sprite>();
                sprites.Add(md.tribesData_.backDreamTex_);

                AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerMonsterParts().GetEventMonsterSprite(), sprites, new Color32());
                AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet);
                AllEventManager.GetInstance().AllUpdateEventExecute();
            }
            else
            {
                List <Sprite> sprites = new List <Sprite>();
                sprites.Add(md.tribesData_.backTex_);

                AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerMonsterParts().GetEventMonsterSprite(), sprites, new Color32());
                AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet);
                AllEventManager.GetInstance().AllUpdateEventExecute();
            }

            //ステータスインフォへの反映
            manager.GetPlayerStatusInfoParts().MonsterStatusInfoSetEventSet(md);

            //攻撃技の反映
            manager.GetAttackCommandParts().MonsterDataReflect(md, EnemyBattleData.GetInstance().GetMonsterDatas(0));

            //ねむりの終了処理
            manager.SleepProcessEnd();

            IMonsterData temp = monsterDatas_[0];
            monsterDatas_[0] = monsterDatas_[changeMonsterNumber_];
            monsterDatas_[changeMonsterNumber_] = temp;

            //ねむりの開始処理
            manager.SleepProcessStart();
            manager.SleepUseStart(this);

            AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerMonsterParts().GetEventGameObject());
            AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true);

            AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

            AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerStatusInfoParts().GetEventGameObject(), new Vector3(-6.12f, manager.GetPlayerStatusInfoParts().transform.position.y, manager.GetPlayerStatusInfoParts().transform.position.z));
            AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove);
            AllEventManager.GetInstance().AllUpdateEventExecute(0.2f);
        }

        AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime());

        manager.ActiveUiCommand();
        manager.InactiveUiCommand();

        allSceneMgr.inputProvider_ = new InactiveInputProvider();

        changeMonsterNumber_      = 0;
        changeMonsterSkillNumber_ = 0;
    }
    public IProcessState Update(BattleManager mgr)
    {
        AllSceneManager allSceneMgr = AllSceneManager.GetInstance();

        //敵の思考時間の処理
        EnemyBattleData.GetInstance().ThinkingTimeCounter();

        //モンスターが交換されていたら
        if (PlayerBattleData.GetInstance().changeMonsterActive_ == true)
        {
            if (PlayerBattleData.GetInstance().changeMonsterNumber_ > 0)
            {
                //アイドル状態の停止
                mgr.GetPlayerStatusInfoParts().ProcessIdleEnd();
                mgr.GetPlayerMonsterParts().ProcessIdleEnd();

                //ウィンドウの表示
                mgr.GetNovelWindowParts().gameObject.SetActive(true);

                //イベントの最後
                AllEventManager.GetInstance().EventFinishSet();

                return(new EnemyCommandSelectProcess());
            }
            else
            {
                allSceneMgr.inputProvider_ = new InactiveInputProvider();

                AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime());

                AllEventManager.GetInstance().UpdateGameObjectSet(mgr.GetCommandCommandParts().GetEventGameObject());
                AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true);

                //dpが100以上だったら
                //if (PlayerBattleData.GetInstance().GetDreamPoint() >= 100) {
                //	AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText()
                //		, "ゆめたちが \n"
                //		+ "きょうめいしている・・・");
                //	AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                //	AllEventManager.GetInstance().AllUpdateEventExecute();
                //}
                //else {
                //	AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), PlayerBattleData.GetInstance().GetMonsterDatas(0).uniqueName_ + "は どうする?");
                //	AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                //	AllEventManager.GetInstance().AllUpdateEventExecute();
                //}

                AllEventManager.GetInstance().EventStatusInfoPartsSet(mgr.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0));
                AllEventManager.GetInstance().StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveStart);
                AllEventManager.GetInstance().AllUpdateEventExecute();

                AllEventManager.GetInstance().EventFinishSet();

                PlayerBattleData.GetInstance().changeMonsterActive_ = false;
            }
        }

        //やけどのダメージ処理
        if (mgr.BurnsDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()))
        {
            return(new CommandEventExecuteProcess());
        }

        if (EnemyBattleData.GetInstance().GetThinkingEnd() == false)
        {
            //やけどのダメージ処理
            if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()))
            {
                return(new CommandEventExecuteProcess());
            }

            if (EnemyBattleData.GetInstance().PoinsonCounter())
            {
                //どくのダメージ処理
                mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts());
                if (mgr.PoisonDamageDown())
                {
                    return(new CommandEventExecuteProcess());
                }
            }
        }

        //こんらんの処理
        mgr.ConfusionProcess();

        if (AllEventManager.GetInstance().EventUpdate())
        {
            allSceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider();
        }

        //カーソルが動いていたら
        int commandSelectNumber = mgr.GetAttackCommandParts().GetCommandParts().CommandSelectForNumber(new Vector3(3.56f, 0, 0), new Vector3(0, 1.42f, 0));

        if (commandSelectNumber > -1)
        {
            //SE
            mgr.GetInputSoundProvider().UpSelect();

            mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber());

            //どくのダメージ処理
            mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
        }
        else if (allSceneMgr.inputProvider_.UpSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectUp(new Vector3(0, 1.42f, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().UpSelect();

                mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber());

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (allSceneMgr.inputProvider_.DownSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectDown(new Vector3(0, -1.42f, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().DownSelect();

                mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber());

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (allSceneMgr.inputProvider_.RightSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectRight(new Vector3(3.56f, 0, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().RightSelect();

                mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber());

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (allSceneMgr.inputProvider_.LeftSelect())
        {
            //選択肢が動かせたら
            if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectLeft(new Vector3(-3.56f, 0, 0)))
            {
                //SE
                mgr.GetInputSoundProvider().LeftSelect();

                mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber());

                //どくのダメージ処理
                mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts());
            }
        }
        else if (allSceneMgr.inputProvider_.SelectEnter() ||
                 mgr.GetAttackCommandParts().GetCommandParts().MouseLeftButtonTriggerActive())
        {
            mgr.playerSelectSkillNumber_ = mgr.GetAttackCommandParts().GetCommandParts().SelectNumber();

            ISkillData playerSkillData = PlayerBattleData.GetInstance().GetMonsterDatas(0).GetSkillDatas(mgr.playerSelectSkillNumber_);

            //スキルがNoneでなかったら
            if (            //playerSkillData.nowPlayPoint_ > 0
                playerSkillData.skillNumber_ != (int)SkillDataNumber.None)
            {
                //SE
                mgr.GetInputSoundProvider().SelectEnter();

                mgr.GetPlayerStatusInfoParts().ProcessIdleEnd();
                mgr.GetPlayerMonsterParts().ProcessIdleEnd();

                allSceneMgr.inputProvider_ = new InactiveInputProvider();

                //コマンドUIの非表示
                mgr.InactiveUiAttackCommand();

                //ウィンドウの表示
                mgr.GetNovelWindowParts().gameObject.SetActive(true);

                //ppの消費
                //playerSkillData.nowPlayPoint_ -= 1;

                //イベントの最後
                AllEventManager.GetInstance().EventFinishSet();

                return(mgr.nowProcessState().NextProcess());
            }
        }
        else if (allSceneMgr.inputProvider_.SelectBack() ||
                 allSceneMgr.inputProvider_.SelectMouseRightTrigger())
        {
            //こんらん状態なら
            if (PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.firstAbnormalState_.state_ == AbnormalType.Confusion ||
                PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.secondAbnormalState_.state_ == AbnormalType.Confusion)
            {
                allSceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider();
            }

            mgr.InactiveUiAttackCommand();
            mgr.ActiveUiCommand();

            return(mgr.nowProcessState().BackProcess());
        }
        else if (allSceneMgr.inputProvider_.SelectNovelWindowActive())
        {
        }

        //どくで倒れたら
        if (mgr.PoisonDamageDown())
        {
            return(new CommandEventExecuteProcess());
        }

        return(this);
    }