/// <summary> /// Invokes the ClientConnect event. /// </summary> /// <param name="pid">The client id(player id) of the client that has connected.</param> internal void OnClientConnect(int pid) { var newClient = new ClientSquirrel(this.squirrelApi, pid, this.server); this.clients[pid] = newClient; this.ClientConnect?.Invoke(this, new ClientConnectedEventArgs(newClient)); }
void OnPlayerDisconnect(int id, int reason) { ClientListSquirrel clientListSquirrel = this.g2OServerSquirrel.Clients as ClientListSquirrel; IClient client = this.g2OServerSquirrel.Clients[id]; if (client != null) { clientListSquirrel?.OnClientDisconnect(new ClientDisconnectedEventArgs(client, (DisconnectReason)reason)); ClientSquirrel realClientSquirrel = client as ClientSquirrel; realClientSquirrel?.OnDisconnect(new ClientDisconnectedEventArgs(client, (DisconnectReason)reason)); } }
void OnPlayerMessage(int id, string message) { ClientSquirrel realCharacter = this.g2OServerSquirrel.Clients[id] as ClientSquirrel; realCharacter?.OnMessageReceived(new MessageReceivedEventArgs(message)); }
void OnPlayerCommand(int id, string cmd, string parameters) { ClientSquirrel clientSquirrel = this.g2OServerSquirrel.Clients[id] as ClientSquirrel; clientSquirrel?.OnCommandReceived(new CommandReceivedEventArgs(cmd, parameters)); }