From aa5b6269c252f536b5be7dabe4a5dc0d46b0ad4f Mon Sep 17 00:00:00 2001 From: copygirl Date: Wed, 28 Apr 2021 09:48:07 +0200 Subject: [PATCH] Send appearance on connect --- src/EscapeMenuAppearance.cs | 3 +++ src/Scenes/Client.cs | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/EscapeMenuAppearance.cs b/src/EscapeMenuAppearance.cs index fa27025..5989964 100644 --- a/src/EscapeMenuAppearance.cs +++ b/src/EscapeMenuAppearance.cs @@ -19,6 +19,9 @@ public class EscapeMenuAppearance : CenterContainer ColorSlider.Value = GD.Randf(); ColorPreview.Modulate = Color.FromHsv((float)ColorSlider.Value, 1.0F, 1.0F); + + this.GetClient().OnConnected += () => + this.GetClient().RPC(Player.ChangeAppearance, DisplayName.Text, ColorPreview.Modulate); } diff --git a/src/Scenes/Client.cs b/src/Scenes/Client.cs index c1d6ea2..f8936c9 100644 --- a/src/Scenes/Client.cs +++ b/src/Scenes/Client.cs @@ -7,6 +7,9 @@ public class Client : Game [Export] public NodePath CursorPath { get; set; } public Cursor Cursor { get; private set; } + public event Action OnConnected; + public event Action OnDisconnected; + public Client() { CustomMultiplayer = new MultiplayerAPI { RootNode = this }; @@ -44,13 +47,12 @@ public class Client : Game if (CustomMultiplayer.NetworkPeer == null) return; ((NetworkedMultiplayerENet)CustomMultiplayer.NetworkPeer).CloseConnection(); CustomMultiplayer.NetworkPeer = null; + OnDisconnected?.Invoke(); } private void OnConnectedToServer() - { - // TODO: Send initial appearance. - } + => OnConnected?.Invoke(); private void OnPacketReceived(int id, byte[] bytes) {