public override IProcessState Execute(BattleManager battleManager)
    {
        AllEventManager eventMgr = AllEventManager.GetInstance();
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();

        //SE
        battleManager.GetInputSoundProvider().SelectEnter();

        battleManager.InactiveUiMonsterTradeSelectCommand();

        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);

        //シーンの切り替え
        MonsterMenuManager.SetProcessStateProvider(new MonsterMenuSceneBattleProcessStateProvider());
        eventMgr.SceneChangeEventSet(SceneState.MonsterMenu, SceneChangeMode.Slide);

        return(new CommandSelectProcess());
    }
示例#2
0
    void Update()
    {
        //移動できれば移動する
        mapMoveActive_ = TransMove();
        if (!mapMoveActive_)
        {
            StopAnim();
        }

        AllSceneManager allSceneMgr = AllSceneManager.GetInstance();

        if (!is_move)
        {
            return;          //falseは動けない
        }
        //移動
        if (allSceneMgr.inputProvider_.UpSelect())
        {
            MoveUp();
        }
        else if (allSceneMgr.inputProvider_.DownSelect())
        {
            MoveDown();
        }
        else if (allSceneMgr.inputProvider_.RightSelect())
        {
            MoveRight();
        }
        else if (allSceneMgr.inputProvider_.LeftSelect())
        {
            MoveLeft();
        }
    }
示例#3
0
    public override void SelectEnter(MapManager mapManager)
    {
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();
        AllEventManager eventMgr = AllEventManager.GetInstance();

        //操作の変更
        sceneMgr.inputProvider_ = new InactiveInputProvider();

        //プレイヤーデータの初期化
        PlayerTrainerData.ReleaseInstance();

        //選択肢の初期化
        mapManager.GetCommandParts().gameObject.SetActive(false);
        mapManager.GetCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

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

        //イベントの最後
        //シーンの切り替え
        eventMgr.SceneChangeEventSet(SceneState.Title, SceneChangeMode.Change);
    }
示例#4
0
    private void Start()
    {
        Init();
        AllSceneManager.GetInstance().inputProvider_ = new InactiveInputProvider();

        ObjectType = MapData.MAP_STATUS.PLAYER;
    }
    public override MonsterMenuSceneProcess Update(MonsterMenuManager monsterMenuManager)
    {
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();
        AllEventManager eventMgr = AllEventManager.GetInstance();

        if (eventMgr.EventUpdate())
        {
            return(MonsterMenuSceneProcess.SkillSelect);
        }

        if (sceneMgr.inputProvider_.UpSelect())
        {
        }
        else if (sceneMgr.inputProvider_.DownSelect())
        {
        }
        else if (sceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (sceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (sceneMgr.inputProvider_.SelectEnter() ||
                 sceneMgr.inputProvider_.SelectMouseLeftTrigger())
        {
            eventMgr.EventTriggerNext();
        }
        else if (sceneMgr.inputProvider_.SelectBack())
        {
        }

        return(monsterMenuManager.GetNowProcessState().state_);
    }
    private static void MapDescend(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();
        PlayerBattleData  playerBattleData  = PlayerBattleData.GetInstance();
        EnemyBattleData   enemyBattleData   = EnemyBattleData.GetInstance();

        playerTrainerData.nowMapFloor_ -= 1;

        mapManager.GetPlayerMoveMap().SetStartPos(new Vector3(9, 9.2f, -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, 255)
            );
        allEventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
        allEventMgr.AllUpdateEventExecute(0.4f);

        //シーンの切り替え
        allEventMgr.SceneChangeEventSet(SceneState.Map, SceneChangeMode.Change);
    }
示例#7
0
    private static void BattleStart(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

        //エネミーの設定
        enemyTrainerData.SetTrainerData(ResourcesEnemyTrainerDatasLoader.GetInstance().GetEnemyTrainerDatas(5));

        //BGMの停止
        allEventMgr.BGMAudioVolumeChangeEventSet(0);

        //ノベル処理
        {
            string context = ResourcesTextsLoader.GetInstance().GetTexts("FinalDocter/BattleStart1");
            EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), context, mapManager.GetCharacterEventSprite());
        }

        //BGMの再生
        allEventMgr.BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_DeadIntro()));
        allEventMgr.BGMAudioPlayEventSet();
        allEventMgr.BGMAudioVolumeChangeEventSet(0.3f);

        //戦闘の処理
        EventMoveMap.BattleEvent(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Dead()));
    }
    public IProcessState Update(BattleManager mgr)
    {
        AllSceneManager allSceneMgr = AllSceneManager.GetInstance();

        if (AllEventManager.GetInstance().EventUpdate())
        {
            mgr.GetPlayerStatusInfoParts().ProcessIdleStart();
            mgr.GetPlayerMonsterParts().ProcessIdleStart();

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

        if (allSceneMgr.inputProvider_.UpSelect())
        {
        }
        else if (allSceneMgr.inputProvider_.DownSelect())
        {
        }
        else if (allSceneMgr.inputProvider_.RightSelect())
        {
        }
        else if (allSceneMgr.inputProvider_.LeftSelect())
        {
        }
        else if (allSceneMgr.inputProvider_.SelectEnter() ||
                 allSceneMgr.inputProvider_.SelectMouseLeftTrigger())
        {
            AllEventManager.GetInstance().EventTriggerNext();
        }
        else if (allSceneMgr.inputProvider_.SelectNovelWindowActive())
        {
        }

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

        //依存性注入
        inputSoundProvider_.state_ = SaveDataSceneInputSoundState.Normal;

        //初期化
        dataSelectInfoSprite_.sprite = ResourcesGraphicsLoader.GetInstance().GetGraphics(GraphicsPathSupervisor.GetInstance().GetPathGameStartInfo());

        commandParts_.SelectReset(new Vector3(3.32f, 0.81f, -4));

        //フェードイン
        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();
    }
    public override void SelectEnter(MapManager mapManager)
    {
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();
        AllEventManager eventMgr = AllEventManager.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

        //選択肢の初期化
        mapManager.GetCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

        mapManager.GetPlayerMoveMap().is_move = false;
        mapManager.GetCommandParts().gameObject.SetActive(false);

        //操作の変更
        sceneMgr.inputProvider_ = new KeyBoardSelectInactiveTriggerInputProvider();

        mapManager.GetProcessProvider().state_ = MapSceneProcess.EventExecute;
        mapManager.eventBackProcess_ = MapSceneProcess.PlayerMove;

        //データのセーブ
        SaveDataTrasfer.GetInstance().DataSave();

        //SE
        eventMgr.SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathSelect2()));

        //ノベル処理
        EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), "レポートに しっかりかきのこした!");

        //イベントの最後
        eventMgr.EventFinishSet();
    }
示例#11
0
    public override void init(BugMenuManager bugMenuManager)
    {
        AllEventManager   eventMgr          = AllEventManager.GetInstance();
        AllSceneManager   sceneMgr          = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();

        //習得できる技の保存
        for (int i = 0; i < playerTrainerData.GetHaveSkillSize(); ++i)
        {
            bugMenuManager.SkillTradeActiveSkillsAdd(playerTrainerData.GetSkillDatas(i));
        }

        //技の名前の反映
        for (int i = 0; i < bugMenuManager.GetCommandParts().GetCommandWindowTextsCount(); ++i)
        {
            if (i < bugMenuManager.GetSkillTradeActiveSkillsCount())
            {
                bugMenuManager.GetCommandParts().CommandWindowChoiceTextChange(i, " " + bugMenuManager.GetSkillTradeActiveSkills(i).skillName_);
            }
        }

        //技の情報の反映
        bugMenuManager.GetInfoFrameParts().SkillInfoReflect(bugMenuManager.GetSkillTradeActiveSkills(0));

        //技が表以上にあったら
        if (bugMenuManager.GetSkillTradeActiveSkillsCount() > bugMenuManager.GetCommandParts().GetCommandWindowTextsCount())
        {
            bugMenuManager.GetDownCursor().gameObject.SetActive(true);
        }
    }
示例#12
0
    //Trigger
    private static bool TriggerEventTrigger(EventMoveMapTriggerState mine, PlayerEntryZone playerEntryZone, PlayerMoveMap playerMoveMap)
    {
        if (playerEntryZone.is_collider &&
            AllSceneManager.GetInstance().inputProvider_.SelectEnter())
        {
            if (playerMoveMap.direction == ObjectMoveMap.DIRECTION_STATUS.UP)
            {
                playerEntryZone._collision_object.direction = ObjectMoveMap.DIRECTION_STATUS.DOWN;
            }
            else if (playerMoveMap.direction == ObjectMoveMap.DIRECTION_STATUS.DOWN)
            {
                playerEntryZone._collision_object.direction = ObjectMoveMap.DIRECTION_STATUS.UP;
            }
            else if (playerMoveMap.direction == ObjectMoveMap.DIRECTION_STATUS.RIGHT)
            {
                playerEntryZone._collision_object.direction = ObjectMoveMap.DIRECTION_STATUS.LEFT;
            }
            else if (playerMoveMap.direction == ObjectMoveMap.DIRECTION_STATUS.LEFT)
            {
                playerEntryZone._collision_object.direction = ObjectMoveMap.DIRECTION_STATUS.RIGHT;
            }

            return(true);
        }

        return(false);
    }
示例#13
0
    private static void BattleVictory(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

        //技の取得
        for (int i = 13; i < 26; ++i)
        {
            playerTrainerData.SkillAdd(new SkillData((SkillDataNumber)i));
        }

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

        //選択肢の有り
        mapManager.monsterTradeSelectActive_ = true;

        //階層の移動の解放
        mapManager.GetFloorObjects().GetEventMoveMaps(1).executeEventNum_ = 1;
        mapManager.GetFloorObjects().GetEventMoveMaps(2).executeEventNum_ = 1;

        //ドアの解放
        mapManager.GetFloorObjects().GetEventMoveMaps(1).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
        mapManager.GetFloorObjects().GetEventMoveMaps(2).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
        mapManager.GetFloorObjects().GetEventMoveMaps(3).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;
        mapManager.GetFloorObjects().GetEventMoveMaps(4).GetEventSpriteRenderer().GetSpriteRenderer().sprite = null;

        //手持ちモンスターの回復
        for (int i = 0; i < playerTrainerData.GetHaveMonsterSize(); ++i)
        {
            playerTrainerData.GetMonsterDatas(i).battleActive_ = true;
            playerTrainerData.GetMonsterDatas(i).nowHitPoint_  = playerTrainerData.GetMonsterDatas(i).RealHitPoint();
        }

        //クリア階層の増加
        playerTrainerData.clearMapFloor_ += 1;

        //エネミーの設定
        enemyTrainerData.SetTrainerData(ResourcesEnemyTrainerDatasLoader.GetInstance().GetEnemyTrainerDatas(2));

        ////技の取得
        //for (int i = 29; i < 43; ++i) {
        //	playerTrainerData.SkillAdd(new SkillData((SkillDataNumber)i));
        //}
        //playerTrainerData.SkillAdd(new SkillData((SkillDataNumber)47));

        //ノベル処理
        {
            string context = ResourcesTextsLoader.GetInstance().GetTexts("Girl/BattleVictory1");
            EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), context, mapManager.GetCharacterEventSprite());
        }
        //イベントの最後
        allEventMgr.EventFinishSet();
    }
示例#14
0
    public override void SelectEnter(MapManager mapManager)
    {
        AllEventManager eventMgr = AllEventManager.GetInstance();
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();

        //操作の変更
        sceneMgr.inputProvider_ = new InactiveInputProvider();

        //選択肢の非表示
        mapManager.GetCommandParts().gameObject.SetActive(false);

        //選択肢の初期化
        mapManager.GetCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

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

        //シーンの切り替え
        MonsterMenuManager.SetProcessStateProvider(new MonsterMenuSceneNormalProcessStateProvider());
        eventMgr.SceneChangeEventSet(SceneState.MonsterMenu, SceneChangeMode.Slide);
    }
    static private bool SEAudioPlayOnshotEvent(AllEventManager mgr)
    {
        AllSceneManager.GetInstance().GetPublicAudioParts().GetSEAudioSource().PlayOneShot(mgr.eventSEAudioClips_[mgr.eventSEAudioExecuteCounter_]);

        mgr.eventSEAudioExecuteCounter_ += 1;

        return(true);
    }
 public void ConfusionTurnSeedCreate()
 {
     //既にセットされていなかったら
     if (confusionTurn_ <= 0)
     {
         confusionTurn_ = AllSceneManager.GetInstance().GetRandom().Next(2, CONFUSION_TURN_LIMIT + 1);
     }
 }
 public void SleepTurnSeedCreate()
 {
     //既にセットされていなかったら
     if (sleepTurn_ <= 0)
     {
         sleepTurn_ = AllSceneManager.GetInstance().GetRandom().Next(2, SLEEP_TURN_LIMIT + 1);
     }
 }
    static private bool SEAudioVolumeChangeEvent(AllEventManager mgr)
    {
        AllSceneManager.GetInstance().GetPublicAudioParts().GetSEAudioSource().volume = mgr.eventSEAudioVolumes_[mgr.eventSEAudioExecuteCounter_];

        mgr.eventSEAudioExecuteCounter_ += 1;

        return(true);
    }
    static private bool BGMAudioClipChangeEvent(AllEventManager mgr)
    {
        AllSceneManager.GetInstance().GetPublicAudioParts().GetBGMAudioSource().clip = mgr.eventBGMAudioClips_[mgr.eventBGMAudioExecuteCounter_];

        mgr.eventBGMAudioExecuteCounter_ += 1;

        return(true);
    }
    static private bool InputProviderChangeEvent(AllEventManager mgr)
    {
        AllSceneManager.GetInstance().inputProvider_ = mgr.inputProviders_[0];

        EventFinishEvent(mgr);

        return(true);
    }
    static private bool SceneChangeEvent(AllEventManager mgr)
    {
        AllSceneManager.GetInstance().SceneChange(mgr.sceneStates_[0], mgr.sceneChangeModes_[0]);

        EventFinishEvent(mgr);

        return(true);
    }
    public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        monsterMenuManager.GetMonsterActionCommandParts().gameObject.SetActive(false);

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

        monsterMenuManager.GetNowProcessState().state_ = MonsterMenuSceneProcess.MonsterSelect;
    }
    /// <summary>
    ///メイン計算式
    /// </summary>
    static public int BattleDamageCalculate(IMonsterData attackMonster, IMonsterData defenseMonster, ISkillData attackSkill)
    {
        //乱数の値
        float[] randomValue = new float[16] {
            0.85f, 0.86f, 0.87f, 0.88f, 0.89f,
            0.90f, 0.91f, 0.92f, 0.93f, 0.94f, 0.95f, 0.96f, 0.97f, 0.98f, 0.99f,
            1.00f,
        };

        //乱数
        float randomResult = randomValue[AllSceneManager.GetInstance().GetRandom().Next(0, 16)];

        //モンスターのタイプと技のタイプの一致か否か
        float typeMatch = 1;

        if (attackMonster.tribesData_.firstElement_.state_ == attackSkill.elementType_.state_ ||
            attackMonster.tribesData_.secondElement_.state_ == attackSkill.elementType_.state_)
        {
            typeMatch = 1.5f;
        }

        //敵モンスターと技のタイプ相性
        float typeSimillar = defenseMonster.ElementSimillarChecker(attackSkill.elementType_);

        //補正値の初期値 4096
        //技の最終威力
        int realSkillPower = (int)(attackSkill.effectValue_ * (4096 / 4096));

        //物理か特殊か
        //EffectAttackTypeState ea = attackSkill.effectValueType_.GetEffectAttackTypeState();

        //モンスターの最終攻撃力
        int realMonsterAttack = 0;
        {
            //if (ea.state_ == EffectAttackType.Normal) {
            //	realMonsterAttack = (int)(attackMonster.RealAttack() * attackMonster.battleData_.RealAttackParameterRank() * (4096 / 4096));
            //}
            realMonsterAttack = (int)(attackMonster.RealAttack() * attackMonster.battleData_.RealAttackParameterRank() * (4096 / 4096));
        }

        //敵モンスターの最終防御力
        int realMonsterDefense = 0;
        {
            //if (ea.state_ == EffectAttackType.Normal) {
            //	realMonsterDefense = (int)(defenseMonster.RealDefense() * defenseMonster.battleData_.RealDefenseParameterRank() * (4096 / 4096));
            //}
            realMonsterDefense = (int)(defenseMonster.RealDefense() * defenseMonster.battleData_.RealDefenseParameterRank() * (4096 / 4096));
        }

        //(((レベル×2/5+2)×威力×A/D)/50+2)
        //最終ダメージ
        int realDamage = (int)((((attackMonster.level_ * 2 / 5 + 2) * realSkillPower * realMonsterAttack / realMonsterDefense) / 50)
                               * randomResult * typeMatch * typeSimillar);

        return(realDamage);
    }
    public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        AllSceneManager sceneMgr = AllSceneManager.GetInstance();
        AllEventManager eventMgr = AllEventManager.GetInstance();

        //先頭がダウンしていたら
        if (!PlayerBattleData.GetInstance().GetMonsterDatas(0).battleActive_)
        {
            PlayerBattleData.GetInstance().changeMonsterNumber_      = monsterMenuManager.selectMonsterNumber_;
            PlayerBattleData.GetInstance().changeMonsterSkillNumber_ = monsterMenuManager.GetSkillCommandParts().SelectNumber();
            PlayerBattleData.GetInstance().changeMonsterActive_      = true;

            //操作の変更
            sceneMgr.inputProvider_ = new InactiveInputProvider();

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

            //フェードアウト
            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);
        }
        else
        {
            if (PlayerBattleData.GetInstance().GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).battleActive_ &&
                PlayerBattleData.GetInstance().GetMonsterDatas(monsterMenuManager.selectMonsterNumber_).tribesData_.monsterNumber_ != (int)MonsterTribesDataNumber.None)
            {
                monsterMenuManager.GetMonsterActionCommandParts().gameObject.SetActive(false);

                monsterMenuManager.GetNowProcessState().state_ = MonsterMenuSceneProcess.SkillSelect;

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

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

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

                //モンスターの交換中
                monsterMenuManager.monsterTradeSelectSkill_ = true;
            }
        }
    }
    public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData)
    {
        //攻撃の成功判定
        //技の命中率×命中補正値M×ランク補正
        bool skillSuccess = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < (int)(attackSkillData.successRateValue_ * (4096 / 4096));

        //技が失敗した時の説明
        if (!skillSuccess)
        {
            AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "しかし " + attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nうまく きめられなかった!");
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

            AllEventManager.GetInstance().EventWaitSet(1.0f);

            return(false);
        }

        //ヒットポイントの変動
        attackMonsterData.nowHitPoint_ += (int)attackSkillData.effectValue_;
        if (attackMonsterData.nowHitPoint_ > attackMonsterData.RealHitPoint())
        {
            attackMonsterData.nowHitPoint_ = attackMonsterData.RealHitPoint();
        }

        //技のアニメーション
        attackSkillData.EffectAnimetionEventSet(attackEffectParts);

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

        //ヒットポイントのゲージの変動イベントの設定
        float hpGaugeFillAmount = t13.Utility.ValueForPercentage(attackMonsterData.RealHitPoint(), attackMonsterData.nowHitPoint_, 1);

        AllEventManager.GetInstance().HpGaugePartsSet(attackStatusInfoParts.GetFrameParts().GetHpGaugeParts(), hpGaugeFillAmount, attackMonsterData);
        AllEventManager.GetInstance().HpGaugePartsUpdateExecuteSet(HpGaugePartsEventManagerExecute.GaugeUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute(0.5f);

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

        //文字列の処理
        AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nたいりょくを かいふくした!");
        AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

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

        return(true);
    }
示例#26
0
    public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData)
    {
        //攻撃の成功判定
        //技の命中率×命中補正値M×ランク補正
        bool skillSuccess = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < (int)(attackSkillData.successRateValue_ * (4096 / 4096));

        //技が失敗した時の説明
        if (!skillSuccess)
        {
            AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "しかし " + attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nうまく きめられなかった!");
            AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
            AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

            AllEventManager.GetInstance().EventWaitSet(1.0f);

            return(false);
        }

        //ドリームポイントの変動
        attackTrainerBattleData.DreamPointAddValue((int)attackSkillData.effectValue_);
        defenseTrainerBattleData.DreamPointAddValue(-(int)attackSkillData.effectValue_);

        //技のアニメーション
        attackSkillData.EffectAnimetionEventSet(attackEffectParts);

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

        //DPの演出のイベント
        defenseDreamPointInfoParts.DPEffectEventSet(defenseTrainerBattleData.GetDreamPoint());

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

        //DPの演出のイベント
        attackDreamPointInfoParts.DPEffectEventSet(attackTrainerBattleData.GetDreamPoint());

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

        //文字列の処理
        AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nドリームポイントを うばった!");
        AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate);
        AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime());

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

        return(true);
    }
示例#27
0
    private static void BattleLose(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

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

        //手持ちモンスターの回復
        for (int i = 0; i < playerTrainerData.GetHaveMonsterSize(); ++i)
        {
            playerTrainerData.GetMonsterDatas(i).battleActive_ = true;
            playerTrainerData.GetMonsterDatas(i).nowHitPoint_  = playerTrainerData.GetMonsterDatas(i).RealHitPoint();
        }

        //ノベル処理
        {
            string context = ResourcesTextsLoader.GetInstance().GetTexts("FinalDocter/BattleLose1");
            EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), context, mapManager.GetCharacterEventSprite());
        }

        //プレイヤーデータの初期化
        PlayerTrainerData.ReleaseInstance();

        //選択肢の初期化
        mapManager.GetCommandParts().gameObject.SetActive(false);
        mapManager.GetCommandParts().SelectReset(new Vector3(-0.6f, 0.85f, -4));

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

        //イベントの最後
        //シーンの切り替え
        //allEventMgr.SceneChangeEventSet(SceneState.Title, SceneChangeMode.Change);

        //ゲームの終了
        t13.UnityUtil.GameQuit();
    }
    private static void BattleLose(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

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

        //手持ちモンスターの回復
        for (int i = 0; i < playerTrainerData.GetHaveMonsterSize(); ++i)
        {
            playerTrainerData.GetMonsterDatas(i).battleActive_ = true;
            playerTrainerData.GetMonsterDatas(i).nowHitPoint_  = playerTrainerData.GetMonsterDatas(i).RealHitPoint();
        }

        //ノベル処理
        {
            string context = ResourcesTextsLoader.GetInstance().GetTexts("Man/BattleLose1");
            EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), context, mapManager.GetCharacterEventSprite());
        }
        //フェードアウト
        allEventMgr.EventSpriteRendererSet(
            allSceneMgr.GetPublicFrontScreen().GetEventScreenSprite()
            , null
            , new Color(0, 0, 0, 1)
            );
        allEventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor);
        allEventMgr.AllUpdateEventExecute(0.4f);

        //ウェイト
        allEventMgr.EventWaitSet(allSceneMgr.GetEventWaitTime() * 2);

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

        //イベントの最後
        allEventMgr.EventFinishSet();
    }
示例#29
0
    public override void Execute(MonsterMenuManager monsterMenuManager)
    {
        //入れ替え状態に変更
        monsterMenuManager.swapSelectNumber_ = monsterMenuManager.selectMonsterNumber_;
        monsterMenuManager.swapActive_       = true;

        //バレットの色の変更
        monsterMenuManager.GetBulletParts().GetEventStatusInfosParts(2).GetBaseParts().GetBaseSprite().color = new Color32(222, 255, 0, 255);

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

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

        monsterMenuManager.GetNowProcessState().state_ = MonsterMenuSceneProcess.MonsterSelect;
    }
    private static void TradeSuccess(EventMoveMap eventMoveMap, MapManager mapManager)
    {
        AllEventManager   allEventMgr       = AllEventManager.GetInstance();
        AllSceneManager   allSceneMgr       = AllSceneManager.GetInstance();
        PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance();
        EnemyTrainerData  enemyTrainerData  = EnemyTrainerData.GetInstance();

        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().blinkTimeRegulation_   = 0.5f;
        mapManager.GetNovelWindowParts().GetNovelBlinkIconParts().GetNovelBlinkIconEventSprite().GetBlinkState().state_ = UpdateSpriteRendererProcessBlink.In;

        //ノベル処理
        {
            string context = ResourcesTextsLoader.GetInstance().GetTexts("Man/TradeSuccess1");
            EventMoveMap.NovelEvent(mapManager.GetNovelWindowParts(), context, mapManager.GetCharacterEventSprite());
        }
    }