fix: server platform build issues

This commit is contained in:
2025-10-28 08:50:36 +03:00
parent cd65d47d26
commit 730b21467e
7 changed files with 26 additions and 10 deletions

2
.vscode/launch.json vendored
View File

@@ -38,7 +38,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-server",
"program": "${workspaceFolder}/Platforms/Server/bin/Debug/net9.0/Server.dll",
"program": "${workspaceFolder}/Platforms/Server/bin/Debug/net9.0/MyUniverse.dll",
"args": [],
"env": {
"PORT": "8888",

View File

@@ -50,6 +50,7 @@ namespace MyUniverse.Platforms.Android
universe.OnPreUpdate.AddOneTimeListener((_, _) => client.Connect("localhost", 8888));
*/
Shared.UniverseSource.ApplyClient(universe);
Shared.UniverseSource.ApplyUniverse(universe);
_game = new MonoGameWindow(universe);

View File

@@ -38,6 +38,7 @@ client.BehaviourController.AddBehaviour<NetworkManager>();
universe.OnPreUpdate.AddOneTimeListener((_, _) => client.Connect("localhost", 8888));
*/
MyUniverse.Shared.UniverseSource.ApplyClient(universe);
MyUniverse.Shared.UniverseSource.ApplyUniverse(universe);
monoGameWindow.Graphics.GraphicsProfile = GraphicsProfile.HiDef;

View File

@@ -9,7 +9,7 @@ using Microsoft.Extensions.DependencyInjection;
using Engine.Core;
using Engine.Systems.Network;
namespace Server;
namespace MyUniverse.Platforms.Server;
public class Endpoints : Behaviour, IFirstFrameUpdate, ILastFrameUpdate
{

View File

@@ -5,6 +5,8 @@ using Engine.Core;
using Engine.Core.Debug;
using Engine.Systems.Network;
using MyUniverse.Platforms.Server;
Universe universe = new();
RotatingFileLogger fileLogger = new("Logs", "MyGame", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss-ffffff"));
@@ -14,9 +16,13 @@ universe.InstantiateUniverseObject().SetUniverseObject("Logger")
.BehaviourController.AddBehaviour<LoggerContainer>();
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
server.BehaviourController.AddBehaviour<Endpoints>();
server.BehaviourController.AddBehaviour<NetworkManager>();
universe.OnPreUpdate.AddOneTimeListener((_, _) => server.Start(8888, 2));
MyUniverse.Shared.UniverseSource.ApplyCore(universe);
MyUniverse.Shared.UniverseSource.ApplyUniverse(universe);
DateTime lastRun = DateTime.UtcNow;

View File

@@ -8,14 +8,14 @@ namespace MyUniverse.Shared.Behaviours;
public class RotatorToggler : Behaviour2D, IFirstFrameUpdate, ILastFrameUpdate
{
private IRotator rotator = null!;
private IGameInputs inputs = null!;
private IGameInputs? inputs = null;
public void FirstActiveFrame()
{
rotator = BehaviourController.GetRequiredBehaviour<IRotator>();
inputs = Universe.FindRequiredBehaviour<IGameInputs>();
inputs = Universe.FindBehaviour<IGameInputs>();
inputs.RegisterOnPress(IGameInputs.Button.Interact, ToggleRotator);
inputs?.RegisterOnPress(IGameInputs.Button.Interact, ToggleRotator);
}
private void ToggleRotator(IButtonInputs<IGameInputs.Button> sender, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments args)
@@ -25,6 +25,7 @@ public class RotatorToggler : Behaviour2D, IFirstFrameUpdate, ILastFrameUpdate
public void LastActiveFrame()
{
inputs.UnregisterOnPress(IGameInputs.Button.Interact, ToggleRotator);
inputs?.UnregisterOnPress(IGameInputs.Button.Interact, ToggleRotator);
inputs = null;
}
}

View File

@@ -12,12 +12,21 @@ public static class UniverseSource
public static void ApplyCore(IUniverse universe)
{
IUniverseObject coreManagersUO = universe.InstantiateUniverseObject().SetUniverseObject("Core Managers");
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Entrance Manager").BehaviourController.AddBehaviour<UniverseEntranceManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Update Manager").BehaviourController.AddBehaviour<UpdateManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Coroutine Manager").BehaviourController.AddBehaviour<CoroutineManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Tween Manager").BehaviourController.AddBehaviour<TweenManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Sprite Batcher").BehaviourController.AddBehaviour<SpriteBatcher>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Triangle Batcher").BehaviourController.AddBehaviour<TriangleBatcher>().UniverseObject);
}
public static void ApplyClient(IUniverse universe)
{
ApplyCore(universe);
IUniverseObject clientManagersUO = universe.InstantiateUniverseObject().SetUniverseObject("Core Managers");
clientManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Sprite Batcher").BehaviourController.AddBehaviour<SpriteBatcher>().UniverseObject);
clientManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Triangle Batcher").BehaviourController.AddBehaviour<TriangleBatcher>().UniverseObject);
MonoGameCamera2D camera = universe.InstantiateUniverseObject().SetUniverseObject("Camera")
.BehaviourController.AddBehaviour<Transform2D>()
@@ -28,8 +37,6 @@ public static class UniverseSource
public static void ApplyUniverse(IUniverse universe)
{
ApplyCore(universe);
IUniverseObject exampleObject = universe.InstantiateUniverseObject().SetUniverseObject("Example Object");
ExampleBehaviour exampleBehaviour = exampleObject.BehaviourController.AddBehaviour<ExampleBehaviour>();