public virtual bool EnterScene(Creature creature, Vector3 pos) { if (creature == null || pos == null) { return(false); } Grid grid = Grid9Manager.GetGrid(pos); if (grid == null) { Console.WriteLine("Creature:{0} EnterScene failed", creature.Cid); return(false); } grid.AddCid(creature.Cid); if (creature.CreatureType != CreatureTypeEnum.CREATURE_PLAYER) { MapSceneOtherCreature.Add(creature.Cid, creature); } else { Player player = (Player)creature; m_MapScenePlayer.Add(player.Cid, player); } return(true); }
public bool LeaveScene(Creature creature) { Grid grid = Grid9Manager.GetGrid(creature.Pos); if (grid == null) { Console.WriteLine("LeaveScene failed"); return(false); } grid.RemoveCid(creature.Cid); if (MapSceneOtherCreature.ContainsKey(creature.Cid)) { MapSceneOtherCreature.Remove(creature.Cid); } else { if (MapScenePlayer.ContainsKey(creature.Cid)) { MapScenePlayer.Remove(creature.Cid); } else { Console.WriteLine("LeaveScene can't find the cid:" + creature.Cid); return(false); } } return(true); }
public Creature GetCreature(uint cid) { if (MapSceneOtherCreature.ContainsKey(cid)) { return(MapSceneOtherCreature[cid]); } else { if (MapScenePlayer.ContainsKey(cid)) { return(MapScenePlayer[cid]); } } return(null); }