public void Remove(Entity entity, Path path) { bool success = _Entities.Remove(entity); if (success && EntityLeft != null) EntityLeft(this, new EntityMovedEventArgs(entity, path)); }
public void Add(Entity entity, Path path) { _Entities.Add(entity); if (EntityEntered != null) EntityEntered(this, new EntityMovedEventArgs(entity, path)); }
public EntityMovedEventArgs(Entity entity, Path path) { Entity = entity; Path = path; }
public void MoveEntity(Entity entity, Path path) { if (path.From != null) path.From.Remove(entity, path); path.To.Add(entity, path); }
public bool UsePath(Path path) { World.Map.MoveEntity(this, path); if (Moved != null) Moved(this, new EntityMovedEventArgs(this, path)); return true; }