コード例 #1
0
    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);
      }
    }
コード例 #2
0
ファイル: RailServerRoom.cs プロジェクト: araex/RailgunNet
 public void RemoveClient(RailPeer client)
 {
     Clients.Remove(client);
     OnClientLeft(client);
 }
コード例 #3
0
ファイル: RailServerRoom.cs プロジェクト: araex/RailgunNet
 public void AddClient(RailPeer client)
 {
     Clients.Add(client);
     OnClientJoined(client);
 }