static void OnPlayerColorsChangedRequest(ref PlayerChangeColorsMsg msg, MyNetworkClient sender) { PlayerId playerId = new PlayerId(sender.SteamUserId, msg.SerialId); var player = Sync.Players.GetPlayerById(playerId); if (player == null) { List<Vector3> colors; if (!MyCubeBuilder.AllPlayersColors.TryGetValue(playerId, out colors)) return; colors.Clear(); foreach (var color in msg.NewColors) { colors.Add(color); } return; } player.SetBuildColorSlots(msg.NewColors); }
public void RequestPlayerColorsChanged(int playerSerialId, List<Vector3> newColors) { PlayerChangeColorsMsg msg = new PlayerChangeColorsMsg() { SerialId = playerSerialId, NewColors = newColors, }; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }