/// <summary>
    /// 敵が不死になっているか(BattleLogicがこれを見てBattleLogicを制御する)
    /// </summary>
    /// <returns></returns>
    public bool isNoDeadEnemy()
    {
        bool ret_val = BattleParam.IsTutorial() &&
                       m_IsNoDeadEnemy;

        return(ret_val);
    }
    /// <summary>
    /// チュートリアルのフェイズを設定(BattleLogic側から設定される)
    /// </summary>
    /// <param name="phase"></param>
    public void setTutorialPhase(TutorialBattlePhase phase)
    {
        m_TutorialBattlePhaseReq = phase;

        // チュートリアルをスキップされた場合は、初めての戦闘でチュートリアルダイアログを表示する.
        if (phase == TutorialBattlePhase.INPUT &&
            BattleParam.IsTutorial() == false
            )
        {
            m_IsShowingTutorialDialog = true;
            new SerialProcess().Add((System.Action nextProcess) =>
            {
                showFirstTutorialDialog(TutorialDialog.FLAG_TYPE.BATTLE1, nextProcess);
            })
            .Add((System.Action nextProcess) =>
            {
                showFirstTutorialDialog(TutorialDialog.FLAG_TYPE.AUTO_PLAY, nextProcess);
            })
            .Add((System.Action nextProcess) =>
            {
                m_IsNextCommand           = true;
                m_IsShowingTutorialDialog = false;
            })
            .Flush();
        }

        if (BattleParam.IsTutorial())
        {
            m_IsForbidButton = true;
        }
    }
    //----------------------------------------------------------------------------

    /*!
     *          @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);
        }
    }
Beispiel #4
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);
    }
    //----------------------------------------------------------------------------

    /*!
     *          @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();
    }
Beispiel #6
0
    public override GlobalDefine.PartyCharaIndex getLimitBreakSkillCaster()
    {
        // リミブレスキル使用禁止でないかチェック
        if (m_IsUseLimitBreakSkill)
        {
            int battle_turn_id = getBattleTurnID();

            for (int member_idx = 0; member_idx < MEMBER_ORDER.Length; member_idx++)
            {
                GlobalDefine.PartyCharaIndex member_type = MEMBER_ORDER[member_idx];
                // このターンでまだリミブレスキルを使用していないかチェック(1ターン中に何度も発動できるリミブレスキル対策)
                if (m_LimitBreakSkillTurnID[(int)member_type] != battle_turn_id)
                {
                    // リミブレスキルが使用可能かチェック
                    if (BattleParam.IsEnableLBS(member_type))
                    {
                        m_LimitBreakSkillTurnID[(int)member_type] = battle_turn_id;
                        return(member_type);
                    }
                }
            }
        }

        return(GlobalDefine.PartyCharaIndex.ERROR);
    }
Beispiel #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);
    }
Beispiel #8
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();
        }
    }
Beispiel #9
0
    //------------------------------------------------------------------------

    /*!
     *          @brief		初期化処理
     */
    //------------------------------------------------------------------------
    protected override void Start()
    {
        base.Start();
        if (SceneModeContinuousBattle.Instance != null)
        {
            MasterDataQuest2 master = MasterDataUtil.GetQuest2ParamFromID(SceneModeContinuousBattle.Instance.m_QuestMissionID);
            if (master != null)
            {
                if (m_InGameMenuQuest2 != null)
                {
                    m_QuestName = master.quest_name;
                }

                if (master.enable_autoplay != MasterDataDefineLabel.BoolType.ENABLE)
                {
                    // オートプレイ禁止でなければ、オートプレイボタンの初期状態を設定(出撃画面での設定値を反映)
                    LocalSaveOption cOption      = LocalSaveManager.Instance.LoadFuncOption();
                    bool            is_auto_play = (cOption.m_OptionAutoPlayEnable == (int)LocalSaveDefine.OptionAutoPlayEnable.ON);
                    if (is_auto_play)
                    {
                        BattleParam.setAutoPlayState(BattleParam.AutoPlayState.ON);
                    }
                    else
                    {
                        BattleParam.setAutoPlayState(BattleParam.AutoPlayState.OFF);
                    }
                }
                else
                {
                    // オートプレイ禁止
                    BattleParam.setAutoPlayState(BattleParam.AutoPlayState.NONE);
                }
            }
        }
    }
Beispiel #10
0
 public void OnPushButtonRetire()
 {
     if (m_ScenePhase == ScenePhase.BATTILING)
     {
         BattleParam.endBattleScene();
         m_ScenePhase = ScenePhase.INIT;
     }
 }
    protected override void OnDestroy()
    {
        base.OnDestroy();

        SceneCommon.initalizeMenuFps();

        BattleParam.clearValues();
    }
Beispiel #12
0
        //TODO no character stats should be calculated, should be updated on equip and unequip / buff application move
        public List <PacketResponse> CalculateBattleStats(NecClient client)
        {
            List <PacketResponse> responses   = new List <PacketResponse>();
            BattleParam           battleParam = new BattleParam();

            client.character.ConditionBonus();
            client.character.weight.SetCurrent(0);
            client.character.gp.SetMax(0);
            bool shieldCheck = false;

            foreach (ItemInstance itemInstance in client.character.equippedItems.Values)
            {
                if (itemInstance.currentEquipSlot.HasFlag(ItemEquipSlots.RightHand) | (itemInstance.currentEquipSlot == ItemEquipSlots.Quiver))
                {
                    battleParam.plusPhysicalAttack += (short)(itemInstance.physical + itemInstance.plusPhysical);
                    battleParam.plusMagicalAttack  += (short)(itemInstance.magical + itemInstance.plusMagical);
                }
                else
                {
                    battleParam.plusPhysicalDefence += (short)(itemInstance.physical + itemInstance.plusPhysical);
                    battleParam.plusMagicalDefence  += (short)(itemInstance.magical + itemInstance.plusMagical);
                }

                client.character.gp.SetMax(client.character.gp.max + itemInstance.gp + itemInstance.plusGp);
                client.character.weight.Modify(itemInstance.weight + itemInstance.plusWeight);
                if ((itemInstance.type == ItemType.SHIELD_LARGE) | (itemInstance.type == ItemType.SHIELD_MEDIUM) | (itemInstance.type == ItemType.SHIELD_SMALL))
                {
                    shieldCheck = true;
                }
            }

            //if you dont have a shield on,  set your GP to 0.  no blocking for you
            if (shieldCheck == false)
            {
                client.character.gp.SetMax(0);
                RecvCharaUpdateAc recvCharaUpdateAc = new RecvCharaUpdateAc(client.character.gp.max);
                responses.Add(recvCharaUpdateAc);
            }

            RecvCharaUpdateMaxWeight recvCharaUpdateMaxWeight = new RecvCharaUpdateMaxWeight(client.character.weight.max / 10, client.character.weight.current / 10 /*Weight.Diff*/);

            responses.Add(recvCharaUpdateMaxWeight);

            RecvCharaUpdateWeight recvCharaUpdateWeight = new RecvCharaUpdateWeight(client.character.weight.current / 10);

            responses.Add(recvCharaUpdateWeight);

            RecvCharaUpdateMaxAc recvCharaUpdateMaxAc = new RecvCharaUpdateMaxAc(client.character.gp.max);

            responses.Add(recvCharaUpdateMaxAc);

            RecvCharaUpdateBattleBaseParam recvCharaUpdateBattleBaseParam = new RecvCharaUpdateBattleBaseParam(client.character, battleParam);

            responses.Add(recvCharaUpdateBattleBaseParam);

            client.character.battleParam = battleParam;
            return(responses);
        }
    public bool isEnableUnitInfoWindow()
    {
        if (BattleParam.IsTutorial())
        {
            return(m_IsEnableUnitInfoWindow && (m_IsForbidButton == false));
        }

        return(true);
    }
    public bool isEnableOptionButton()
    {
        if (BattleParam.IsTutorial())
        {
            return(m_IsEnableOptionButton && (m_IsForbidButton == false));
        }

        return(true);
    }
    public TutorialOptionMenuPhase getTutorialOptionMenuPhase()
    {
        if (BattleParam.IsTutorial())
        {
            return(m_TutorialOptionMenuPhase);
        }

        return(TutorialOptionMenuPhase.ALL_ON);
    }
    /// <summary>
    /// ダイアログ表示中待ちか(BattleLogicがこれを見てBattleLogicを制御する)
    /// </summary>
    /// <returns></returns>
    public bool isWaitTutorial()
    {
        bool ret_val = BattleParam.IsTutorial() &&
                       (m_CurrentCommandText != null ||
                        (m_TutorialBattlePhaseCurrent != m_TutorialBattlePhaseReq)
                       );

        ret_val |= m_IsShowingTutorialDialog;

        return(ret_val);
    }
    /// <summary>
    /// 敵の全滅要求(BattleLogicがこれを見てBattleLogicを制御する)
    /// </summary>
    /// <param name="is_reset_flag"></param>
    /// <returns></returns>
    public bool isAllDeadEnemy(bool is_reset_flag)
    {
        bool ret_val = BattleParam.IsTutorial() &&
                       m_IsAllDeadEnemy;

        if (is_reset_flag)
        {
            m_IsAllDeadEnemy = false;
        }

        return(ret_val);
    }
Beispiel #18
0
    //----------------------------------------------------------------------------

    /*!
     *  @brief		手札変換:パネル指定
     */
    //----------------------------------------------------------------------------
    public void ChangeHandPanel(BattleSkillActivity activity)
    {
        //------------------------------
        //	エラーチェック
        //------------------------------
        if (activity == null ||
            BattleParam.isActiveBattle() == false)
        {
            return;
        }

        // バトルマネージャ取得
        BattleSceneManager battleMgr = BattleSceneManager.Instance;


        // 汎用パラメータから設定
        MasterDataDefineLabel.ElementType[] elemArray = activity.Get_BOOSTSKILL_HAND_CNG_PANEL();

        for (int i = 0; i < elemArray.Length; ++i)
        {
            BattleScene.BattleCard battle_card = battleMgr.PRIVATE_FIELD.m_BattleCardManager.m_HandArea.getCard(i);

            if (battle_card == null ||
                elemArray[i] == MasterDataDefineLabel.ElementType.MAX)
            {
                continue;
            }

            // 変換先が設定されている場合
            if (elemArray[i] != MasterDataDefineLabel.ElementType.NONE)
            {
                // 属性変更
                battle_card.setElementType(elemArray[i], BattleScene.BattleCard.ChangeCause.SKILL);

                //	手札変化エフェクト
                BattleSceneManager.Instance.PRIVATE_FIELD.m_BattleCardManager.addEffectInfo(BattleScene._BattleCardManager.EffectInfo.EffectPosition.HAND_CARD_AREA, i, BattleScene._BattleCardManager.EffectInfo.EffectType.CARD_CHANGE);
                // 設定されていない場合は、ランダム変換
            }
            else
            {
                // ランダム属性を取得
                MasterDataDefineLabel.ElementType randElement = (MasterDataDefineLabel.ElementType)RandManager.GetRand((int)MasterDataDefineLabel.ElementType.NAUGHT,
                                                                                                                       (int)MasterDataDefineLabel.ElementType.MAX);

                // 属性変更
                battle_card.setElementType(randElement, BattleScene.BattleCard.ChangeCause.SKILL);

                //	手札変化エフェクト
                BattleSceneManager.Instance.PRIVATE_FIELD.m_BattleCardManager.addEffectInfo(BattleScene._BattleCardManager.EffectInfo.EffectPosition.HAND_CARD_AREA, i, BattleScene._BattleCardManager.EffectInfo.EffectType.CARD_CHANGE);
            }
        }
    }
Beispiel #19
0
    /// <summary>
    /// リミットブレイクスキル発動ボタンが押された
    /// </summary>
    /// <param name="my_owner_object"></param>
    public void OnPushLimitBreakSkillButton(GameObject my_owner_object)
    {
        for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++)
        {
            GameObject wrk_button = m_MemberObject[idx];
            if (wrk_button == my_owner_object)
            {
                BattleParam.RequestLBS((GlobalDefine.PartyCharaIndex)idx);

                break;
            }
        }
    }
Beispiel #20
0
    /// <summary>
    /// 分析副本中的碎片   add by  wxl
    /// </summary>

    /*   public void Analysis(){
     *  foreach (FloorData fdata in FloorConfigList.Values) {
     *      if (fdata != null) {
     *          if (fdata.isBoss == 1) {
     *              if (!floorAndRewardDic.ContainsKey (fdata.specialRewardID)) {
     *                  List<int> floorIdList = new List<int> ();
     *                  floorIdList.Add (fdata.ID);
     *                  int tId = fdata.specialRewardID;
     *                  if (DataCore.getDataType (fdata.specialRewardID) == ConfigDataType.Frag) {
     *                      SoulData soulConfig = Core.Data.soulManager.GetSoulConfigByNum (fdata.specialRewardID);
     *
     *                      if (soulConfig != null) {
     *                          if (soulConfig.type == (int)ItemType.Monster_Frage) {
     *                              tId = soulConfig.updateId;
     *                          }
     *                      } else {
     *                          RED.LogWarning ("  soul config  is null = " + tId);
     *                                                          continue;
     *                      }
     *
     *                  } else if (DataCore.getDataType (fdata.specialRewardID) == ConfigDataType.Monster) {
     *
     *                      tId = fdata.specialRewardID;
     *                  } else if (DataCore.getDataType (fdata.specialRewardID) == ConfigDataType.Equip) {
     *                      tId = fdata.specialRewardID;
     *
     *                  } else {
     *                      RED.Log ("  other type id = " + tId);
     *                  }
     *
     *                  if (!floorAndRewardDic.ContainsKey (tId)) {
     *                      floorAndRewardDic.Add (tId, floorIdList);
     *                  } else {
     *                      List<int> tList = new List<int> ();
     *                      floorAndRewardDic.TryGetValue (tId, out tList);
     *                      floorAndRewardDic.Remove (tId);
     *                      tList.Add (fdata.ID);
     *                      floorAndRewardDic.Add (tId, tList);
     *
     *                  }
     *              } else {
     *                  List<int> tList = new List<int> ();
     *                  floorAndRewardDic.TryGetValue (fdata.specialRewardID, out tList);
     *                  floorAndRewardDic.Remove (fdata.specialRewardID);
     *                  tList.Add (fdata.ID);
     *                  floorAndRewardDic.Add (fdata.specialRewardID, tList);
     *              }
     *          }
     *      }
     *  }
     * }
     */

    /// <summary>
    /// 通过宠物或者装备id获得关卡id  maybe equip ,frag and monster
    /// </summary>
    /// <returns>The floor id by giftid</returns>
    /// <param name="giftId">Gift identifier.</param>
//	public List<int> GetFloorIdByGiftId(int giftId){
//		List<int> targetId =new List<int>();
//		if(giftId != 0){
//
//			if(floorAndRewardDic.TryGetValue(giftId,out targetId)){
//				return targetId;
//			}
//		}
//			return targetId;
//	}

    #region 更新地下城状态

    public void OnFinishFloor(BaseHttpRequest request, BaseResponse response)
    {
        Utils.Assert(request == null, "Request is null.");

        if (response.status == BaseResponse.ERROR)
        {
            return;
        }

        if (request.baseType == BaseHttpRequestType.Common_Http_Request)
        {
            HttpRequest req = request as HttpRequest;
            if (req != null)
            {
                BaseRequestParam param = req.ParamMem;
                BattleResponse   res   = response as BattleResponse;

                if (param != null)
                {
                    bool        isWin = false;
                    BattleParam bp    = param as BattleParam;
                    if (res != null)
                    {
                        if (res.status != BaseResponse.ERROR)
                        {
                            isWin             = System.Convert.ToBoolean(res.data.battleData.retCode);
                            isBossOfLastFloor = true;
                        }
                    }
                    else
                    {
                        /*没有返回结果说明是小关(小关100%成功)*/
                        isWin             = true;
                        isBossOfLastFloor = false;
                    }


                    #region 测试代码
                    //isWin=false;
                    #endregion

                    this.isWinOfLastFloor = isWin;
                    if (bp != null)
                    {
                        OnFinishFloor(bp.doorId, isWin);
                    }
                }
            }
        }
    }
Beispiel #21
0
    /// <summary>
    /// 战斗相关参数加载 回调函数
    /// </summary>
    /// <param name="context"></param>
    public void BattleParamLoadCallBack(string context)
    {
        BattleParam bp = JsonUtility.FromJson <BattleParam>(context);

        if (bp == null)
        {
            Debug.LogError("BattleParam json transform failed");
        }

        levelUpExp     = bp.levelUpExp;
        levelMax       = bp.levelMax;
        levelUpExpRate = bp.expUpRate;
        perEnemyExp    = bp.perEnemyExp;
        perEnemyMp     = bp.perEnemyMp;
    }
Beispiel #22
0
    private void addCoinOrExp(BaseHttpRequest request, BattleSequence reward)
    {
        if (reward != null)
        {
            if (reward.sync != null)
            {
                if (!Core.Data.guideManger.isGuiding)
                {
                    RTData.curCoin     = reward.sync.coin;
                    RTData.curExp      = reward.sync.ep;
                    RTData.curStone    = reward.sync.stone;
                    RTData.curVipLevel = reward.sync.vip;
                }
                else
                {
                    //新手引导是假数据不要同步
                    RTData.curCoin += (reward.reward.bco + reward.reward.eco);
                    RTData.curExp  += (reward.reward.bep + reward.reward.eep);
                }
            }

            //可能会导致升等级
            if (RTData.curLevel < reward.sync.lv)
            {
                HttpRequest req      = request as HttpRequest;
                BattleParam sendData = req.ParamMem as BattleParam;
                //如果是小关卡,打完以后直接升级,如果是BOSS关卡,升级处理将留到战斗播放完毕
                if (sendData != null)
                {
                    if (Core.Data.dungeonsManager.getFloorData(sendData.doorId).isBoss == 0)
                    {
                        RTData.curLevel = reward.sync.lv;
                    }
                    else
                    {
                        Core.Data.temper.AfterBattleLv = reward.sync.lv;
                    }

                    upgrade = true;
                }
            }
            else if (RTData.curLevel == reward.sync.lv)
            {
                //.. seems to do nothing
            }
        }
    }
Beispiel #23
0
    public override string generateLocalJson(HttpTask task)
    {
        string json = string.Empty;


        HttpRequest req = task.request as HttpRequest;

        if (req != null)
        {
            BattleParam param = req.ParamMem as BattleParam;
            if (param != null)
            {
                json = PreDefined[param.doorId];
            }
        }


        return(json);
    }
Beispiel #24
0
    public void OnAutoPlayButton()
    {
        if (BattleParam.IsTutorial())
        {
            return; // チュートリアル中は押せなくする
        }

        switch (BattleParam.getAutoPlayState())
        {
        case BattleParam.AutoPlayState.OFF:
            SoundUtil.PlaySE(SEID.SE_MENU_OK);
            BattleParam.setAutoPlayState(BattleParam.AutoPlayState.ON);
            break;

        case BattleParam.AutoPlayState.ON:
            SoundUtil.PlaySE(SEID.SE_MENU_OK);
            BattleParam.setAutoPlayState(BattleParam.AutoPlayState.OFF);
            break;
        }
    }
Beispiel #25
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();
        }
    }
    public bool isForbidLimitBreak(GlobalDefine.PartyCharaIndex caster_index)
    {
        if (BattleParam.IsTutorial())
        {
            if (m_IsForbidButton)
            {
                return(true);
            }
            if (caster_index >= GlobalDefine.PartyCharaIndex.LEADER && caster_index < GlobalDefine.PartyCharaIndex.MAX)
            {
                return(m_IsForbidLimitBreak[(int)caster_index]);
            }
            if (caster_index == GlobalDefine.PartyCharaIndex.HERO)
            {
                return(true);
            }
        }

        return(false);
    }
Beispiel #27
0
    public void OnFailToWar(BaseHttpRequest request)
    {
        Utils.Assert(request == null, "Request is null");

        if (request.baseType == BaseHttpRequestType.Common_Http_Request)
        {
            HttpRequest req = request as HttpRequest;
            if (req != null)
            {
                BaseRequestParam param = req.ParamMem;
                if (param != null)
                {
                    BattleParam bp = param as BattleParam;
                    if (bp != null)
                    {
                        FailToWar(bp.doorId);
                    }
                }
            }
        }
    }
Beispiel #28
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();
        }
    }
Beispiel #29
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="is_active"></param>
    /// <param name="ai"></param>
    /// <param name="is_debug_stop_mode">ユーザーが画面タッチしたらオートモードを解除するかどうか</param>
    public void startAutoPlay(AI ai = null, bool is_debug_stop_mode = false)
    {
        m_IsPlaying       = true;
        m_IsDebugStopMode = is_debug_stop_mode;
        if (m_IsDebugStopMode)
        {
            BattleParam.setAutoPlayState(BattleParam.AutoPlayState.ON);
        }

        if (ai != null)
        {
            m_AI = ai;
        }
        else
        {
            m_AI = new AI_Default();
        }
        m_AI.startAutoPlay();

        m_Timer         = 0.0f;
        m_AutoPlayPhase = AutoPlayPhase.START_WAIT;
    }
Beispiel #30
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);
    }