public void OnAreaChange(ServerNetwork.AreaChangeInfo info) { ServerNetwork.ClientData clientData = serverNet.GetClientData(info.id); foreach (long adminClientId in adminClients) { serverNet.CallRPC("ClientChangeArea", adminClientId, -1, info.id, info.newAreaId, info.oldAreaId); } }
public void OnClientDisconnected(long aClientId) { ServerNetwork.ClientData clientData = serverNet.GetClientData(aClientId); // If this was an admin, remove them if (clientData.clientType == "admin") { RemoveAdminClient(clientData.networkIdentifier); } // Update the admin clients foreach (long adminClientId in adminClients) { serverNet.CallRPC("RemoveClient", adminClientId, -1, aClientId); } }
// These contain all the SendMessage's that ServerNetwork does, and sends data to any admin clients public void OnClientConnected(long aClientId) { ServerNetwork.ClientData client = serverNet.GetClientData(aClientId); // Send data about this client to all the current admin clients foreach (long adminClientId in adminClients) { serverNet.CallRPC("UpdateClient", aClientId, -1, client.networkIdentifier, client.connection.RemoteEndPoint.Address.ToString(), client.areaId, client.numberOfIds, client.clientType); } // If this new client is a admin, add them if (client.clientType == "admin") { AddAdminClient(aClientId); } }