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