private void OnClientReceiveTeleportMsg(TeleportMsg msg) { if (!msg.DoRemove) { if (Teleports.ContainsKey(msg.Pos)) { Teleports[msg.Pos] = msg.Data; } else { Teleports.Add(msg.Pos, msg.Data); } } else { if (Teleports.ContainsKey(msg.Pos)) { Teleports.Remove(msg.Pos); } } if (!msg.Synced) { clientChannel.SendPacket(new TeleportMsg( msg.Pos, msg.Data, msg.DoRemove )); } }
private void OnServerReceiveTeleportMsg(IServerPlayer fromPlayer, TeleportMsg msg) { if (!msg.DoRemove) { if (Teleports.ContainsKey(msg.Pos)) { Teleports[msg.Pos] = msg.Data; } else { Teleports.Add(msg.Pos, msg.Data); } } else { if (Teleports.ContainsKey(msg.Pos)) { Teleports.Remove(msg.Pos); } } if (!msg.Synced) { serverChannel.BroadcastPacket(new TeleportMsg( msg.Pos, msg.Data, msg.DoRemove, true )); } }