Exemple #1
0
 public override void GetVisibleDataToClient(CreaturesCreateData cvData)
 {
     if (cvData != null)
     {
         CreaturesCreateData.Monster monster = new CreaturesCreateData.Monster();
         monster.hp              = MonsterAttr.GetAttrCount(CreatureCommonAttr.C_HP);
         monster.monsterCid      = Cid;
         monster.monsterConfigId = (uint)MonsterId;
         monster.posX            = Pos.X;
         monster.posY            = Pos.Y;
         monster.posZ            = Pos.Z;
         monster.mspeed          = MonsterAttr.GetAttrCount(CreatureCommonAttr.C_MSPEED);
         monster.curstate        = (uint)CurState;
         cvData.monsters.Add(monster);
     }
 }
Exemple #2
0
        public void UpdateSeeLst()
        {
            Scene curScene = SceneMgr.Inst().GetScene(SceneId);

            if (curScene == null)
            {
                return;
            }

            List <uint> newSeeLst = curScene.FindCreatureInSceneFrom9Grid(Pos, ViewLayer);

            if (newSeeLst == null)
            {
                return;
            }

            List <uint> notifySeeLst = new List <uint>();

            CreaturesCreateData createData  = new CreaturesCreateData();
            CreatureDestoryData destroyData = new CreatureDestoryData();

            foreach (uint newCid in newSeeLst)
            {
                if (SeeLst.Find(cid => cid == newCid) != newCid)
                {
                    Creature creature = curScene.GetCreature(newCid);
                    if (creature != null)
                    {
                        notifySeeLst.Add(newCid);
                        creature.GetVisibleDataToClient(createData);
                    }
                }
            }

            foreach (uint oldCid in SeeLst)
            {
                if (newSeeLst.Find(cid => cid == oldCid) != oldCid)
                {
                    Creature creature = curScene.GetCreature(oldCid);
                    if (creature != null)
                    {
                        creature.BeenSeeLst.Remove(Cid);
                        destroyData.cids.Add(oldCid);
                    }
                }
            }
        }
Exemple #3
0
 public abstract void GetVisibleDataToClient(CreaturesCreateData cvData);