// 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; } }
// 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; } }