From 1fa5ee9b635df6b8ac57c5833826849880acef90 Mon Sep 17 00:00:00 2001 From: copygirl Date: Fri, 16 Apr 2021 17:04:14 +0200 Subject: [PATCH] Add completely custom NetworkAPI - No more Rpc or Rset calls! - Custom packet handling and de/serialization - Lots of useful SendTo* methods! - Appearance change in multiplayer waits for confirmation from server --- src/EscapeMenuAppearance.cs | 7 +- src/EscapeMenuMultiplayer.cs | 2 +- src/Extensions.cs | 37 ----- src/LocalPlayer.cs | 6 - src/Network.cs | 141 +++++++++++------- src/NetworkAPI.cs | 273 +++++++++++++++++++++++++++++++++++ src/Player.cs | 111 ++++++++++---- 7 files changed, 444 insertions(+), 133 deletions(-) create mode 100644 src/NetworkAPI.cs diff --git a/src/EscapeMenuAppearance.cs b/src/EscapeMenuAppearance.cs index 53403cb..df828ec 100644 --- a/src/EscapeMenuAppearance.cs +++ b/src/EscapeMenuAppearance.cs @@ -45,8 +45,9 @@ public class EscapeMenuAppearance : CenterContainer private void _on_Appearance_visibility_changed() { - if (IsVisibleInTree()) return; - LocalPlayer.Instance.DisplayName = DisplayName.Text; - LocalPlayer.Instance.Color = ColorPreview.Modulate; + if (!IsVisibleInTree()) + Player.ChangeAppearance(LocalPlayer.Instance, + DisplayName.Text, ColorPreview.Modulate, + Network.IsClient); } } diff --git a/src/EscapeMenuMultiplayer.cs b/src/EscapeMenuMultiplayer.cs index 2f07417..9c64b58 100644 --- a/src/EscapeMenuMultiplayer.cs +++ b/src/EscapeMenuMultiplayer.cs @@ -23,7 +23,7 @@ public class EscapeMenuMultiplayer : Container ClientDisConnect = GetNode