Пример #1
0
    //

    // Use this for initialization
    void Start()
    {
        fightReg = transform.GetComponentInChildren <FightRegion>();

        foreach (FightPoint fp in fightReg.fightPoints)
        {
            soldierMaxLaneNum = Mathf.Max(soldierMaxLaneNum, fp.lane);
        }

        if (lanesTimeList)
        {
            laneTimes = new float[lanesTimeList.nums.Length];

            for (int i = 0; i < laneTimes.Length; i++)
            {
                laneTimes[i] = lanesTimeList.nums[i];
            }

            if (laneTimes.Length < soldierMaxLaneNum)
            {
                Debug.LogError("Not enough lane times exist in list!");
            }
        }

        SetSoldierCurrentLaneNum(0, true);
    }
Пример #2
0
        void HandleMonsterRefresh(FightRegion fr)
        {
            //send fight region
            bundle.region = fr;

            LvInfo lvInfo = LvInfoSQL.instance.GetValueByK(fr.scId);

            if (lvInfo != null)
            {
                //Fight g_Fight = JsonConvert.DeserializeObject<Fight>(lvInfo.scInfoJson);
                GameMonster[] gameMonsters = lvInfo.fight.gameMonsters[fr.index];
                bundle.gameMonsters = new GameMonster[gameMonsters.Length];
                for (int i = 0; i < gameMonsters.Length; i++)
                {
                    bundle.gameMonsters[i] = new GameMonster();
                    Tool.Copy(bundle.gameMonsters[i], gameMonsters[i]);
                }
            }

            Dictionary <string, GameMonster> gmDict = new Dictionary <string, GameMonster>();

            foreach (GameMonster gm in bundle.gameMonsters)
            {
                gmDict.Add(gm.id, gm);
            }
            FightCache cache = FightInstance.instance.GetFightCache(this.marsPeer.Role.roleId.ToString(), gmDict);

            this.marsPeer.fightCache = cache;
        }
 public void InitForFightReg(FightRegion _fightReg, FightPoint _initialFightPoint)
 {
     fightReg                = _fightReg;
     selectedFightPoint      = _initialFightPoint;
     needsToGoToInitialPoint = true;
     initialPoint            = _initialFightPoint;
 }
Пример #4
0
        void HandleMonsterRefreshOnOperation(string json, Command cmd)
        {
            FightRegion g_fr = JsonConvert.DeserializeObject <FightRegion>(json);

            monsterOperator.EnqueueOperator(cmd, g_fr);

            // return bundle;
        }
Пример #5
0
        public override void ExecuteOperation(Command cmd, params object[] objs)
        {
            base.ExecuteOperation(cmd, objs);

            switch (cmd)
            {
            case Command.MonsterRefresh:
                FightRegion fr = (FightRegion)objs[0];
                HandleMonsterRefresh(fr);
                marsPeer.SendClientResponse(bundle);
                break;

            case Command.MonsterStateUpdate:
                GameMonster gm = (GameMonster)objs[0];
                HandleMonsterStateUpdate(gm);
                marsPeer.SendClientResponse(bundle);
                break;
            }
        }