From 4ed049573a2beaeac84cd7a8b6b7c43a6abcbe81 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Tue, 28 Oct 2025 08:35:34 +0300 Subject: [PATCH] feat: client & server behaviours added --- Engine.Systems/Network/ClientBehaviour.cs | 16 ++++++++++++++++ Engine.Systems/Network/ServerBehaviour.cs | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 Engine.Systems/Network/ClientBehaviour.cs create mode 100644 Engine.Systems/Network/ServerBehaviour.cs diff --git a/Engine.Systems/Network/ClientBehaviour.cs b/Engine.Systems/Network/ClientBehaviour.cs new file mode 100644 index 0000000..889de6f --- /dev/null +++ b/Engine.Systems/Network/ClientBehaviour.cs @@ -0,0 +1,16 @@ +using Engine.Core; + +namespace Engine.Systems.Network; + +/// +/// Basic client behaviour that finds the in the universe in it's first active frame. +///
+/// Disclaimer: It implements and in virtual methods. +///
+public class ClientBehaviour : Behaviour, IFirstFrameUpdate, ILastFrameUpdate +{ + public INetworkCommunicatorClient Client { get; private set; } = null!; + + public virtual void FirstActiveFrame() => Client = Universe.FindRequiredBehaviour(); + public virtual void LastActiveFrame() => Client = null!; +} diff --git a/Engine.Systems/Network/ServerBehaviour.cs b/Engine.Systems/Network/ServerBehaviour.cs new file mode 100644 index 0000000..9ffe2eb --- /dev/null +++ b/Engine.Systems/Network/ServerBehaviour.cs @@ -0,0 +1,16 @@ +using Engine.Core; + +namespace Engine.Systems.Network; + +/// +/// Basic server behaviour that finds the in the universe in it's first active frame. +///
+/// Disclaimer: It implements and in virtual methods. +///
+public class ServerBehaviour : Behaviour, IFirstFrameUpdate, ILastFrameUpdate +{ + public INetworkCommunicatorServer Server { get; private set; } = null!; + + public virtual void FirstActiveFrame() => Server = Universe.FindRequiredBehaviour(); + public virtual void LastActiveFrame() => Server = null!; +}