fix: server platform build issues
This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user