public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        monsterMenuManager.GetSkillActionCommandParts().gameObject.SetActive(false);

        monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderActive();

        monsterMenuManager.GetNowProcessState().state_ = MonsterMenuSceneProcess.SkillSelect;
    }
Beispiel #2
0
    public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        //入れ替え状態に変更
        monsterMenuManager.swapSelectNumber_ = monsterMenuManager.GetSkillCommandParts().SelectNumber();
        monsterMenuManager.swapActive_       = true;

        //技の画像の色の変更
        monsterMenuManager.GetSkillInfoMenuParts().GetSkillInfoMenuSprite(monsterMenuManager.swapSelectNumber_).color = new Color32(222, 255, 0, 255);

        monsterMenuManager.GetSkillActionCommandParts().gameObject.SetActive(false);

        monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderActive();

        monsterMenuManager.GetNowProcessState().state_ = MonsterMenuSceneProcess.SkillSelect;
    }
    public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        AllEventManager eventMgr = AllEventManager.GetInstance();
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();

        sceneMgr.inputProvider_ = new InactiveInputProvider();

        monsterMenuManager.GetSkillActionCommandParts().gameObject.SetActive(false);

        MonsterMenuManager.skillTradeSelectMonsterNumber_ = monsterMenuManager.selectMonsterNumber_;

        //フェードアウト
        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, 255)
            );
        eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
        eventMgr.AllUpdateEventExecute(0.4f);

        //シーンの切り替え
        BugMenuManager.SetProcessStateProvider(new BugMenuSceneMonsterMenuSkillTradeProcessStateProvider());
        eventMgr.SceneChangeEventSet(SceneState.BugMenu, SceneChangeMode.Slide);
    }
    public override MonsterMenuSceneProcess Update(MonsterMenuManager monsterMenuManager)
    {
        AllSceneManager   sceneMgr   = AllSceneManager.GetInstance();
        AllEventManager   eventMgr   = AllEventManager.GetInstance();
        PlayerTrainerData playerData = PlayerTrainerData.GetInstance();

        eventMgr.EventUpdate();

        if (MonsterMenuManager.skillTradeActive_)
        {
            MonsterMenuManager.skillTradeActive_ = false;

            sceneMgr.inputProvider_ = new KeyBoardSelectInactiveTriggerInputProvider();

            //技が設定されていたら
            if (MonsterMenuManager.skillTradeSkillData_ == null)
            {
                //フェードイン
                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);
            }
            else
            {
                monsterMenuManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
                monsterMenuManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

                //スキルの行動の選択肢の初期化
                nowSkillActionCommandExecuteStateProvider_.state_ = MonsterMenuSceneSkillActionCommandExecute.Swap;
                monsterMenuManager.GetSkillActionCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

                string context = "1..." + "\r\n\r\n"
                                 + "2の..." + "\r\n\r\n"
                                 + "ぽかん!" + "\r\n\r\n"
                                 + playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).uniqueName_ + "は \r\n"
                                 + playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()).skillName_ + "を忘れて" + "\r\n\r\n"
                                 + MonsterMenuManager.skillTradeSkillData_.skillName_ + "を 覚えた!";
                List <string> contexts = t13.Utility.ContextSlice(context, "\r\n\r\n");

                //技の反映
                playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).SkillSet(MonsterMenuManager.skillTradeSkillData_, monsterMenuManager.GetSkillCommandParts().SelectNumber());

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(PlayerTrainerData.GetInstance().GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));

                //モンスターの技の名前の反映
                for (int i = 0; i < monsterMenuManager.GetSkillCommandParts().GetCommandWindowTextsCount(); ++i)
                {
                    monsterMenuManager.GetSkillCommandParts().CommandWindowChoiceTextChange(i, " " + playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(i).skillName_);
                }

                //フェードイン
                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(monsterMenuManager.GetNovelWindowParts().GetUpdateGameObject());
                eventMgr.UpdateGameObjectsActiveSetExecute(true);

                for (int i = 0; i < contexts.Count; ++i)
                {
                    //文字列の処理
                    eventMgr.EventTextSet(monsterMenuManager.GetNovelWindowParts().GetNovelWindowEventText(), contexts[i]);
                    eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                    eventMgr.AllUpdateEventExecute(0.6f);

                    //Blinkの開始
                    eventMgr.EventSpriteRendererSet(monsterMenuManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite());
                    eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.BlinkStart);
                    eventMgr.AllUpdateEventExecute();

                    //Enterの押下待ち
                    eventMgr.EventTriggerSet();

                    //Blinkの終了
                    eventMgr.EventSpriteRendererSet(monsterMenuManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite());
                    eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.BlinkEnd);
                    eventMgr.AllUpdateEventExecute();
                }

                //ウィンドウの初期化
                eventMgr.EventTextSet(monsterMenuManager.GetNovelWindowParts().GetNovelWindowEventText(), "");
                eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
                eventMgr.AllUpdateEventExecute();

                //ウィンドウの非表示
                eventMgr.UpdateGameObjectSet(monsterMenuManager.GetNovelWindowParts().GetUpdateGameObject());
                eventMgr.UpdateGameObjectsActiveSetExecute(false);
            }

            //操作の変更
            eventMgr.InputProviderChangeEventSet(new KeyBoardNormalTriggerInputProvider());

            return(MonsterMenuSceneProcess.SkillTradeEventExecute);
        }

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

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

            nowSkillActionCommandExecuteStateProvider_.state_ = (MonsterMenuSceneSkillActionCommandExecute)monsterMenuManager.GetSkillActionCommandParts().SelectNumber() + 1;
        }
        else if (sceneMgr.inputProvider_.UpSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillActionCommandParts().CommandSelectUp(new Vector3(0, 0.55f, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().UpSelect();

                nowSkillActionCommandExecuteStateProvider_.state_ = (MonsterMenuSceneSkillActionCommandExecute)monsterMenuManager.GetSkillActionCommandParts().SelectNumber() + 1;
            }
        }
        else if (sceneMgr.inputProvider_.DownSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillActionCommandParts().CommandSelectDown(new Vector3(0, -0.55f, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().DownSelect();

                nowSkillActionCommandExecuteStateProvider_.state_ = (MonsterMenuSceneSkillActionCommandExecute)monsterMenuManager.GetSkillActionCommandParts().SelectNumber() + 1;
            }
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 monsterMenuManager.GetSkillActionCommandParts().MouseLeftButtonTriggerActive())
        {
            //SE
            monsterMenuManager.GetInputSoundProvider().SelectEnter();

            nowSkillActionCommandExecuteStateProvider_.Execute(monsterMenuManager);

            //スキルの行動の選択肢の初期化
            nowSkillActionCommandExecuteStateProvider_.state_ = MonsterMenuSceneSkillActionCommandExecute.Swap;
            monsterMenuManager.GetSkillActionCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));
        }
        else if (sceneMgr.inputProvider_.SelectBack() ||
                 sceneMgr.inputProvider_.SelectMouseRightTrigger())
        {
            monsterMenuManager.GetSkillActionCommandParts().gameObject.SetActive(false);

            //スキルの行動の選択肢の初期化
            nowSkillActionCommandExecuteStateProvider_.state_ = MonsterMenuSceneSkillActionCommandExecute.Swap;
            monsterMenuManager.GetSkillActionCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

            monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderActive();

            return(MonsterMenuSceneProcess.SkillSelect);
        }

        return(monsterMenuManager.GetNowProcessState().state_);
    }
    public override MonsterMenuSceneProcess Update(MonsterMenuManager monsterMenuManager)
    {
        AllSceneManager   sceneMgr   = AllSceneManager.GetInstance();
        AllEventManager   eventMgr   = AllEventManager.GetInstance();
        PlayerTrainerData playerData = PlayerTrainerData.GetInstance();

        eventMgr.EventUpdate();

        //カーソルが動いていたら
        int commandSelectNumber = monsterMenuManager.GetSkillCommandParts().CommandSelectForNumber(new Vector3(6.08f, 0, 0), new Vector3(0, 1.72f, 0));

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

            //技の情報の反映
            monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));
        }
        else if (sceneMgr.inputProvider_.UpSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillCommandParts().CommandSelectUp(new Vector3(0, 1.72f, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().UpSelect();

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));
            }
        }
        else if (sceneMgr.inputProvider_.DownSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillCommandParts().CommandSelectDown(new Vector3(0, -1.72f, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().DownSelect();

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));
            }
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillCommandParts().CommandSelectRight(new Vector3(6.08f, 0, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().RightSelect();

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));
            }
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
            //選択肢が動かせたら
            if (monsterMenuManager.GetSkillCommandParts().CommandSelectLeft(new Vector3(-6.08f, 0, 0)))
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().LeftSelect();

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));
            }
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 monsterMenuManager.GetSkillCommandParts().MouseLeftButtonTriggerActive())
        {
            //None以外だったら
            if (playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()).skillNumber_ != (int)SkillDataNumber.None)
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().SelectEnter();

                //スワップ中
                if (monsterMenuManager.swapActive_)
                {
                    //スワップ選択中のモンスターと選択中のモンスターが一緒ではなかったら
                    if (monsterMenuManager.swapSelectNumber_ != monsterMenuManager.GetSkillCommandParts().SelectNumber())
                    {
                        //スワップ処理
                        playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).SkillSwap(monsterMenuManager.GetSkillCommandParts().SelectNumber(), monsterMenuManager.swapSelectNumber_);

                        //技の情報の反映
                        monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(PlayerTrainerData.GetInstance().GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(monsterMenuManager.GetSkillCommandParts().SelectNumber()));

                        //モンスターの技の名前の反映
                        for (int i = 0; i < monsterMenuManager.GetSkillCommandParts().GetCommandWindowTextsCount(); ++i)
                        {
                            monsterMenuManager.GetSkillCommandParts().CommandWindowChoiceTextChange(i, " " + playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(i).skillName_);
                        }
                    }

                    monsterMenuManager.swapActive_ = false;

                    //技の画像の色の変更
                    monsterMenuManager.GetSkillInfoMenuParts().GetSkillInfoMenuSprite(monsterMenuManager.swapSelectNumber_).color = new Color32(255, 255, 255, 255);
                }
                else
                {
                    monsterMenuManager.GetSkillActionCommandParts().gameObject.SetActive(true);

                    monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderInactive();

                    return(MonsterMenuSceneProcess.SkillActionSelect);
                }
            }
        }
        else if (sceneMgr.inputProvider_.SelectBack() ||
                 sceneMgr.inputProvider_.SelectMouseRightTrigger())
        {
            //スワップ中じゃなかったら
            if (!monsterMenuManager.swapActive_)
            {
                monsterMenuManager.GetSkillCommandParts().GetCursorParts().gameObject.SetActive(false);
                monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderInactive();

                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReset();

                //操作の変更
                AllSceneManager.GetInstance().inputProvider_ = new KeyBoardNormalInputProvider();

                //技の選択肢の初期化
                monsterMenuManager.GetSkillCommandParts().SelectReset(new Vector3(-5.29f, 0.82f, 2));

                return(MonsterMenuSceneProcess.MonsterSelect);
            }
        }

        return(monsterMenuManager.GetNowProcessState().state_);
    }