Beispiel #1
0
    // Token: 0x060012B8 RID: 4792 RVA: 0x0020C788 File Offset: 0x0020A988
    public void BattleStateChange(LandWalkerManager.WalkerBattleState battleState)
    {
        this.walkerBattleState = battleState;
        this.firstUpdate       = false;
        switch (battleState)
        {
        case LandWalkerManager.WalkerBattleState.None:
            this.nextPerformTime = 0L;
            for (int i = 0; i < this.walkers.Count; i++)
            {
                this.walkers[i].SetFade();
            }
            if (this.EffectGameObject != null)
            {
                ParticleManager.Instance.DeSpawn(this.EffectGameObject);
            }
            for (int j = 0; j < this.FireEffectGameObject.Length; j++)
            {
                if (this.FireEffectGameObject[j] != null)
                {
                    ParticleManager.Instance.DeSpawn(this.FireEffectGameObject[j]);
                }
            }
            break;

        case LandWalkerManager.WalkerBattleState.ChangeForBattle:
        case LandWalkerManager.WalkerBattleState.ChangeForResult:
        case LandWalkerManager.WalkerBattleState.ChangeBackNormal:
            this.nextPerformTime = DataManager.Instance.ServerTime + (long)this.actionChangeTime;
            for (int k = 0; k < this.walkers.Count; k++)
            {
                this.walkers[k].SetFade();
            }
            if (this.EffectGameObject != null)
            {
                ParticleManager.Instance.DeSpawn(this.EffectGameObject);
            }
            for (int l = 0; l < this.FireEffectGameObject.Length; l++)
            {
                if (this.FireEffectGameObject[l] != null)
                {
                    ParticleManager.Instance.DeSpawn(this.FireEffectGameObject[l]);
                }
            }
            break;

        case LandWalkerManager.WalkerBattleState.BattleNow:
            this.nextPerformTime = DataManager.Instance.ServerTime + (long)this.BattleTime;
            break;

        case LandWalkerManager.WalkerBattleState.BattleLose:
            this.nextPerformTime = Math.Max(DataManager.Instance.ServerTime + 30L, LandWalkerManager.LastBattleTime + 1200L);
            this.PlayEffect(false);
            break;

        case LandWalkerManager.WalkerBattleState.BattleWin:
            this.nextPerformTime = Math.Max(DataManager.Instance.ServerTime + 30L, LandWalkerManager.LastBattleTime + 1200L);
            this.PlayEffect(true);
            break;
        }
        ushort num = 0;

        while ((int)num < this.WalkerMarks.Count)
        {
            this.walkerData = DataManager.Instance.LandWalkerData.GetRecordByIndex((int)this.WalkerMarks[(int)num]);
            if (this.WalkerCount[(int)num].isRepeat)
            {
                this.WalkerCount[(int)num].NextGenTime = Time.time;
            }
            else
            {
                this.WalkerCount[(int)num].NextGenTime = Time.time + 3f * UnityEngine.Random.value;
            }
            num += 1;
        }
    }
Beispiel #2
0
    // Token: 0x060012B1 RID: 4785 RVA: 0x0020BF70 File Offset: 0x0020A170
    private void PreCreateWalker()
    {
        LandWalkerManager.WalkerBattleState walkerBattleState = LandWalkerManager.performState;
        if (walkerBattleState != LandWalkerManager.WalkerBattleState.BattleLose)
        {
            if (walkerBattleState == LandWalkerManager.WalkerBattleState.BattleWin)
            {
                if (LandWalkerManager.LastBattleTime + 1200L > DataManager.Instance.ServerTime)
                {
                    if (LandWalkerManager.StartBattle)
                    {
                        LandWalkerManager.StartBattle = false;
                        this.BattleStateChange(LandWalkerManager.WalkerBattleState.ChangeForBattle);
                    }
                    else
                    {
                        this.BattleStateChange(LandWalkerManager.performState);
                    }
                    return;
                }
            }
        }
        else if (LandWalkerManager.LastBattleTime + 1200L > DataManager.Instance.ServerTime)
        {
            if (LandWalkerManager.StartBattle)
            {
                LandWalkerManager.StartBattle = false;
                this.BattleStateChange(LandWalkerManager.WalkerBattleState.ChangeForBattle);
            }
            else
            {
                this.BattleStateChange(LandWalkerManager.performState);
            }
            return;
        }
        ushort num = 0;

        while ((int)num < this.WalkerMarks.Count)
        {
            if (UnityEngine.Random.value <= 0.5f)
            {
                this.walkerData = DataManager.Instance.LandWalkerData.GetRecordByIndex((int)this.WalkerMarks[(int)num]);
                if (DataManager.StageDataController.StageRecord[2] < (ushort)this.walkerData.chapter)
                {
                    this.WalkerCount[(int)num].NextGenTime = Time.time + 60f;
                }
                else if (!this.WalkerCount[(int)num].isRepeat)
                {
                    if ((this.walkerData.GenData[(int)this.WalkerCount[(int)num].GenBlock].GenLimit == 0 || this.WalkerCount[(int)num].Count < this.walkerData.GenData[(int)this.WalkerCount[(int)num].GenBlock].GenLimit) && this.CastleLevel >= this.walkerData.GenData[(int)this.WalkerCount[(int)num].GenBlock].castleLevel)
                    {
                        this.WalkerCount[(int)num].NextGenTime = Time.time + (float)this.walkerData.GenData[(int)this.WalkerCount[(int)num].GenBlock].GenGap + (float)this.walkerData.GenData[(int)this.WalkerCount[(int)num].GenBlock].GenRandom * UnityEngine.Random.value;
                        int num2;
                        if ((int)(num + 1) < this.WalkerMarks.Count)
                        {
                            num2 = UnityEngine.Random.Range((int)this.WalkerMarks[(int)num], (int)(this.WalkerMarks[(int)(num + 1)] - 1));
                        }
                        else
                        {
                            num2 = UnityEngine.Random.Range((int)this.WalkerMarks[(int)num], DataManager.Instance.LandWalkerData.TableCount - 1);
                        }
                        LandWalker landWalker = this.addWalker((ushort)num2, this.WalkerCount[(int)num].GenBlock, false);
                        landWalker.nowTime = landWalker.totalTime * UnityEngine.Random.value;
                        WalkerGenData[] walkerCount = this.WalkerCount;
                        ushort          num3        = num;
                        walkerCount[(int)num3].Count = walkerCount[(int)num3].Count + 1;
                    }
                }
            }
            num += 1;
        }
    }