Ejemplo n.º 1
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	主人公スキル発動タッチ処理:
     */
    //----------------------------------------------------------------------------
    public void OnHeroToutch()
    {
        // メニューオープンタイミングのチェック
        bool isOpen = InGameUtil.ChkInGameOpenWindowTiming();

        if (isOpen == false)
        {
            return;
        }
        // チュートリアル中の発動禁止処理.
        if (BattleParam.IsTutorial())
        {
            if (BattleSceneManager.Instance.isTutorialForbidLimitBreak(GlobalDefine.PartyCharaIndex.HERO))
            {
                return;
            }
        }

        LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption();

        if (cOption.m_OptionConfirmAS == (int)LocalSaveDefine.OptionConfirmAS.ON)
        {
            // ヒーロースキル発動確認ウィンドウを開く
            if (InGameMenuManagerQuest2.Instance != null)
            {
                InGameMenuManagerQuest2.Instance.OpenSkillMenu(GlobalDefine.PartyCharaIndex.HERO, 0, m_HeroTotalSkillPrv);
            }
        }
        else
        {
            // ヒーロースキルを即時発動
            BattleParam.RequestLBS(GlobalDefine.PartyCharaIndex.HERO);
        }
    }
Ejemplo n.º 2
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	主人公情報長押しタッチ処理:
     */
    //----------------------------------------------------------------------------
    public void OnHeroLongToutch()
    {
        // メニューオープンタイミングのチェック
        bool isOpen = InGameUtil.ChkInGameOpenWindowTiming();

        if (isOpen == false)
        {
            return;
        }
        if (InGameMenuManagerQuest2.Instance != null)
        {
            if (InGameMenuManagerQuest2.Instance.isSkillMenuActive == true)
            {
                return;
            }
        }
        // チュートリアル中の禁止処理
        if (BattleParam.IsTutorial())
        {
            if (BattleSceneManager.Instance.isTutorialEnableUnitInfoWindow() == false)
            {
                return;
            }
        }
        SceneModeContinuousBattle.Instance.HeroWindowOpen();
    }
Ejemplo n.º 3
0
    //------------------------------------------------------------------------

    /*!
     *          @brief			更新処理
     */
    //------------------------------------------------------------------------
    void Update()
    {
        // メニューオープンタイミングのチェック
        bool isOpen = InGameUtil.ChkInGameOpenWindowTiming();

        if (isOpen == false && m_CurrentMenu != InGameMenuID.GAMEMENU_NONE)
        {
            // メニューを閉じる
            CloseInGameMenu();
            return;
        }

        // リタイアリクエストが来ていたら終了
        if (InGameQuestData.Instance && InGameQuestData.Instance.m_InGameRetire)
        {
            m_CurrentMenu = InGameMenuID.GAMEMENU_NONE;
            return;
        }

        m_OpenFrame = false;

        if (BattleParam.IsTutorial())
        {
            updateForTutorial();
        }
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 中断データを保存
 /// チュートリアル中はローカルセーブロードしない
 /// </summary>
 public static void SaveLocalData()
 {
     if (IsTutorial() == false)
     {
         InGameUtil.SaveLocalData();
     }
 }
Ejemplo n.º 5
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	スキル発動NOボタンタッチ処理
     */
    //----------------------------------------------------------------------------
    public void OnSkillNo()
    {
        if (BattleParam.IsTutorial())
        {
            return; // チュートリアル中は押せなくする
        }

        if (InGameUtil.isQuest2() == true)
        {
            changePartyUnitParent(false);
        }
        if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO)
        {
            m_newSkill.setupHeroSkill(0);
        }
        else
        {
            m_newSkill.setupLimitBreakSkill(0, 0);
        }
        m_InGameMenuQuest2.Skill_menu_active = false;
        m_InGameMenuQuest2.Menu_bg_active    = false;
        m_SkillMenuActive = false;
        SoundUtil.PlaySE(SEID.SE_MENU_RET);
        m_MenuButton.color = Color.white;
        UnityUtil.SetObjectEnabled(m_MenuButtonMask, false);
    }
 internal SegmentLaneMarker(Bezier3 bezier)
 {
     this.Bezier        = bezier;
     this.IsUnderground = InGameUtil.CheckIsUnderground(bezier.a) ||
                          InGameUtil.CheckIsUnderground(bezier.d);
     CalculateBounds();
 }
Ejemplo n.º 7
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	スキル発動OKボタンタッチ処理
     */
    //----------------------------------------------------------------------------
    public void OnSkillYes()
    {
        if (m_OkDisable == true)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_NG);
            return;
        }
        if (InGameUtil.isQuest2() == true)
        {
            changePartyUnitParent(false);
        }
        if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO)
        {
            m_newSkill.setupHeroSkill(0);
        }
        else
        {
            m_newSkill.setupLimitBreakSkill(0, 0);
        }
        m_InGameMenuQuest2.Skill_menu_active = false;
        m_InGameMenuQuest2.Menu_bg_active    = false;
        m_SkillMenuActive = false;
        SoundUtil.PlaySE(SEID.SE_MENU_OK);
        m_MenuButton.color = Color.white;
        UnityUtil.SetObjectEnabled(m_MenuButtonMask, false);

        BattleParam.RequestLBS(m_CharaIdx);
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 中断復帰でバトルスタート
    /// </summary>
    public void OnPushButtonStartRestore()
    {
        if (m_ScenePhase == ScenePhase.PLAYER_SETUP_WAIT)
        {
            InGameUtil.SetLocalData();

            m_ScenePhase = ScenePhase.INIT_PLAYER;
        }
    }
Ejemplo n.º 9
0
    /// <summary>
    /// 中断データを取得
    /// チュートリアル中はローカルセーブロードしない
    /// </summary>
    /// <returns></returns>
    public static RestoreBattle getRestoreData()
    {
        RestoreBattle restore_battle = null;

        if (IsTutorial() == false)
        {
            restore_battle = InGameUtil.GetRestoreBattle();
        }
        return(restore_battle);
    }
Ejemplo n.º 10
0
        internal void Load()
        {
            try {
                Log.Info($"TMPELifecycle.Load() called. Mode={Mode}, UpdateMode={UpdateMode}, Scene={Scene}");

                if (Scene == "ThemeEditor")
                {
                    return;
                }

                IsGameLoaded = false;

                InGameUtil.Instantiate();

                VersionUtil.CheckGameVersion();

                IsGameLoaded = true;

                CustomPathManager.OnLevelLoaded();

                ModUI.OnLevelLoaded();
                if (PlayMode)
                {
                    UIView uiView = UIView.GetAView();
                    uiView.AddUIComponent(typeof(UITransportDemand));
                    uiView.gameObject.AddComponent <RemoveVehicleButtonExtender>();
                    uiView.gameObject.AddComponent <RemoveCitizenInstanceButtonExtender>();
                    uiView.gameObject.AddComponent <RoadSelectionPanels>();
                }

                Patcher.Install();

                Log.Info("Notifying managers...");
                foreach (ICustomManager manager in RegisteredManagers)
                {
                    Log.Info($"OnLevelLoading: {manager.GetType().Name}");
                    manager.OnLevelLoading();
                }

                // must be subscribed last to notify other mods about TMPE changes
                // after all TMPE rules are applied.
                GeometryNotifierDisposable = GeometryManager.Instance.Subscribe(new GeometryNotifier());
                Notifier.Instance.OnLevelLoaded();
                Log.Info("OnLevelLoaded complete.");
            } catch (Exception ex) {
                ex.LogException(true);
            }
        }
Ejemplo n.º 11
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	情報開閉ボタンタッチ処理:
     */
    //----------------------------------------------------------------------------
    public void OnInfoTouch()
    {
        // メニューオープンタイミングのチェック
        bool isOpen = InGameUtil.ChkInGameOpenWindowTiming();

        if (isOpen == false)
        {
            return;
        }

        if (BattleParam.isEnbaleOptionButton() == false)
        {
            return;
        }

        if (InGameMenuManagerQuest2.Instance != null)
        {
            InGameMenuManagerQuest2.Instance.OnOption();
        }
    }
Ejemplo n.º 12
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	メニューボタンタッチ処理
     */
    //----------------------------------------------------------------------------
    public void OnMenuButton()
    {
        if (BattleParam.IsTutorial() == true)
        {
            return;
        }

        if (IsOpenGameMenu())
        {
            SoundUtil.PlaySE(SEID.SE_MENU_RET);
            CloseInGameMenu();
        }
        else
        {
            if (InGameUtil.ChkInGameOpenWindowTiming())
            {
                SoundUtil.PlaySE(SEID.SE_BATLE_UI_OPEN);
            }
            OpenInGameMenu();
        }
    }
Ejemplo n.º 13
0
        public override void OnCreated(ILoading loading)
        {
            Log._Debug("LoadingExtension.OnCreated() called");

            // SelfDestruct.DestructOldInstances(this);
            base.OnCreated(loading);
            if (IsGameLoaded)
            {
                // When another mod is detected, OnCreated is called again for god - or CS team - knows what reason!
                Log._Debug("Hot reload of another mod detected. Skipping LoadingExtension.OnCreated() ...");
                return;
            }
            InGameUtil.Instantiate();

            RegisteredManagers = new List <ICustomManager>();
            CustomPathManager  = new CustomPathManager();

            RegisterCustomManagers();

            Instance = this;
        }
Ejemplo n.º 14
0
    private bool createBattleRequest()
    {
        if (m_QuestBuild != null)
        {
            if (m_NextChainPartyIndex != 0)
            {
                //敵進化あり
                BattleParam.m_BattleRequest = new BattleReq();
                ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, m_NextChainPartyIndex);

                BattleParam.m_BattleRequest.SetupBattleReq(0,
                                                           false,
                                                           m_NextChainTurnOffset,
                                                           false,
                                                           true,
                                                           m_QuestBuild,
                                                           battle_param);

                m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain;
                m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset;
            }
            else
            {
                m_QuestBuild = null;
                m_EnemyPartyIndex++;
            }
        }

        if (m_QuestBuild == null && m_EnemyPartyIndex < m_EnemyPartyIDs.Length)
        {
            TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle> acQuestBuildBattle = new TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle>();
            TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop>   acQuestBuildDrop   = new TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop>();
            acQuestBuildBattle.Alloc(64);

            MasterDataEnemyGroup enemy_group = BattleParam.m_MasterDataCache.useEnemyGroup((uint)m_EnemyPartyIDs[m_EnemyPartyIndex]);

            int battle_id = CreateQuestBuildBattle(0, ref acQuestBuildBattle, ref acQuestBuildDrop, enemy_group);

            // 敵情報.
            m_QuestBuild             = new ServerDataDefine.PacketStructQuest2Build();
            m_QuestBuild.list_drop   = acQuestBuildDrop.ToArray();
            m_QuestBuild.list_battle = acQuestBuildBattle.ToArray();

            // ヘイト情報付加
            for (int idx = 0; idx < m_QuestBuild.list_battle.Length; idx++)
            {
                ServerDataDefine.PacketStructQuest2BuildBattle battle_build = m_QuestBuild.list_battle[idx];
                if (battle_build != null)
                {
                    battle_build.hate = new ServerDataDefine.PacketStructQuest2Hate();
                    battle_build.hate.hate_initial       = 1000;
                    battle_build.hate.hate_given_damage1 = 1000;
                    battle_build.hate.hate_given_damage2 = 800;
                    battle_build.hate.hate_given_damage3 = 600;
                    battle_build.hate.hate_given_damage4 = 400;
                    battle_build.hate.hate_given_damage5 = 200;
                    battle_build.hate.hate_heal1         = 500;
                    battle_build.hate.hate_heal2         = 400;
                    battle_build.hate.hate_heal3         = 300;
                    battle_build.hate.hate_heal4         = 200;
                    battle_build.hate.hate_heal5         = 100;
                    battle_build.hate.hate_rate_fire     = 100;
                    battle_build.hate.hate_rate_water    = 100;
                    battle_build.hate.hate_rate_wind     = 100;
                    battle_build.hate.hate_rate_light    = 100;
                    battle_build.hate.hate_rate_dark     = 100;
                    battle_build.hate.hate_rate_naught   = 100;

                    battle_build.hate.hate_rate_race1  = 100;
                    battle_build.hate.hate_rate_race2  = 100;
                    battle_build.hate.hate_rate_race3  = 100;
                    battle_build.hate.hate_rate_race4  = 100;
                    battle_build.hate.hate_rate_race5  = 100;
                    battle_build.hate.hate_rate_race6  = 100;
                    battle_build.hate.hate_rate_race7  = 100;
                    battle_build.hate.hate_rate_race8  = 100;
                    battle_build.hate.hate_rate_race9  = 100;
                    battle_build.hate.hate_rate_race10 = 100;
                }
            }

            ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, battle_id);

            BattleParam.m_BattleRequest = new BattleReq();
            BattleParam.m_BattleRequest.SetupBattleReq(0,
                                                       false,
                                                       0,
                                                       false,
                                                       false,
                                                       m_QuestBuild,
                                                       battle_param);

            m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain;
            m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset;
        }

        return(m_QuestBuild != null);
    }
Ejemplo n.º 15
0
    void initPlayerParty2()
    {
        // マスターーデータ
        BattleParam.m_MasterDataCache = m_MasterDataCache;

        // ステージ情報
        BattleParam.m_QuestAreaID    = 0;
        BattleParam.m_QuestMissionID = 0;
        BattleParam.m_QuestFloor     = 0;
        BattleParam.m_AcquireKey     = false;

        //
        BattleParam.ClrLBS();
        BattleParam.m_SkillRequestLimitBreak = new SkillRequestParam(BattleParam.SKILL_LIMIT_BREAK_ADD_MAX);

#if UNITY_EDITOR
        BattleParam.m_IsDamageOutput = false;
#endif

        // プレイヤーパーティメンバー
        if (m_BattleData.m_PlayerParty.m_PlayerCharas != null)
        {
            CharaOnce[] player_party_chara = new CharaOnce[m_BattleData.m_PlayerParty.m_PlayerCharas.Length];
            for (int idx = 0; idx < m_BattleData.m_PlayerParty.m_PlayerCharas.Length; idx++)
            {
                PlayerCharaData player_chara_data = m_BattleData.m_PlayerParty.m_PlayerCharas[idx];
                if (player_chara_data != null)
                {
                    MasterDataParamChara master_data = m_MasterDataCache.useCharaParam((uint)player_chara_data.m_CharaID);
                    if (master_data != null)
                    {
                        CharaOnce chara_once = new CharaOnce();
                        if (player_chara_data.m_CharaLevel < 1)
                        {
                            player_chara_data.m_CharaLevel = 1;
                        }
                        if (player_chara_data.m_CharaLevel > master_data.level_max)
                        {
                            player_chara_data.m_CharaLevel = master_data.level_max;
                        }

                        chara_once.CharaSetupFromID((uint)player_chara_data.m_CharaID,
                                                    player_chara_data.m_CharaLevel,
                                                    player_chara_data.m_SkillLevel,
                                                    player_chara_data.m_LimitOverLevel,
                                                    player_chara_data.m_PlusPower,
                                                    player_chara_data.m_PlusHP,

                                                    (uint)player_chara_data.m_LinkCharaID,
                                                    player_chara_data.m_LinkCharaLevel,
                                                    player_chara_data.m_LinkPlusPower,
                                                    player_chara_data.m_LinkPlusHP,
                                                    player_chara_data.m_LinkFriendry,
                                                    player_chara_data.m_LinkLimitOverLevel
                                                    );

                        player_party_chara[idx] = chara_once;
                    }
                }
            }

            // プレイヤーパーティ
            BattleParam.m_PlayerParty = new CharaParty();
            BattleParam.m_PlayerParty.setHero(m_HeroParam.m_Level, (uint)m_HeroParam.m_HeroSkillID);
            BattleParam.m_PlayerParty.PartySetup(player_party_chara, m_IsKobetsuHP);
            BattleParam.m_PlayerParty.m_PartyTotalSP = m_BattleData.m_PlayerParty.m_SP;

            // ステージ情報
            BattleParam.m_QuestAreaID    = (uint)m_BattleData.m_AreaData.m_AreaID;
            BattleParam.m_QuestMissionID = 0;
            BattleParam.m_QuestFloor     = 0;
            BattleParam.m_AcquireKey     = false;
        }

        if (InGameUtil.IsLocalData())
        {
            SceneGoesParamToQuest2Restore restore = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Restore;
            RestorePlayerParty            restore_player_party = restore.m_PlayerPartyRestore;
            if (restore_player_party != null)
            {
                CharaOnce[] player_party_chara = new CharaOnce[(int)GlobalDefine.PartyCharaIndex.MAX];
                for (int idx = 0; idx < player_party_chara.Length; idx++)
                {
                    CharaOnce chara_once = new CharaOnce();
                    chara_once.CharaSetupFromID(restore_player_party.m_PartyCharaID[idx],
                                                restore_player_party.m_PartyCharaLevel[idx],
                                                restore_player_party.m_PartyCharaLBSLv[idx],
                                                restore_player_party.m_PartyCharaLimitOver[idx],
                                                restore_player_party.m_PartyCharaPlusPow[idx],
                                                restore_player_party.m_PartyCharaPlusHP[idx],

                                                restore_player_party.m_PartyCharaLinkID[idx],
                                                restore_player_party.m_PartyCharaLinkLv[idx],
                                                restore_player_party.m_PartyCharaLinkPlusPow[idx],
                                                restore_player_party.m_PartyCharaLinkPlusHP[idx],
                                                restore_player_party.m_PartyCharaLinkPoint[idx],
                                                restore_player_party.m_PartyCharaLinkLimitOver[idx]
                                                );

                    //------------------------------
                    // リミットブレイクコスト復帰
                    //------------------------------
                    chara_once.m_CharaLimitBreak = restore.m_PlayerPartyRestore.m_PartyCharaLimitBreak[idx];

                    player_party_chara[idx] = chara_once;
                }

                // プレイヤーパーティ
                BattleParam.m_PlayerParty = new CharaParty();
                BattleParam.m_PlayerParty.setHero(0 /*m_HeroParam.m_Level*/, 0 /*(uint)m_HeroParam.m_HeroSkillID*/);
                BattleParam.m_PlayerParty.PartySetup(player_party_chara, restore_player_party.m_IsKobetsuHP);

                //------------------------------
                // パーティ状態異常復帰(CharaParty.PartySetup() より後に復帰)
                //------------------------------
                BattleParam.m_PlayerParty.m_Ailments = restore_player_party.m_PartyAilments;
                BattleParam.m_PlayerParty.m_Ailments.restoreFromSaveData();

                BattleParam.m_PlayerParty.m_HPCurrent.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHP);
                BattleParam.m_PlayerParty.m_PartyTotalSP = restore_player_party.m_QuestSP;
                BattleParam.m_PlayerParty.m_HPMax.setValue(GlobalDefine.PartyCharaIndex.MAX, restore_player_party.m_QuestHPMax);
                BattleParam.m_PlayerParty.m_PartyTotalSPMax   = restore_player_party.m_QuestSPMax;
                BattleParam.m_PlayerParty.m_Hate              = restore_player_party.m_Hate;
                BattleParam.m_PlayerParty.m_Hate_ProvokeTurn  = restore_player_party.m_Hate_ProvokeTurn;
                BattleParam.m_PlayerParty.m_Hate_ProvokeOrder = restore_player_party.m_Hate_ProvokeOrder;

                BattleParam.m_PlayerParty.m_BattleHero.restoreSkillTurn(restore_player_party.m_HeroSkillTurn);
                BattleParam.m_PlayerParty.m_BattleAchive = restore_player_party.m_BattleAchive;
            }
        }
    }
Ejemplo n.º 16
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	スキル発動ウィンドウOPEN
     *          @param[in]	GlobalDefine.PartyCharaIndex	(charaIdx)		キャラパーティインデックス
     *          @param[in]	uint							(charaId)		キャラID
     */
    //----------------------------------------------------------------------------
    public void OpenSkillMenu(GlobalDefine.PartyCharaIndex charaIdx, uint charaId, int turn, bool bSealed = false)
    {
        if (m_InGameMenuQuest2 == null)
        {
            return;
        }
        if (charaIdx == GlobalDefine.PartyCharaIndex.ERROR)
        {
            return;
        }
        // 既に開いてる場合
        if (m_SkillMenuActive == true)
        {
            // 一旦初期化する
            if (InGameUtil.isQuest2() == true)
            {
                changePartyUnitParent(false);
            }
            if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO)
            {
                m_newSkill.setupHeroSkill(0);
            }
            else
            {
                m_newSkill.setupLimitBreakSkill(0, 0);
            }
            m_InGameMenuQuest2.Skill_menu_active = false;
            m_InGameMenuQuest2.Menu_bg_active    = false;
        }

        m_SkillMenuActive = true;
        m_CharaIdx        = charaIdx;
        uint skill_limitbreak = 0;
        uint limitbreak_lv    = 0;

        if (charaIdx == GlobalDefine.PartyCharaIndex.HERO)
        {
            int unique_id = UserDataAdmin.Instance.m_StructPlayer.current_hero_id;
            for (int i = 0; i < UserDataAdmin.Instance.m_StructHeroList.Length; ++i)
            {
                if (UserDataAdmin.Instance.m_StructHeroList[i].unique_id == unique_id)
                {
                    skill_limitbreak = (uint)UserDataAdmin.Instance.m_StructHeroList[i].current_skill_id;
                }
            }
        }
        else
        {
            MasterDataParamChara _master = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaMasterDataParam;
            skill_limitbreak = _master.skill_limitbreak;
            limitbreak_lv    = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLBSLv;
        }

        if (m_newSkill == null)
        {
            m_newSkill = new UnitSkillContext();
            m_InGameMenuQuest2.SkillList.Add(m_newSkill);
        }
        if (charaIdx == GlobalDefine.PartyCharaIndex.HERO)
        {
            m_newSkill.setupHeroSkill(skill_limitbreak);
        }
        else
        {
            m_newSkill.setupLimitBreakSkill(skill_limitbreak, limitbreak_lv);
        }

        m_InGameMenuQuest2.Skill_menu_active = true;
        m_InGameMenuQuest2.Menu_bg_active    = true;

        changePartyUnitParent(true);

        SoundUtil.PlaySE(SEID.SE_BATLE_UI_OPEN);
        m_MenuButton.color = m_MenuButtonGray;
        m_OkDisable        = false;
        m_InGameMenuQuest2.SkillMenuOkColor = Color.white;
        if (turn == 0)
        {
            if (bSealed == true)
            {
                m_InGameMenuQuest2.Skill_title_text = GameTextUtil.GetText("unit_action_01");
                m_InGameMenuQuest2.IsBack           = true;
            }
            else
            {
                m_InGameMenuQuest2.Skill_title_text = GameTextUtil.GetText("battle_infotext6");
                m_InGameMenuQuest2.IsBack           = false;
                if (charaIdx != GlobalDefine.PartyCharaIndex.HERO)
                {
                    if (BattleSceneUtil.checkLimitBreak(BattleParam.m_PlayerParty, m_CharaIdx, BattleParam.m_EnemyParam, BattleParam.m_TargetEnemyCurrent) == false)
                    {
                        m_OkDisable = true;
                        m_InGameMenuQuest2.SkillMenuOkColor = Color.gray;
                    }
                }
            }
        }
        else
        {
            if (charaIdx == GlobalDefine.PartyCharaIndex.HERO)
            {
                m_InGameMenuQuest2.Skill_title_text = string.Format(GameTextUtil.GetText("hero_skill_hands_battle"), turn);
            }
            else
            {
                m_InGameMenuQuest2.Skill_title_text = string.Format(GameTextUtil.GetText("unit_skill_turn_battle"), turn);
            }
            m_InGameMenuQuest2.IsBack = true;
        }
        UnityUtil.SetObjectEnabled(m_MenuButtonMask, true);
    }
Ejemplo n.º 17
0
    //------------------------------------------------------------------------

    /*!
     *      @brief		更新処理
     */
    //------------------------------------------------------------------------
    private void initPanel()
    {
        if (m_CharaIdx == GlobalDefine.PartyCharaIndex.ERROR)
        {
            return;
        }
        PacketStructUnit _unit     = null;
        PacketStructUnit _linkunit = null;
        {
            _unit               = new PacketStructUnit();
            _unit.id            = m_CharaId;
            _unit.level         = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLevel;
            _unit.unique_id     = 1;         // ダミー
            _unit.add_pow       = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusPow;
            _unit.add_def       = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusDef;
            _unit.add_hp        = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaPlusHP;
            _unit.limitbreak_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLBSLv;
            _unit.limitover_lv  = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaLimitOver;
            _unit.link_info     = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_NONE;
            if (InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaID != 0)
            {
                _unit.link_info        = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE;
                _linkunit              = new PacketStructUnit();
                _linkunit.id           = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaID;
                _linkunit.level        = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLv;
                _linkunit.add_pow      = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaPlusPow;
                _linkunit.add_hp       = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaPlusHP;
                _unit.link_point       = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLinkPoint;
                _linkunit.limitover_lv = (uint)InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_LinkParam.m_CharaLOLevel;
                _linkunit.link_info    = (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_LINK;
            }
        }
        MasterDataParamChara _master = InGamePlayerParty.m_PlayerPartyChara[(int)m_CharaIdx].m_CharaMasterDataParam;

        // 名前パネル設定
        unitNamePanel.setup(_master);
        unitNamePanel.IsViewPremiumButton = false;

        // スキルパネル設定
        unitSkillPanel.AllClear();
        unitSkillPanel.AddLeaderSkill(_master.skill_leader);
        unitSkillPanel.AddLimitBreakSkill(_master.skill_limitbreak, (int)_unit.limitbreak_lv);
        unitSkillPanel.AddActiveSkill(_master.skill_active0);
        if (_master.skill_passive == 0)
        {
            unitSkillPanel.AddActiveSkill(_master.skill_active1);
        }
        if (_master.skill_passive != 0)
        {
            unitSkillPanel.AddPassiveSkill(_master.skill_passive);
        }

        // ステータスパネル設定
        CharaParty party      = BattleParam.m_PlayerParty;
        CharaOnce  party_unit = party.getPartyMember(m_CharaIdx, CharaParty.CharaCondition.EXIST);
        int        pow        = (int)((float)party_unit.m_CharaPow * InGameUtil.getCharaAttakPowScale(party_unit, BattleParam.m_PlayerParty.m_Ailments.getAilment(m_CharaIdx)));

        unitParamPanel.setupUnit(_unit, _linkunit, false, party.m_HPCurrent.getValue(m_CharaIdx), party.m_HPMax.getValue(m_CharaIdx), pow);
        unitParamPanel.IsViewExp = false;

        if (_linkunit != null)
        {
            // リンクパネル設定
            unitLinkPanel.setupUnit(_unit, _linkunit, UnitLinkPanel.LinkParamType.Link);
            skillWindowTag.Link_tag_active = true;
        }
        else
        {
            skillWindowTag.Link_tag_active = false;
        }

        // 状態異常パネル設定
        unitAilmentPanel.AllClear();
        unitAilmentPanel.setupCharaAilmentInfo(SceneModeContinuousBattle.Instance.m_PlayerParty.m_Ailments.getAilment(m_CharaIdx));

        UnityUtil.SetObjectEnabledOnce(heroDetailPanel.gameObject, false);

        Label_text = GameTextUtil.GetText("battle_infotext3");
    }
Ejemplo n.º 18
0
 public static void IncrementTotalTurn()
 {
     InGameUtil.IncrementTotalTurn();
 }
Ejemplo n.º 19
0
    // Update is called once per frame
    void Update()
    {
        if (BattleParam.m_PlayerParty != null && BattleParam.isActiveBattle())
        {
            BattleSceneUtil.MultiInt damage_value = BattleParam.m_PlayerParty.getDispDamageValue();
            BattleSceneUtil.MultiInt heal_value   = BattleParam.m_PlayerParty.getDispRecoveryValue();

            if (BattleParam.m_PlayerParty.m_HPCurrent.getValue(GlobalDefine.PartyCharaIndex.MAX) != m_PartyHp ||
                BattleParam.m_PlayerParty.m_HPMax.getValue(GlobalDefine.PartyCharaIndex.MAX) != m_PartyHpMax
                )
            {
                m_PartyHp    = BattleParam.m_PlayerParty.m_HPCurrent.getValue(GlobalDefine.PartyCharaIndex.MAX);
                m_PartyHpMax = BattleParam.m_PlayerParty.m_HPMax.getValue(GlobalDefine.PartyCharaIndex.MAX);
                if (m_PartyHpObject != null)
                {
                    TextMesh text_mesh = m_PartyHpObject.GetComponent <TextMesh>();
                    if (text_mesh != null)
                    {
                        text_mesh.text = "HP:" + m_PartyHp.ToString() + "/" + m_PartyHpMax.ToString();
                    }
                }
            }

            if (damage_value != null)
            {
                int hp_delta = damage_value.getValue(GlobalDefine.PartyCharaIndex.MAX);
                if (hp_delta > 0)
                {
                    DrawDamageManager.showDamage(m_PartyHpDamageLocale.transform, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_WEEK);
                }
            }

            if (heal_value != null)
            {
                int hp_delta = heal_value.getValue(GlobalDefine.PartyCharaIndex.MAX);
                if (hp_delta > 0)
                {
                    DrawDamageManager.showDamage(m_PartyHpDamageLocale.transform, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_HEAL);
                    EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_03, new Vector3(2.0f * 0.05f, -0.9609375f * 0.05f, 0.0f), Vector3.zero, m_PartyHpObject.transform, null, 0.15f);
                }
            }

            if (BattleParam.m_PlayerParty.m_PartyTotalSP != m_PartySp ||
                BattleParam.m_PlayerParty.m_PartyTotalSPMax != m_PartySpMax
                )
            {
                int old_sp = m_PartySp;
                m_PartySp    = BattleParam.m_PlayerParty.m_PartyTotalSP;
                m_PartySpMax = BattleParam.m_PlayerParty.m_PartyTotalSPMax;
                if (m_PartySpObject != null)
                {
                    TextMesh text_mesh = m_PartySpObject.GetComponent <TextMesh>();
                    if (text_mesh != null)
                    {
                        text_mesh.text = "SP:" + m_PartySp.ToString() + "/" + m_PartySpMax.ToString();
                    }
                    if (m_PartySp > old_sp)
                    {
                        EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_SP, new Vector3(2.0f * 0.05f, -0.4f * 0.05f, 0.0f), Vector3.zero, m_PartySpObject.transform, null, 0.125f);
                    }
                }
            }

            // パーティ状態異常
            {
                Transform ailment_object = transform.Find("PartyAilment");
                if (ailment_object != null)
                {
                    InGameAilmentIcon ailment_icon = ailment_object.GetComponent <InGameAilmentIcon>();
                    if (ailment_icon != null)
                    {
                        StatusAilmentChara ailment_info = BattleParam.m_PlayerParty.m_Ailments.getAilment(GlobalDefine.PartyCharaIndex.MAX);
                        ailment_icon.SetStatus(ailment_info);
                    }
                }
            }

            bool is_control = false;
            if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.INPUT)
            {
                is_control = true;
            }

            // ヒーロースキル発動ボタン
            {
                Transform hero_skill_button_trans = transform.Find("Canvas/ButtonHeroSkill");
                if (hero_skill_button_trans != null)
                {
                    Button button = hero_skill_button_trans.GetComponent <Button>();
                    if (button != null)
                    {
                        bool is_button_enable = (is_control && BattleParam.m_PlayerParty.m_BattleHero.checkHeroSkillTurn());
                        button.interactable = is_button_enable;

                        Transform btn_txt = hero_skill_button_trans.Find("Text");
                        if (btn_txt != null)
                        {
                            Text txt = btn_txt.GetComponent <Text>();
                            if (txt != null)
                            {
                                txt.text = BattleParam.m_PlayerParty.m_BattleHero.getSkillTurn().ToString() + "/HERO";
                            }
                        }
                    }
                }
            }

            GlobalDefine.PartyCharaIndex provoke_target = BattleParam.m_PlayerParty._getProvokeTarget();
            for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++)
            {
                string chara_name             = "";
                int    chara_id               = 0;
                int    link_chara_id          = 0;
                string hp_text                = "";
                string skill_name             = "";
                bool   is_active_skill_button = false;

                CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST);
                bool      is_alive   = false;
                if (chara_once != null)
                {
                    MasterDataParamChara chara_master = chara_once.m_CharaMasterDataParam;

                    int   hp      = BattleParam.m_PlayerParty.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx);
                    float hp_rate = hp / (float)BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx);

                    string hp_color = "white";
                    if (hp_rate >= 0.5f)
                    {
                        hp_color = "white";
                        is_alive = true;
                    }
                    else
                    if (hp_rate >= 0.2f)
                    {
                        hp_color = "yellow";
                        is_alive = true;
                    }
                    else
                    if (hp_rate > 0.0f)
                    {
                        hp_color = "red";
                        is_alive = true;
                    }
                    else
                    {
                        hp_color = "#808080";
                    }

                    // キャラ名
                    chara_name = "<color=" + hp_color + ">" + chara_master.name + "</color>";

                    // キャライメージ
                    chara_id = (int)chara_master.fix_id;

                    // リンクキャライメージ
                    if (chara_once.m_LinkParam != null)
                    {
                        link_chara_id = (int)chara_once.m_LinkParam.m_CharaID;
                    }

                    int atk_percent = (int)(InGameUtil.getCharaAttakPowScale(chara_once, BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx)) * 100.0f);
                    int hp_percent  = (int)(BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx) / (float)BattleParam.m_PlayerParty.m_HPBase.getValue((GlobalDefine.PartyCharaIndex)idx) * 100.0f);

                    // キャラ個別HP
                    hp_text = "<color=" + hp_color + ">"
                              + BattleParam.m_PlayerParty.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx)
                              + "/" + BattleParam.m_PlayerParty.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx)
                              + "</color>";

                    if (BattleParam.IsKobetsuHP)
                    {
                        hp_text += " <color=#a0a0a0>HP" + hp_percent.ToString() + "%\n";
                        if (BattleParam.m_PlayerParty.m_Hate_ProvokeTurn.getValue((GlobalDefine.PartyCharaIndex)idx) > 0)
                        {
                            if (provoke_target == (GlobalDefine.PartyCharaIndex)idx)
                            {
                                hp_text += "[挑発]:";
                            }
                            else
                            {
                                hp_text += "挑発:";
                            }
                            hp_text += BattleParam.m_PlayerParty.m_Hate_ProvokeTurn.getValue((GlobalDefine.PartyCharaIndex)idx);
                        }
                        else
                        {
                            hp_text += "Hate:" + BattleParam.m_PlayerParty.m_Hate.getValue((GlobalDefine.PartyCharaIndex)idx);
                        }

                        hp_text += " ATK" + atk_percent.ToString() + "%</color>";
                    }

                    // スキルターン
                    int skill_turn = chara_once.GetTrunToLimitBreak();
                    MasterDataSkillLimitBreak skill_limit_break = BattleParam.m_MasterDataCache.useSkillLimitBreak(chara_master.skill_limitbreak);
                    if (skill_limit_break != null)
                    {
                        skill_name = skill_turn.ToString() + "/" + skill_limit_break.name;
                    }

                    // ボタンのアクティブ・非アクティブ
                    {
                        is_active_skill_button = is_control && BattleParam.IsEnableLBS((GlobalDefine.PartyCharaIndex)idx);
                    }
                }

                // 表示
                {
                    // キャラ名
                    {
                        Transform chara_name_trans = m_MemberObject[idx].transform.Find("CharaName");
                        if (chara_name_trans != null)
                        {
                            Text text_component = chara_name_trans.GetComponent <Text>();
                            if (text_component != null)
                            {
                                text_component.text = chara_name;
                            }
                        }
                    }
                }

                // スキル発動条件表示
                {
                    {
                        MasterDataDefineLabel.ElementType[,] skill_costs = new MasterDataDefineLabel.ElementType[2, 5];

                        if (is_alive)
                        {
                            MasterDataParamChara chara_master = chara_once.m_CharaMasterDataParam;
                            if (chara_master.skill_active0 != 0)
                            {
                                MasterDataSkillActive skill_active0 = BattleParam.m_MasterDataCache.useSkillActive(chara_master.skill_active0);
                                if (skill_active0 != null)
                                {
                                    skill_costs[0, 0] = skill_active0.cost1;
                                    skill_costs[0, 1] = skill_active0.cost2;
                                    skill_costs[0, 2] = skill_active0.cost3;
                                    skill_costs[0, 3] = skill_active0.cost4;
                                    skill_costs[0, 4] = skill_active0.cost5;
                                }
                            }
                            if (chara_master.skill_active1 != 0)
                            {
                                MasterDataSkillActive skill_active1 = BattleParam.m_MasterDataCache.useSkillActive(chara_master.skill_active1);
                                if (skill_active1 != null)
                                {
                                    skill_costs[1, 0] = skill_active1.cost1;
                                    skill_costs[1, 1] = skill_active1.cost2;
                                    skill_costs[1, 2] = skill_active1.cost3;
                                    skill_costs[1, 3] = skill_active1.cost4;
                                    skill_costs[1, 4] = skill_active1.cost5;
                                }
                            }
                        }

                        for (int skill_idx = 0; skill_idx < 2; skill_idx++)
                        {
                            for (int cost_idx = 0; cost_idx < 5; cost_idx++)
                            {
                                Transform cost_trans = m_MemberObject[idx].transform.Find("SkillInfo/Skill" + skill_idx.ToString() + cost_idx.ToString());
                                if (cost_trans != null)
                                {
                                    MasterDataDefineLabel.ElementType element_type = skill_costs[skill_idx, cost_idx];
                                    if (element_type != MasterDataDefineLabel.ElementType.NONE)
                                    {
                                        Image img = cost_trans.GetComponent <Image>();
                                        if (img != null)
                                        {
                                            img.sprite = m_SkillCostElements[(int)element_type];
                                            cost_trans.gameObject.SetActive(true);
                                        }
                                        else
                                        {
                                            cost_trans.gameObject.SetActive(false);
                                        }
                                    }
                                    else
                                    {
                                        cost_trans.gameObject.SetActive(false);
                                    }
                                }
                            }
                        }
                    }

                    // キャライメージ
                    {
                        Transform chara_image_trans = m_MemberObject[idx].transform.Find("Image");
                        if (chara_image_trans != null)
                        {
                            BattleCharaImageViewControl chara_view_control = chara_image_trans.GetComponent <BattleCharaImageViewControl>();
                            if (chara_view_control != null)
                            {
                                chara_view_control.setCharaID(chara_id, BattleCharaImageViewControl.ImageType.FACE);
                            }
                        }
                    }

                    // リンクキャライメージ
                    {
                        Transform chara_image_trans = m_MemberObject[idx].transform.Find("ImageLink");
                        if (chara_image_trans != null)
                        {
                            BattleCharaImageViewControl chara_view_control = chara_image_trans.GetComponent <BattleCharaImageViewControl>();
                            if (chara_view_control != null)
                            {
                                chara_view_control.setCharaID(link_chara_id, BattleCharaImageViewControl.ImageType.FACE);
                            }
                        }
                    }

                    // キャラ個別HP
                    {
                        Transform chara_hp_trans = m_MemberObject[idx].transform.Find("HP");
                        if (chara_hp_trans != null)
                        {
                            Text text_component = chara_hp_trans.GetComponent <Text>();
                            if (text_component != null)
                            {
                                text_component.text = hp_text;
                            }
                        }

                        if (damage_value != null)
                        {
                            int hp_delta = damage_value.getValue((GlobalDefine.PartyCharaIndex)idx);
                            if (hp_delta > 0)
                            {
                                DrawDamageManager.showDamage(chara_hp_trans, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_WEEK, 50.0f);
                            }
                        }

                        if (heal_value != null)
                        {
                            int hp_delta = heal_value.getValue((GlobalDefine.PartyCharaIndex)idx);
                            if (hp_delta > 0)
                            {
                                DrawDamageManager.showDamage(chara_hp_trans, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_HEAL, 50.0f);
                                EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_03, new Vector3(0.01975f, -0.0246875f, 0.0f), Vector3.zero, chara_hp_trans, null, 50.0f * 3.0f);
                            }
                        }
                    }

                    // スキルターン
                    Transform skill_turn_trans = m_MemberObject[idx].transform.Find("SkillButton");
                    if (skill_turn_trans != null)
                    {
                        Text text_component = skill_turn_trans.GetChild(0).GetComponent <Text>();
                        if (text_component != null)
                        {
                            text_component.text = skill_name;
                        }

                        // ボタンのアクティブ・非アクティブ
                        {
                            Button button = skill_turn_trans.GetComponent <Button>();
                            button.interactable = is_active_skill_button;
                        }
                    }
                }

                // 敵にターゲットされているかどうかの表示
                {
                    Transform lock_on_object = m_MemberObject[idx].transform.Find("ImageLockOn");
                    if (lock_on_object != null)
                    {
                        lock_on_object.gameObject.SetActive(BattleParam.m_EnemyToPlayerTarget == (GlobalDefine.PartyCharaIndex)idx);
                    }
                }

                // 状態異常
                if (chara_once != null)
                {
                    Transform ailment_object = m_MemberObject[idx].transform.Find("Ailment");
                    if (ailment_object != null)
                    {
                        InGameAilmentIcon ailment_icon = ailment_object.GetComponent <InGameAilmentIcon>();
                        if (ailment_icon != null)
                        {
                            StatusAilmentChara ailment_info = BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx);
                            ailment_icon.SetStatus(ailment_info);   //毎フレーム設定する必要はないがとりあえず設定しておく
                        }
                    }
                }
            }
        }
    }
Ejemplo n.º 20
0
        public override void OnInspectorGUI()
        {
            GUILayoutOption option = GUILayout.Width(300f);

            DrawDefaultInspector();
            TutorialDebugOption instance = target as TutorialDebugOption;

            if (GUILayout.Button("Carousel_Edit", option))
            {
                TutorialManager.Instance.OnShowCarousel_UnitEdit();
            }
            if (GUILayout.Button("Carousel_BuildUp", option))
            {
                TutorialManager.Instance.OnShowCarousel_UnitBuildUp();
            }
            if (GUILayout.Button("Carousel_Normal02", option))
            {
                TutorialManager.Instance.OnShowCarousel_Scratch();
            }
            if (GUILayout.Button("GoNextMainMenu", option))
            {
                MainMenuManagerFSM.Instance.SendFsmNextEvent();
            }
            if (GUILayout.Button("FinishStory", option))
            {
                TutorialFSM.Instance.SendEvent_FinishStory();
            }
            if (GUILayout.Button("FinishBattle", option))
            {
                TutorialFSM.Instance.SendEvent_FinishBattle();
            }
            if (GUILayout.Button("FinishQuestResult", option))
            {
                TutorialFSM.Instance.SendEvent_FinishQuestResult();
            }
            if (GUILayout.Button("GoOutBattle", option))
            {
                // 中断復帰データの削除
                InGameUtil.RemoveLocalData();
            }
            if (GUILayout.Button("SendEventName", option))
            {
                TutorialFSM.Instance.SendFsmEvent(instance.eventName);
            }
            if (GUILayout.Button("Next", option))
            {
                TutorialFSM.Instance.SendFsmNextEvent();
            }
            if (GUILayout.Button("GetMaster", option))
            {
                MasterDataHero[] master = MasterFinder <MasterDataHero> .Instance.GetAll();

                Debug.LogError("COUNT:" + master.Length);
                foreach (MasterDataHero h in master)
                {
                    Debug.LogError("COUNT:" + h);
                }
            }
            if (GUILayout.Button("HeroDecide", option))
            {
                MasterDataHero[] master = MasterFinder <MasterDataHero> .Instance.GetAll();

                GameObject.FindObjectOfType <TutorialHeroSelect>().Decision(master.FirstOrDefault());
            }
            if (GUILayout.Button("Skip", option))
            {
                TutorialManager.Instance.Skip();
            }
        }
Ejemplo n.º 21
0
 public static bool ChkNoContinueQuest(uint missionID)
 {
     return(InGameUtil.ChkNoContinueQuest(missionID));
 }