Beispiel #1
0
    //Sleep
    static private string SleepAddAbnormalTypeExecute(AddAbnormalTypeState mine, IMonsterData monsterData)
    {
        if (monsterData.battleData_.firstAbnormalState_.state_ == AbnormalType.Hero)
        {
            return(monsterData.uniqueName_ + "には\n" +
                   "きかないようだ・・・");
        }

        if (monsterData.battleData_.firstAbnormalState_.state_ == AbnormalType.None)
        {
            monsterData.battleData_.firstAbnormalState_.state_ = AbnormalType.Sleep;
        }
        else if (monsterData.battleData_.secondAbnormalState_.state_ == AbnormalType.None &&
                 monsterData.battleData_.firstAbnormalState_.state_ != AbnormalType.Sleep)
        {
            monsterData.battleData_.secondAbnormalState_.state_ = AbnormalType.Sleep;
        }
        else
        {
            return(monsterData.uniqueName_ + "には\n" +
                   "きかないようだ・・・");
        }

        return(monsterData.uniqueName_ + "は\n" +
               "ねむりに おちた!");
    }
Beispiel #2
0
    //Hero
    static private string HeroAddAbnormalTypeExecute(AddAbnormalTypeState mine, IMonsterData monsterData)
    {
        monsterData.battleData_.firstAbnormalState_.state_  = AbnormalType.Hero;
        monsterData.battleData_.secondAbnormalState_.state_ = AbnormalType.None;

        return(monsterData.uniqueName_ + "は\n" +
               "ゆめで みたされた!");
    }
Beispiel #3
0
 //None
 static private string NoneAddAbnormalTypeExecute(AddAbnormalTypeState mine, IMonsterData monsterData)
 {
     return("None");
 }
    public IProcessState Update(BattleManager mgr)
    {
        ////DPの演出のイベント
        //mgr.PlayerEnemyStatusInfoPartsDPEffect();

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

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

        //パワーアップしていたら
        if (PlayerBattleData.GetInstance().dreamSyncronize_ == true)
        {
            //dpの初期化
            PlayerBattleData.GetInstance().DreamPointReset();
            PlayerBattleData.GetInstance().dreamSyncronize_ = false;

            //ゆめの文字色の変更
            mgr.GetDreamCommandSprite().color = new Color32(255, 255, 255, 255);

            //DPの演出のイベント
            mgr.GetPlayerDreamPointInfoParts().DPEffectEventSet(PlayerBattleData.GetInstance().GetDreamPoint());

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

            //BGMの音量の減少
            AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.15f);

            //パワーアップの演出
            mgr.GetDreamEffectParts().DreamSyncronizeEventSet(PlayerBattleData.GetInstance().GetMonsterDatas(0), new Vector3(-13.0f, 0.8f, -1.0f), new Vector3(13.0f, 0.8f, -1.0f));

            //画像の変更
            {
                List <Sprite> sprites = new List <Sprite>();
                sprites.Add(PlayerBattleData.GetInstance().GetMonsterDatas(0).tribesData_.backDreamTex_);

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

            //BGMの変更
            AllEventManager.GetInstance().BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Rock()));

            //BGMの再生
            AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.3f);
            AllEventManager.GetInstance().BGMAudioPlayEventSet();

            //能力変化の更新
            string abnormalStateContext = new AddAbnormalTypeState(AddAbnormalType.Hero).AddAbnormalTypeExecute(PlayerBattleData.GetInstance().GetMonsterDatas(0));

            //文字列のイベント
            AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), abnormalStateContext);
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

            //状態異常のイベントのセット
            PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.AbnormalSetStatusInfoPartsEventSet(mgr.GetPlayerStatusInfoParts());

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

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

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

        //パワーアップしていたら
        if (EnemyBattleData.GetInstance().dreamSyncronize_ == true)
        {
            //dpの初期化
            EnemyBattleData.GetInstance().DreamPointReset();
            EnemyBattleData.GetInstance().dreamSyncronize_ = false;

            //DPの演出のイベント
            mgr.GetEnemyDreamPointInfoParts().DPEffectEventSet(EnemyBattleData.GetInstance().GetDreamPoint());

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

            //BGMの音量の減少
            AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.15f);

            //パワーアップの演出
            mgr.GetDreamEffectParts().DreamSyncronizeEventSet(EnemyBattleData.GetInstance().GetMonsterDatas(0), new Vector3(13.0f, 0.8f, -1.0f), new Vector3(-13.0f, 0.8f, -1.0f));

            //画像の変更
            {
                List <Sprite> sprites = new List <Sprite>();
                sprites.Add(EnemyBattleData.GetInstance().GetMonsterDatas(0).tribesData_.frontDreamTex_);

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

            //BGMの再生
            AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.3f);

            //能力変化の更新
            string abnormalStateContext = new AddAbnormalTypeState(AddAbnormalType.Hero).AddAbnormalTypeExecute(EnemyBattleData.GetInstance().GetMonsterDatas(0));

            //文字列のイベント
            AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), abnormalStateContext);
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

            //状態異常のイベントのセット
            EnemyBattleData.GetInstance().GetMonsterDatas(0).battleData_.AbnormalSetStatusInfoPartsEventSet(mgr.GetEnemyStatusInfoParts());

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

        //交換されていたら
        if (PlayerBattleData.GetInstance().changeMonsterActive_ == true)
        {
            PlayerBattleData.GetInstance().MonsterChangeEventSet(mgr);
        }

        //交換されていたら
        if (EnemyBattleData.GetInstance().changeMonsterActive_ == true)
        {
            EnemyBattleData.GetInstance().MonsterChangeEventSet(mgr);
        }

        //現在、場に出ているモンスターのデータの取得
        IMonsterData enemyMonsterData  = EnemyBattleData.GetInstance().GetMonsterDatas(0);
        IMonsterData playerMonsterData = PlayerBattleData.GetInstance().GetMonsterDatas(0);

        //現在、場に出ているモンスターの選択技のデータの取得
        ISkillData enemySkillData  = enemyMonsterData.GetSkillDatas(mgr.enemySelectSkillNumber_);
        ISkillData playerSkillData = playerMonsterData.GetSkillDatas(mgr.playerSelectSkillNumber_);

        //技の優先度で行動順を決める
        if (enemySkillData.triggerPriority_ < playerSkillData.triggerPriority_)
        {
            //プレイヤーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetPlayerEffectParts()
                , mgr.GetEnemyEffectParts()
                , mgr.GetEnemyMonsterParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , PlayerBattleData.GetInstance()
                , EnemyBattleData.GetInstance()
                , playerMonsterData, playerSkillData, enemyMonsterData
                );
            //エネミーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetEnemyEffectParts()
                , mgr.GetPlayerEffectParts()
                , mgr.GetPlayerMonsterParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , EnemyBattleData.GetInstance()
                , PlayerBattleData.GetInstance()
                , enemyMonsterData, enemySkillData, playerMonsterData
                );
        }
        else if (enemySkillData.triggerPriority_ > playerSkillData.triggerPriority_)
        {
            //エネミーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetEnemyEffectParts()
                , mgr.GetPlayerEffectParts()
                , mgr.GetPlayerMonsterParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , EnemyBattleData.GetInstance()
                , PlayerBattleData.GetInstance()
                , enemyMonsterData, enemySkillData, playerMonsterData
                );
            //プレイヤーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetPlayerEffectParts()
                , mgr.GetEnemyEffectParts()
                , mgr.GetEnemyMonsterParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , PlayerBattleData.GetInstance()
                , EnemyBattleData.GetInstance()
                , playerMonsterData, playerSkillData, enemyMonsterData
                );
        }
        //素早さで行動順を決める
        else if ((enemyMonsterData.RealSpeed() * enemyMonsterData.battleData_.RealSpeedParameterRank()) < (playerMonsterData.RealSpeed() * playerMonsterData.battleData_.RealSpeedParameterRank()))
        {
            //プレイヤーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetPlayerEffectParts()
                , mgr.GetEnemyEffectParts()
                , mgr.GetEnemyMonsterParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , PlayerBattleData.GetInstance()
                , EnemyBattleData.GetInstance()
                , playerMonsterData, playerSkillData, enemyMonsterData
                );
            //エネミーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetEnemyEffectParts()
                , mgr.GetPlayerEffectParts()
                , mgr.GetPlayerMonsterParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , EnemyBattleData.GetInstance()
                , PlayerBattleData.GetInstance()
                , enemyMonsterData, enemySkillData, playerMonsterData
                );
        }
        else if ((enemyMonsterData.RealSpeed() * enemyMonsterData.battleData_.RealSpeedParameterRank()) == (playerMonsterData.RealSpeed() * playerMonsterData.battleData_.RealSpeedParameterRank()))
        {
            if (AllSceneManager.GetInstance().GetRandom().Next(0, 2) < 1)
            {
                //プレイヤーの戦闘処理
                SkillResultSet(
                    mgr
                    , mgr.GetPlayerEffectParts()
                    , mgr.GetEnemyEffectParts()
                    , mgr.GetEnemyMonsterParts()
                    , mgr.GetPlayerStatusInfoParts()
                    , mgr.GetEnemyStatusInfoParts()
                    , mgr.GetPlayerDreamPointInfoParts()
                    , mgr.GetEnemyDreamPointInfoParts()
                    , PlayerBattleData.GetInstance()
                    , EnemyBattleData.GetInstance()
                    , playerMonsterData, playerSkillData, enemyMonsterData
                    );
                //エネミーの戦闘処理
                SkillResultSet(
                    mgr
                    , mgr.GetEnemyEffectParts()
                    , mgr.GetPlayerEffectParts()
                    , mgr.GetPlayerMonsterParts()
                    , mgr.GetEnemyStatusInfoParts()
                    , mgr.GetPlayerStatusInfoParts()
                    , mgr.GetEnemyDreamPointInfoParts()
                    , mgr.GetPlayerDreamPointInfoParts()
                    , EnemyBattleData.GetInstance()
                    , PlayerBattleData.GetInstance()
                    , enemyMonsterData, enemySkillData, playerMonsterData
                    );
            }
            else
            {
                //エネミーの戦闘処理
                SkillResultSet(
                    mgr
                    , mgr.GetEnemyEffectParts()
                    , mgr.GetPlayerEffectParts()
                    , mgr.GetPlayerMonsterParts()
                    , mgr.GetEnemyStatusInfoParts()
                    , mgr.GetPlayerStatusInfoParts()
                    , mgr.GetEnemyDreamPointInfoParts()
                    , mgr.GetPlayerDreamPointInfoParts()
                    , EnemyBattleData.GetInstance()
                    , PlayerBattleData.GetInstance()
                    , enemyMonsterData, enemySkillData, playerMonsterData
                    );
                //プレイヤーの戦闘処理
                SkillResultSet(
                    mgr
                    , mgr.GetPlayerEffectParts()
                    , mgr.GetEnemyEffectParts()
                    , mgr.GetEnemyMonsterParts()
                    , mgr.GetPlayerStatusInfoParts()
                    , mgr.GetEnemyStatusInfoParts()
                    , mgr.GetPlayerDreamPointInfoParts()
                    , mgr.GetEnemyDreamPointInfoParts()
                    , PlayerBattleData.GetInstance()
                    , EnemyBattleData.GetInstance()
                    , playerMonsterData, playerSkillData, enemyMonsterData
                    );
            }
        }
        else
        {
            //エネミーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetEnemyEffectParts()
                , mgr.GetPlayerEffectParts()
                , mgr.GetPlayerMonsterParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , EnemyBattleData.GetInstance()
                , PlayerBattleData.GetInstance()
                , enemyMonsterData, enemySkillData, playerMonsterData
                );
            //プレイヤーの戦闘処理
            SkillResultSet(
                mgr
                , mgr.GetPlayerEffectParts()
                , mgr.GetEnemyEffectParts()
                , mgr.GetEnemyMonsterParts()
                , mgr.GetPlayerStatusInfoParts()
                , mgr.GetEnemyStatusInfoParts()
                , mgr.GetPlayerDreamPointInfoParts()
                , mgr.GetEnemyDreamPointInfoParts()
                , PlayerBattleData.GetInstance()
                , EnemyBattleData.GetInstance()
                , playerMonsterData, playerSkillData, enemyMonsterData
                );
        }

        //白紙に
        AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), " ");
        AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute();
        //ウェイト
        AllEventManager.GetInstance().EventWaitSet(0.5f);

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

        //交換判定の初期化
        PlayerBattleData.GetInstance().changeMonsterActive_ = false;
        EnemyBattleData.GetInstance().changeMonsterActive_  = false;

        return(mgr.nowProcessState().NextProcess());
    }