static void OnIdentityRemoved(ref IdentityRemovedMsg msg, MyNetworkClient sender) { if (Sync.IsServer) { Debug.Assert(msg.SteamId == sender.SteamUserId, "A client was requesting identity removal for a different client!"); if (msg.SteamId != sender.SteamUserId) return; if (Sync.Players.RemoveIdentityInternal(msg.IdentityId, new PlayerId(msg.SteamId, msg.SerialId))) { Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); } } else { Sync.Players.RemoveIdentityInternal(msg.IdentityId, new PlayerId(msg.SteamId, msg.SerialId)); } }
public void RemoveIdentity(long identityId, PlayerId playerId = new PlayerId()) { if (Sync.IsServer) { if (!RemoveIdentityInternal(identityId, playerId)) return; } var msg = new IdentityRemovedMsg(); msg.IdentityId = identityId; msg.SteamId = playerId.SteamId; msg.SerialId = playerId.SerialId; if (Sync.IsServer) { Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); } else { Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); } }