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!; +}