internal void OnEventReceived(RailEvent evnt, RailPeer sender) { if (evnt.EntityId.IsValid) { RailEntity entity = null; this.Room.TryGet(evnt.EntityId, out entity); #if SERVER // Entity events can only be executed on controlled entities bool safeToExecute = (entity != null) && (entity.Controller == sender); #elif CLIENT bool safeToExecute = (entity != null); #endif if (safeToExecute) evnt.Invoke(this.room, sender, entity); } else { evnt.Invoke(this.room, sender); } }
public void RemoveClient(RailPeer client) { Clients.Remove(client); OnClientLeft(client); }
public void AddClient(RailPeer client) { Clients.Add(client); OnClientJoined(client); }