示例#1
0
    public override bool isSkipCountDown()
    {
        int skip_on_hands = m_SkillWorksInfo.getSkipOnHands();

        if (skip_on_hands > 0)
        {
            int hands_count = 0;
            for (GlobalDefine.PartyCharaIndex member_idx = GlobalDefine.PartyCharaIndex.LEADER; member_idx < GlobalDefine.PartyCharaIndex.MAX; member_idx++)
            {
                hands_count += BattleParam.getPartyMemberHands(member_idx);
            }

            if (hands_count >= skip_on_hands)
            {
                return(true);
            }
        }

        for (int skill_idx = 0; skill_idx < 2; skill_idx++)
        {
            for (GlobalDefine.PartyCharaIndex member_idx = GlobalDefine.PartyCharaIndex.LEADER; member_idx < GlobalDefine.PartyCharaIndex.MAX; member_idx++)
            {
                bool is_skip = m_SkillWorksInfo.isSkipOnSkillFormed(skill_idx, member_idx);
                if (is_skip)
                {
                    int skill_count = BattleParam.getFormedSkillCounts(skill_idx, (GlobalDefine.PartyCharaIndex)member_idx);
                    if (skill_count > 0)
                    {
                        return(true);
                    }
                }
            }
        }

        return(false);
    }
示例#2
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);
        }
    }