예제 #1
0
    public void SceneStart()
    {
        AllEventManager eventMgr = AllEventManager.GetInstance();
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();

        //依存性注入
        processProvider_           = startProcessStateProvider_;
        processProvider_.state_    = BugMenuSceneProcess.SkillSelect;
        inputSoundProvider_.state_ = BugMenuSceneInputSoundState.Normal;

        //文字の初期化
        for (int i = 0; i < commandParts_.GetCommandWindowTextsCount(); ++i)
        {
            commandParts_.CommandWindowChoiceTextChange(i, "ーー");
        }

        //アップカーソルの初期化
        upCursor_.gameObject.SetActive(false);

        //選択肢の初期化
        commandParts_.SelectReset(new Vector3(-7.7f, 1.23f, -1));
        commandParts_.commandWindowChoicesColliderInactive();

        //初期化
        processProvider_.init(this);

        //フェードイン
        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.InputProviderChangeEventSet(new KeyBoardNormalTriggerInputProvider());
    }
    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_);
    }
예제 #3
0
    public override MonsterMenuSceneProcess Update(MonsterMenuManager monsterMenuManager)
    {
        AllSceneManager   sceneMgr   = AllSceneManager.GetInstance();
        AllEventManager   eventMgr   = AllEventManager.GetInstance();
        PlayerTrainerData playerData = PlayerTrainerData.GetInstance();

        eventMgr.EventUpdate();

        if (sceneMgr.inputProvider_.UpSelect() ||
            sceneMgr.inputProvider_.MouseWheelValue() > 0)
        {
            //SE
            monsterMenuManager.GetInputSoundProvider().UpSelect();

            monsterMenuManager.GetMagazineParts().UpRollMagazineParts();

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

            monsterMenuManager.GetBulletParts().UpRollStatusInfoParts();

            monsterMenuManager.selectMonsterNumber_ += 1;
            monsterMenuManager.selectMonsterNumber_ %= playerData.GetMonsterDatasLength();

            //モンスターのパラメーターの反映
            monsterMenuManager.GetParameterInfoFrameParts().MonsterDataReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));

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

            //最後のステータスインフォパーツに反映
            int referMonsterNumber = (monsterMenuManager.selectMonsterNumber_ + 2) % playerData.GetMonsterDatasLength();
            if (monsterMenuManager.swapActive_ && referMonsterNumber == monsterMenuManager.swapSelectNumber_)
            {
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetBaseParts().GetBaseSprite().color = new Color32(222, 255, 0, 0);
            }
            else
            {
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetBaseParts().GetBaseSprite().color = new Color32(255, 255, 255, 0);
            }

            //状態異常の表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetFirstAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetSecondAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);

            //タイプの表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetFirstElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetSecondElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetFirstElementInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetSecondElementInfoParts().gameObject.SetActive(false);

            sceneMgr.inputProvider_ = new InactiveInputProvider();
        }
        else if (sceneMgr.inputProvider_.DownSelect() ||
                 sceneMgr.inputProvider_.MouseWheelValue() < 0)
        {
            //SE
            monsterMenuManager.GetInputSoundProvider().DownSelect();

            monsterMenuManager.GetMagazineParts().DownRollMagazineParts();

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

            monsterMenuManager.GetBulletParts().DownRollStatusInfoParts();

            monsterMenuManager.selectMonsterNumber_ -= 1;
            monsterMenuManager.selectMonsterNumber_  = System.Math.Abs((monsterMenuManager.selectMonsterNumber_ + playerData.GetMonsterDatasLength()) % playerData.GetMonsterDatasLength());

            //モンスターのパラメーターの反映
            monsterMenuManager.GetParameterInfoFrameParts().MonsterDataReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));

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

            //最後のステータスインフォパーツに反映
            int referMonsterNumber = System.Math.Abs(((monsterMenuManager.selectMonsterNumber_ - 2) + playerData.GetMonsterDatasLength()) % playerData.GetMonsterDatasLength());
            if (monsterMenuManager.swapActive_ && referMonsterNumber == monsterMenuManager.swapSelectNumber_)
            {
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetBaseParts().GetBaseSprite().color = new Color32(222, 255, 0, 0);
            }
            else
            {
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));
                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetBaseParts().GetBaseSprite().color = new Color32(255, 255, 255, 0);
            }

            //状態異常の表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetFirstAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetSecondAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);

            //タイプの表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetFirstElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetSecondElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetFirstElementInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetSecondElementInfoParts().gameObject.SetActive(false);

            sceneMgr.inputProvider_ = new InactiveInputProvider();
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 sceneMgr.inputProvider_.SelectMouseLeftTrigger())
        {
            //None以外だったら
            if (playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).tribesData_.monsterNumber_ != (int)MonsterTribesDataNumber.None)
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().SelectEnter();

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

                        //ステータスインフォへの反映
                        for (int i = 0; i < (monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() / 2) + 1; ++i)
                        {
                            if (i == 0)
                            {
                                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(i + 2).MonsterStatusInfoSet(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));
                            }
                            else
                            {
                                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(i + 2).MonsterStatusInfoSet(playerData.GetMonsterDatas((monsterMenuManager.selectMonsterNumber_ + i) % playerData.GetMonsterDatasLength()));
                                monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(-i + 2).MonsterStatusInfoSet(playerData.GetMonsterDatas(System.Math.Abs((monsterMenuManager.selectMonsterNumber_ - i + playerData.GetMonsterDatasLength()) % playerData.GetMonsterDatasLength())));
                            }
                        }

                        //MagazinePartsのSDの画像の変更
                        for (int i = 0; i < monsterMenuManager.GetMagazineParts().GetMonsterSDsPartsCount(); ++i)
                        {
                            monsterMenuManager.GetMagazineParts().GetMonsterSDsParts(i).GetMonsterSDEventSpriteRenderer().GetSpriteRenderer().sprite = playerData.GetMonsterDatas(i).tribesData_.SDTex_;
                        }

                        //モンスターのパラメーターの反映
                        monsterMenuManager.GetParameterInfoFrameParts().MonsterDataReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));

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

                    monsterMenuManager.swapActive_ = false;

                    //バレットの色の変更
                    for (int i = 0; i < monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize(); ++i)
                    {
                        monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(i).GetBaseParts().GetBaseSprite().color = new Color(1.0f, 1.0f, 1.0f, monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(i).GetBaseParts().GetBaseSprite().color.a);
                    }
                }
                else
                {
                    monsterMenuManager.GetMonsterActionCommandParts().gameObject.SetActive(true);

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

                    return(MonsterMenuSceneProcess.MonsterActionSelect);
                }
            }
        }
        else if (sceneMgr.inputProvider_.SelectBack() ||
                 sceneMgr.inputProvider_.SelectMouseRightTrigger())
        {
            //スワップ中じゃなかったら
            if (!monsterMenuManager.swapActive_)
            {
                sceneMgr.inputProvider_ = new InactiveInputProvider();

                //フェードアウト
                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);

                //シーンの切り替え
                if (playerData.prepareContinue_)
                {
                    playerData.prepareContinue_ = false;
                    eventMgr.SceneChangeEventSet(SceneState.GameContinue, SceneChangeMode.Continue);
                }
                else
                {
                    eventMgr.SceneChangeEventSet(SceneState.Map, SceneChangeMode.Change);
                }
            }
        }

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

        eventMgr.EventUpdate();

        if (sceneMgr.inputProvider_.UpSelect() ||
            sceneMgr.inputProvider_.MouseWheelValue() > 0)
        {
            //SE
            monsterMenuManager.GetInputSoundProvider().UpSelect();

            monsterMenuManager.GetMagazineParts().UpRollMagazineParts();

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

            monsterMenuManager.GetBulletParts().UpRollStatusInfoParts();

            monsterMenuManager.selectMonsterNumber_ += 1;
            monsterMenuManager.selectMonsterNumber_ %= playerData.GetMonsterDatasLength();

            //モンスターのパラメーターの反映
            monsterMenuManager.GetParameterInfoFrameParts().MonsterDataReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));

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

            //最後のステータスインフォパーツに反映
            int referMonsterNumber = (monsterMenuManager.selectMonsterNumber_ + 2) % playerData.GetMonsterDatasLength();
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));

            //状態異常の表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetFirstAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetSecondAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);

            //タイプの表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetFirstElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 2).GetSecondElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetFirstElementInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).GetSecondElementInfoParts().gameObject.SetActive(false);

            sceneMgr.inputProvider_ = new InactiveInputProvider();
        }
        else if (sceneMgr.inputProvider_.DownSelect() ||
                 sceneMgr.inputProvider_.MouseWheelValue() < 0)
        {
            //SE
            monsterMenuManager.GetInputSoundProvider().DownSelect();

            monsterMenuManager.GetMagazineParts().DownRollMagazineParts();

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

            monsterMenuManager.GetBulletParts().DownRollStatusInfoParts();

            monsterMenuManager.selectMonsterNumber_ -= 1;
            monsterMenuManager.selectMonsterNumber_  = System.Math.Abs((monsterMenuManager.selectMonsterNumber_ + playerData.GetMonsterDatasLength()) % playerData.GetMonsterDatasLength());

            //モンスターのパラメーターの反映
            monsterMenuManager.GetParameterInfoFrameParts().MonsterDataReflect(playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_));

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

            //最初のステータスインフォパーツに反映
            int referMonsterNumber = System.Math.Abs(((monsterMenuManager.selectMonsterNumber_ - 2) + playerData.GetMonsterDatasLength()) % playerData.GetMonsterDatasLength());
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(0).MonsterStatusInfoSet(playerData.GetMonsterDatas(referMonsterNumber));

            //状態異常の表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetFirstAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetSecondAbnormalStateInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);

            //タイプの表示、非表示
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetFirstElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(1).GetSecondElementInfoParts().gameObject.SetActive(true);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetFirstElementInfoParts().gameObject.SetActive(false);
            monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(monsterMenuManager.GetBulletParts().GetEventStatusInfosPartsSize() - 1).GetSecondElementInfoParts().gameObject.SetActive(false);

            sceneMgr.inputProvider_ = new InactiveInputProvider();
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 sceneMgr.inputProvider_.SelectMouseLeftTrigger())
        {
            //None以外だったら
            if (playerData.GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).tribesData_.monsterNumber_ != (int)MonsterTribesDataNumber.None)
            {
                //SE
                monsterMenuManager.GetInputSoundProvider().SelectEnter();

                //技の情報の反映
                monsterMenuManager.GetSkillInfoFrameParts().SkillInfoReflect(PlayerBattleData.GetInstance().GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).GetSkillDatas(0));

                //技の選択肢の初期化
                monsterMenuManager.GetSkillCommandParts().commandWindowChoicesColliderActive();

                monsterMenuManager.GetSkillCommandParts().GetCursorParts().gameObject.SetActive(true);

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

                return(MonsterMenuSceneProcess.SkillSelect);
            }
        }
        else if (sceneMgr.inputProvider_.SelectBack() ||
                 sceneMgr.inputProvider_.SelectMouseRightTrigger())
        {
            if (playerData.GetMonsterDatas(0).battleActive_)
            {
                sceneMgr.inputProvider_ = new InactiveInputProvider();

                playerData.changeMonsterNumber_ = 0;
                playerData.changeMonsterActive_ = 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, 255)
                    );
                eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
                eventMgr.AllUpdateEventExecute(0.4f);

                //シーンの切り替え
                eventMgr.SceneChangeEventSet(SceneState.Battle, SceneChangeMode.Continue);
            }
        }

        return(monsterMenuManager.GetNowProcessState().state_);
    }
    public void SceneStart()
    {
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();
        AllEventManager eventMgr = AllEventManager.GetInstance();

        //依存性注入
        nowProcessState_           = startProcessStateProvider_;
        nowProcessState_.state_    = MonsterMenuSceneProcess.MonsterSelect;
        inputSoundProvider_.state_ = MonsterMenuSceneInputSoundState.MonsterSelect;

        selectMonsterNumber_ = 0;

        //モンスターの行動選択肢の初期化
        monsterActionCommandParts_.gameObject.SetActive(false);

        //技の選択肢の初期化
        skillCommandParts_.commandWindowChoicesColliderInactive();

        //BulletPartsの初期化
        t13.UnityUtil.ObjectPosMove(bulletParts_.GetEventStatusInfosParts(0).gameObject, new Vector3(bulletParts_.GetEventStatusInfosParts(0).gameObject.transform.localPosition.x, 3.5f, 5));
        t13.UnityUtil.ObjectPosMove(bulletParts_.GetEventStatusInfosParts(1).gameObject, new Vector3(bulletParts_.GetEventStatusInfosParts(1).gameObject.transform.localPosition.x, 3.5f, 5));
        t13.UnityUtil.ObjectPosMove(bulletParts_.GetEventStatusInfosParts(2).gameObject, new Vector3(bulletParts_.GetEventStatusInfosParts(2).gameObject.transform.localPosition.x, 2.0f, 5));
        t13.UnityUtil.ObjectPosMove(bulletParts_.GetEventStatusInfosParts(3).gameObject, new Vector3(bulletParts_.GetEventStatusInfosParts(3).gameObject.transform.localPosition.x, 0.5f, 5));
        t13.UnityUtil.ObjectPosMove(bulletParts_.GetEventStatusInfosParts(4).gameObject, new Vector3(bulletParts_.GetEventStatusInfosParts(4).gameObject.transform.localPosition.x, 0.5f, 5));

        //MagazinePartsの初期化
        magazineParts_.Initialize();

        //StatusInfosPartsの色の変更
        for (int i = 0; i < (bulletParts_.GetEventStatusInfosPartsSize() / 2) + 1; ++i)
        {
            if (i == 0)
            {
                bulletParts_.GetEventStatusInfosParts(i).ProcessStateAllColorUpdateExecute(0, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 0));
                bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1 - i).ProcessStateAllColorUpdateExecute(0, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 0));
            }
            else
            {
                bulletParts_.GetEventStatusInfosParts(i).ProcessStateColorUpdateExecute(0, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, (byte)(255 / ((i % 2) + 1))));
                bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1 - i).ProcessStateColorUpdateExecute(0, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, (byte)(255 / ((i % 2) + 1))));
            }
        }

        //状態異常の非表示
        bulletParts_.GetEventStatusInfosParts(0).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(0).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1).GetFirstAbnormalStateInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1).GetSecondAbnormalStateInfoParts().gameObject.SetActive(false);

        //タイプの非表示
        bulletParts_.GetEventStatusInfosParts(0).GetFirstElementInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(0).GetSecondElementInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1).GetFirstElementInfoParts().gameObject.SetActive(false);
        bulletParts_.GetEventStatusInfosParts(bulletParts_.GetEventStatusInfosPartsSize() - 1).GetSecondElementInfoParts().gameObject.SetActive(false);

        //スキル情報の初期化
        skillInfoFrameParts_.SkillInfoReset();

        //初期化
        nowProcessState_.init(this);

        //フェードイン
        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.InputProviderChangeEventSet(new KeyBoardNormalInputProvider());
    }
예제 #6
0
    public void SceneStart()
    {
        AllSceneManager   allSceneMgr = AllSceneManager.GetInstance();
        AllEventManager   allEventMgr = AllEventManager.GetInstance();
        PlayerTrainerData playerData  = PlayerTrainerData.GetInstance();

        //初めての処理だったら
        if (firstStart_)
        {
            firstStart_ = false;

            //オブジェクトの配置
            for (int i = 0; i < floorObjects_.Count; ++i)
            {
                floorObjects_[i].gameObject.SetActive(true);
            }

            //依存性注入
            processProvider_.state_ = MapSceneProcess.PlayerMove;

            //ウェイト
            allEventMgr.EventWaitSet(0.5f);

            //シーンの切り替え
            allEventMgr.SceneChangeEventSet(SceneState.Map, SceneChangeMode.Change);
        }
        else
        {
            //依存性注入
            processProvider_.state_    = MapSceneProcess.PlayerMove;
            inputSoundProvider_.state_ = MapSceneInputSoundState.Normal;

            //主人公の移動の変更
            playerMoveMap_.is_move = true;

            //BGMの再生
            AllSceneManager.GetInstance().GetPublicAudioParts().GetBGMAudioSource().clip = ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Map());
            AllSceneManager.GetInstance().GetPublicAudioParts().GetBGMAudioSource().Play();

            //オブジェクトの配置
            for (int i = 0; i < floorObjects_.Count; ++i)
            {
                floorObjects_[i].gameObject.SetActive(false);
            }
            floorObjects_[playerData.nowMapFloor_].gameObject.SetActive(true);

            //マップデータに反映
            mapData_.MapDataReset();

            //各階層の扉の画像の反映
            {
                Sprite[] sprites = ResourcesGraphicsLoader.GetInstance().GetGraphicsAll("MapScene/institute01");
                for (int i = floorObjects_.Count - 1; i >= playerData.clearMapFloor_; --i)
                {
                    floorObjects_[i].GetEventMoveMaps(1).GetEventSpriteRenderer().GetSpriteRenderer().sprite = sprites[44];
                    floorObjects_[i].GetEventMoveMaps(2).GetEventSpriteRenderer().GetSpriteRenderer().sprite = sprites[43];
                    floorObjects_[i].GetEventMoveMaps(3).GetEventSpriteRenderer().GetSpriteRenderer().sprite = sprites[51];
                    floorObjects_[i].GetEventMoveMaps(4).GetEventSpriteRenderer().GetSpriteRenderer().sprite = sprites[52];
                }
                for (int i = 0; i < playerData.clearMapFloor_; ++i)
                {
                    floorObjects_[i].GetEventMoveMaps(1).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
                    floorObjects_[i].GetEventMoveMaps(2).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
                    floorObjects_[i].GetEventMoveMaps(3).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
                    floorObjects_[i].GetEventMoveMaps(4).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
                }
            }
            //各階層の階層イベントの反映
            for (int i = floorObjects_.Count - 1; i >= playerData.clearMapFloor_; --i)
            {
                floorObjects_[i].GetEventMoveMaps(0).executeEventNum_ = 1;
                floorObjects_[i].GetEventMoveMaps(1).executeEventNum_ = 0;
                floorObjects_[i].GetEventMoveMaps(2).executeEventNum_ = 0;
            }
            for (int i = 0; i < playerData.clearMapFloor_; ++i)
            {
                floorObjects_[i].GetEventMoveMaps(0).executeEventNum_ = 4;
                floorObjects_[i].GetEventMoveMaps(1).executeEventNum_ = 1;
                floorObjects_[i].GetEventMoveMaps(2).executeEventNum_ = 1;
            }

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

            //イベントの最後
            //制御の変更
            allEventMgr.InputProviderChangeEventSet(new KeyBoardNormalInputProvider());
        }
    }