Example #1
0
        public void MoveCreatureToMap(Creature creature, int mapId)
        {
            if (creature.MapInstance != null && creature.MapInstance.Base.MapId == mapId)
            {
                return;
            }

            MapBase nextMap;

            if (!GetMap(mapId, out nextMap))
            {
                Logger.Warning("MapManager", "MoveCreatureToMap", "Could not find map with id '{0}'.", mapId);
                return;
            }

            MapInstance oldMapInstance = creature.MapInstance;

            // Get available map instance and add creature to it
            if (nextMap.GetAvailableInstance().AddCreature(creature))
            {
                if (oldMapInstance != null)
                {
                    oldMapInstance.RemoveCreature(creature);
                }
            }
        }