Example #1
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	Unity固有処理:更新処理	※定期処理
     */
    //----------------------------------------------------------------------------
    void Update()
    {
        //--------------------------------
        // プレイヤー関連ゲージの更新
        // ※パーティ情報に更新があった場合のみ更新
        //--------------------------------
        if (m_PlayerParty != null &&
            m_PlayerParty.m_PartySetupOK == true &&
            SceneModeContinuousBattle.Instance.m_InGameBattleInitOK == true &&
            BattleParam.m_PlayerParty != null)
        {
            int total_hands = 0;
            // 保存しているSPと現在値が異なっている場合、SP表示更新。
            if (m_PartyTotalSPPrv != m_PlayerParty.m_PartyTotalSP &&
                BattleSkillCutinManager.Instance != null &&
                BattleSkillCutinManager.Instance.isRunning() == false)
            {
                m_PartyTotalSPPrv = m_PlayerParty.m_PartyTotalSP;

                m_InGamePartyManager.setGaugeSp(m_PartyTotalSPPrv);
            }
            // 総Hands数
            if (m_HandsView == true)
            {
                for (int i = 0; i < (int)GlobalDefine.PartyCharaIndex.MAX; i++)
                {
                    if (InGamePlayerParty.m_PlayerPartyChara[i] != null &&
                        InGamePlayerParty.m_PlayerPartyChara[i].m_CharaMasterDataParam != null)
                    {
                        total_hands += BattleParam.getPartyMemberHands((GlobalDefine.PartyCharaIndex)i);
                    }
                }
                if (m_PartyTotalHandsPrv != total_hands)
                {
                    if (m_PartyTotalHandsPrv < 0 && total_hands == 0)
                    {
                    }
                    else
                    {
                        m_PartyTotalHandsPrv = total_hands;
                        m_InGamePartyManager.setTotalHands(m_PartyTotalHandsPrv);
                    }
                }
            }
            else
            {
                m_PartyTotalHandsPrv = -1;
                if (m_InGamePartyManager.Total_hands_active == true)
                {
                    m_InGamePartyManager.setTotalHands(-1);
                }
            }
            if (BattleParam.m_PlayerParty.m_BattleHero != null &&
                m_HeroTotalSkillPrv != BattleParam.m_PlayerParty.m_BattleHero.getSkillTurn())
            {
                m_HeroTotalSkillPrv = BattleParam.m_PlayerParty.m_BattleHero.getSkillTurn();


                //----------------------------------------
                // スキルターン数に合わせてUIのゲージ更新
                //----------------------------------------
                float rate = 0;
                if (BattleParam.m_PlayerParty.m_BattleHero.getSkillTurnMax() != 0)
                {
                    rate = 1 - ((float)m_HeroTotalSkillPrv / (float)BattleParam.m_PlayerParty.m_BattleHero.getSkillTurnMax());
                }
                m_HeroGauge.fillAmount = rate;
                if (BattleParam.m_PlayerParty.m_BattleHero.checkHeroSkillTurn() == false)
                {
                    m_InGamePartyManager.Hero_balloon_text    = string.Format(GameTextUtil.GetText("hero_skill_hands_battle"), m_HeroTotalSkillPrv);
                    m_InGamePartyManager.Hero_balloon2_active = false;
                    if (m_InfoOpen == true &&
                        m_InGamePartyManager.Hero_balloon1_active == false)
                    {
                        m_InGamePartyManager.Hero_balloon1_active = true;
                    }
                }
                else
                {
                    m_InGamePartyManager.Hero_balloon2_active = true;
                    m_InGamePartyManager.Hero_balloon1_active = false;
                    if (BattleSceneUtil.checkLimitBreak(BattleParam.m_PlayerParty, GlobalDefine.PartyCharaIndex.HERO, BattleParam.m_EnemyParam, BattleParam.m_TargetEnemyCurrent) == false)
                    {
                        m_InGamePartyManager.Hero_balloon2_color = Balloon_gray;
                    }
                    else
                    {
                        m_InGamePartyManager.Hero_balloon2_color = Color.white;
                    }
                }
            }
        }

        if (InGameQuestData.Instance != null)
        {
            //----------------------------------------
            // 金額総数を表示
            //----------------------------------------
            if (m_CoinNum != InGameQuestData.Instance.GetAcquireMoneyTotal())
            {
                m_CoinNum = InGameQuestData.Instance.GetAcquireMoneyTotal();
                m_InGamePartyManager.Coin_num = m_CoinNum.ToString();
            }
            //----------------------------------------
            // 取得チケット数を表示
            //----------------------------------------
            if (m_TicketNum != InGameQuestData.Instance.GetAcquireTicketTotal())
            {
                m_TicketNum = InGameQuestData.Instance.GetAcquireTicketTotal();
                m_InGamePartyManager.Ticket_num = m_TicketNum.ToString();
            }
            //----------------------------------------
            // 取得ユニット数数を表示
            //----------------------------------------
            if (m_UnitNum != InGameQuestData.Instance.GetAcquireUnitTotal())
            {
                m_UnitNum = InGameQuestData.Instance.GetAcquireUnitTotal();
                m_InGamePartyManager.Unit_num = m_UnitNum.ToString();
            }
        }

        // 「Ready」アニメーション制御
        if (m_InGamePartyManager.Hero_balloon2_active &&
            (InGameMenuManagerQuest2.Instance != null && InGameMenuManagerQuest2.Instance.isSkillMenuActive == false))
        {
            bool animStop = false;
            if (BattleParam.getBattlePhase() == BattleParam.BattlePhase.INPUT_HANDLING ||
                BattleParam.isCountDown()
                )
            {
                // プレイヤー操作中・カウントダウン中はアニメーションしない。「Ready」表示状態で止める。
                animStop = true;
            }
            setReadyAnimation(animStop);
        }
    }