コード例 #1
0
    public void Init()
    {
        this.m_eStatus      = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE;
        this.MYSOL_NUM_MAX  = 9;
        this.m_BatchUserSol = new MACRO_SOLDIERBATCH[this.MYSOL_NUM_MAX];
        for (int i = 0; i < this.MYSOL_NUM_MAX; i++)
        {
            this.m_BatchUserSol[i] = new MACRO_SOLDIERBATCH();
        }
        this.m_FriendBatch = new MACRO_SOLDIERBATCH[3];
        for (int i = 0; i < 3; i++)
        {
            this.m_FriendBatch[i] = new MACRO_SOLDIERBATCH();
        }
        this.m_nMyBatchSolNum = 0;
        BabelTowerMainDlg babelTowerMainDlg = NrTSingleton <FormsManager> .Instance.GetForm(G_ID.BABELTOWERMAIN_DLG) as BabelTowerMainDlg;

        if (babelTowerMainDlg != null)
        {
            this.m_nFloorType = babelTowerMainDlg.FloorType;
            PlayerPrefs.SetInt(NrPrefsKey.LASTPLAY_BABELTYPE, (int)this.m_nFloorType);
        }
        this.m_nFloorType = (short)PlayerPrefs.GetInt(NrPrefsKey.LASTPLAY_BABELTYPE, 1);
        if (this.m_nFloorType == 2)
        {
            this.m_nSelectStage = (short)PlayerPrefs.GetInt(NrPrefsKey.LASTPLAY_BABELFLOOR_HARD, 0);
            this.m_nSubFloor    = (short)PlayerPrefs.GetInt(NrPrefsKey.LASTPLAY_BABELSUBFLOOR_HARD, -1);
        }
        else
        {
            this.m_nSelectStage = (short)PlayerPrefs.GetInt(NrPrefsKey.LASTPLAY_BABELFLOOR, 0);
            this.m_nSubFloor    = (short)PlayerPrefs.GetInt(NrPrefsKey.LASTPLAY_BABELSUBFLOOR, -1);
        }
        this.m_bStop = false;
    }
コード例 #2
0
    private bool WaitCure()
    {
        if (this.m_BatchUserSol == null)
        {
            return(false);
        }
        int num  = 0;
        int num2 = 0;

        for (int i = 0; i < this.m_nMyBatchSolNum; i++)
        {
            if (this.m_BatchUserSol[i].m_nSolID > 0L && this.m_BatchUserSol[i].m_bInjury)
            {
                if (this.m_BatchUserSol[i].m_eRequestInjury != INJURY_CURE_LEVEL.INJURY_CURE_LEVEL_NONE)
                {
                    num++;
                }
                else
                {
                    num2++;
                }
            }
        }
        if (num > 0)
        {
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_WAIT_CURE;
            return(false);
        }
        if (num2 > 0)
        {
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_INJURY;
            return(false);
        }
        return(true);
    }
コード例 #3
0
    public void SetStatus(eBABEL_MACRO_STATUS eStatus, float fTime)
    {
        this.m_eStatus     = eStatus;
        this.m_fSelectTime = fTime;
        if (this.m_eStatus == eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE)
        {
            NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.BABELTOWER_REPEAT_MAIN_DLG);

            NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.BABELTOWER_REPEAT_DLG);

            NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.BATTLE_RESULT_DLG);
        }
    }
コード例 #4
0
 public void Start(bool bAutoReviveCheck, bool bBattleSpeedCheck)
 {
     if (this.m_eStatus == eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE)
     {
         this.m_eStatus           = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_INIT;
         this.m_nMacroCount       = 0;
         this.m_iMacroWinCount    = 0;
         this.m_iMacroDefeatCount = 0;
         this.m_bOpenMacro        = true;
         this.m_bAutoRevive       = bAutoReviveCheck;
         this.m_bBattleSpeedCheck = bBattleSpeedCheck;
     }
     if (NrTSingleton <FormsManager> .Instance.IsShow(G_ID.BATTLE_RESULT_CONTENT_DLG))
     {
         this.m_bAutoBattle = true;
     }
 }
コード例 #5
0
    public void Update()
    {
        if (this.m_bStop)
        {
            return;
        }
        if (Time.realtimeSinceStartup - this.m_fUpdateTime < 0.4f)
        {
            return;
        }
        this.m_fUpdateTime = Time.realtimeSinceStartup;
        switch (this.m_eStatus)
        {
        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_INIT:
            this.Init();
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_BATTLEPOS;
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_BATTLEPOS:
            if (!this.CheckBattlePos())
            {
                this.SetStatus(eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE, 0f);
                return;
            }
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_INJURY;
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_INJURY:
            if (!this.InjuryCureComplete())
            {
                this.SetStatus(eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE, 0f);
                return;
            }
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_WAIT_CURE;
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_WAIT_CURE:
            if (!this.WaitCure())
            {
                return;
            }
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_START;
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_START:
            if (!this.StartBabelMacroBattle())
            {
                this.SetStatus(eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE, 0f);
                return;
            }
            this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_ING;
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_SELECT_SPECIAL_RESULT:
            if (Time.realtimeSinceStartup - this.m_fSelectTime > 0.3f && this.m_fSelectTime != 0f)
            {
                Battle_ResultDlg_Content battle_ResultDlg_Content = (Battle_ResultDlg_Content)NrTSingleton <FormsManager> .Instance.GetForm(G_ID.BATTLE_RESULT_CONTENT_DLG);

                if (battle_ResultDlg_Content != null)
                {
                    int iSelectIndex = UnityEngine.Random.Range(0, 4);
                    battle_ResultDlg_Content.ClickRewardCardButton(iSelectIndex);
                    this.m_fSelectTime = 0f;
                }
            }
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_SELECT_SPECIAL_COMPLETE:
            if (Time.realtimeSinceStartup - this.m_fSelectTime > 1f && this.m_fSelectTime != 0f)
            {
                Battle_ResultDlg_Content battle_ResultDlg_Content2 = (Battle_ResultDlg_Content)NrTSingleton <FormsManager> .Instance.GetForm(G_ID.BATTLE_RESULT_CONTENT_DLG);

                if (battle_ResultDlg_Content2 != null)
                {
                    battle_ResultDlg_Content2.ClickRewardOKButton(null);
                    this.m_fSelectTime = 0f;
                }
            }
            break;

        case eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_BATTLE_END:
        {
            COMMON_CONSTANT_Manager instance = COMMON_CONSTANT_Manager.GetInstance();
            int num = 0;
            if (instance != null)
            {
                if (NrTSingleton <ContentsLimitManager> .Instance.IsVipExp())
                {
                    num = instance.GetValue(eCOMMON_CONSTANT.eCOMMON_CONSTANT_BATTLE_REPEAT);
                }
                else
                {
                    int vipLevelAddBattleRepeat = (int)NrTSingleton <NrTableVipManager> .Instance.GetVipLevelAddBattleRepeat();

                    num = instance.GetValue(eCOMMON_CONSTANT.eCOMMON_CONSTANT_BATTLE_REPEAT) + vipLevelAddBattleRepeat;
                }
            }
            if (this.m_bAutoBattle)
            {
                this.m_bAutoBattle = false;
            }
            else
            {
                this.m_nMacroCount++;
            }
            if (this.m_bBattleSpeedCheck)
            {
                NrMyCharInfo kMyCharInfo = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;
                if (kMyCharInfo != null)
                {
                    long charSubData = kMyCharInfo.GetCharSubData(eCHAR_SUBDATA.CHAR_SUBDATA_BATTLESPEED_COUNT);
                    if (charSubData > 0L)
                    {
                        int @int = PlayerPrefs.GetInt(NrPrefsKey.AUTOSELLGRADE, 0);
                        int int2 = PlayerPrefs.GetInt(NrPrefsKey.AUTOSELLRANK, 0);
                        TsLog.LogWarning("!!!!!!!!!!!!!!!!!! Macro Grade : {0}", new object[]
                            {
                                @int
                            });
                        TsLog.LogWarning("!!!!!!!!!!!!!!!!!! Macro Rank : {0}", new object[]
                            {
                                int2
                            });
                        if (@int > 0 || int2 > 0)
                        {
                            GS_ITEM_SELL_AUTO_BABEL_REQ gS_ITEM_SELL_AUTO_BABEL_REQ = new GS_ITEM_SELL_AUTO_BABEL_REQ();
                            gS_ITEM_SELL_AUTO_BABEL_REQ.i16BabelAutoSellGrade = (short)@int;
                            gS_ITEM_SELL_AUTO_BABEL_REQ.i16BabelAutoSellRank  = (short)int2;
                            SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_ITEM_SELL_AUTO_BABEL_REQ, gS_ITEM_SELL_AUTO_BABEL_REQ);
                        }
                    }
                }
            }
            if (this.m_nMacroCount < num)
            {
                this.m_eStatus = eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_CHECK_BATTLEPOS;
            }
            else
            {
                this.SetStatus(eBABEL_MACRO_STATUS.eBABEL_MACRO_STATUS_NONE, 0f);
                BabelTowerMainDlg babelTowerMainDlg = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.BABELTOWERMAIN_DLG) as BabelTowerMainDlg;

                if (babelTowerMainDlg != null)
                {
                    babelTowerMainDlg.FloorType = this.m_nFloorType;
                    babelTowerMainDlg.ShowList();
                }
                if (PlayerPrefs.GetInt(NrPrefsKey.OPTION_VIBE_ON_OFF) == 1)
                {
                    Handheld.Vibrate();
                }
                this.ShowMacroResult();
            }
            break;
        }
        }
    }