public void Enter(WorldObject obj) { foreach (SimpleClient client in Clients) { ContextRoleplayHandler.SendSnapshotMessage(client, new Snapshot[] { new AddObjectSnapshot(obj.GetObjectType()) }); } if (obj is Character) { Clients.Add((obj as Character).Client); } Objects.Add(obj); obj.Position.Map = this; }
public void Leave(WorldObject obj) { if (!Objects.Contains(obj)) { return; } if (obj is Character) { Clients.Remove((obj as Character).Client); } Objects.Remove(obj); foreach (SimpleClient client in Clients) { ContextRoleplayHandler.SendSnapshotMessage(client, new Snapshot[] { new RemoveObjectSnapshot((uint)obj.GetHashCode()) }); } }