示例#1
0
    // Token: 0x060012B3 RID: 4787 RVA: 0x0020C44C File Offset: 0x0020A64C
    public LandWalker addWalker(ushort idx, byte block, bool forceFade = false)
    {
        if (this.freeWalkers.Count > 0)
        {
            LandWalker landWalker = this.freeWalkers[0];
            this.freeWalkers.RemoveAt(0);
            this.walkers.Add(landWalker);
            landWalker.setUnit(idx, block, forceFade);
            return(landWalker);
        }
        LandWalker landWalker2 = new LandWalker(this.WalkerCenter.transform);

        this.walkers.Add(landWalker2);
        landWalker2.setUnit(idx, block, forceFade);
        return(landWalker2);
    }
示例#2
0
    // Token: 0x060012B2 RID: 4786 RVA: 0x0020C280 File Offset: 0x0020A480
    public static void EndAction(LandWalker done)
    {
        ushort num = LandWalkerManager._instance.WalkerGroupIdx[(int)done.idx];

        switch (LandWalkerManager._instance.walkerBattleState)
        {
        case LandWalkerManager.WalkerBattleState.ChangeForBattle:
        case LandWalkerManager.WalkerBattleState.ChangeForResult:
        case LandWalkerManager.WalkerBattleState.ChangeBackNormal:
        {
            WalkerGenData[] walkerCount = LandWalkerManager._instance.WalkerCount;
            ushort          num2        = num - 1;
            walkerCount[(int)num2].Count = walkerCount[(int)num2].Count - 1;
            LandWalkerManager._instance.walkers.Remove(done);
            LandWalkerManager._instance.freeWalkers.Add(done);
            done.movingUnit.gameObject.SetActive(false);
            done.movingUnit.RecoverUnit();
            return;
        }
        }
        if ((int)(done.idx + 1) < DataManager.Instance.LandWalkerData.TableCount && num == LandWalkerManager._instance.WalkerGroupIdx[(int)(done.idx + 1)])
        {
            done.movingUnit.RecoverUnit();
            done.setUnit(done.idx + 1, LandWalkerManager._instance.WalkerCount[(int)(num - 1)].GenBlock, false);
            return;
        }
        if (LandWalkerManager._instance.WalkerCount[(int)(num - 1)].isRepeat)
        {
            done.movingUnit.RecoverUnit();
            done.setUnit(LandWalkerManager._instance.WalkerMarks[(int)(num - 1)], LandWalkerManager._instance.WalkerCount[(int)(num - 1)].GenBlock, false);
            return;
        }
        WalkerGenData[] walkerCount2 = LandWalkerManager._instance.WalkerCount;
        ushort          num3         = num - 1;

        walkerCount2[(int)num3].Count = walkerCount2[(int)num3].Count - 1;
        LandWalkerManager._instance.walkers.Remove(done);
        LandWalkerManager._instance.freeWalkers.Add(done);
        done.movingUnit.gameObject.SetActive(false);
        done.movingUnit.RecoverUnit();
    }
示例#3
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;
        }
    }