public override void HandleMessage(BaseMessage message) { RouteCreatedMessage msg = (RouteCreatedMessage)message; if (Validated(msg.Path)) { Living l = World.MainWorld.Tiles[msg.Path[0].Origin.X, msg.Path[0].Origin.Y].Living; if (l != null && l.ID == msg.LivingID) { l.QueuedMovement.Clear(); MagicalLifeAPI.Util.Extensions.EnqueueCollection <PathLink>(l.QueuedMovement, msg.Path); } } else { MasterLog.DebugWriteLine("Server received invalid path"); } //attach path to creature }
public override void HandleMessage(BaseMessage message) { RouteCreatedMessage msg = (RouteCreatedMessage)message; if (this.Validated(msg.Path, msg.Dimension)) { Point2D location = msg.Path[0].Origin; Point2D chunkLocation = WorldUtil.CalculateChunkLocation(location); Chunk chunk = World.GetChunk(msg.Dimension, chunkLocation.X, chunkLocation.Y); Living l = chunk.Creatures.Where(t => t.Value.MapLocation.Equals(location)).ElementAt(0).Value; if (l != null && l.ID == msg.LivingID) { l.QueuedMovement.Clear(); MagicalLifeAPI.Util.Extensions.EnqueueCollection <PathLink>(l.QueuedMovement, msg.Path); } } else { MasterLog.DebugWriteLine("Server received invalid path"); } }