47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Microsoft.Xna.Framework.Graphics;
 | 
						|
 | 
						|
using Engine.Core;
 | 
						|
using Engine.Core.Debug;
 | 
						|
using Engine.Core.Serialization;
 | 
						|
using Engine.Integration.MonoGame;
 | 
						|
using Engine.Serializers.Yaml;
 | 
						|
using Engine.Systems.Network;
 | 
						|
 | 
						|
using MyUniverse.Platforms.Desktop;
 | 
						|
 | 
						|
Universe universe = new();
 | 
						|
using MonoGameWindow monoGameWindow = new(universe);
 | 
						|
 | 
						|
ISerializer serializer = new YamlSerializer();
 | 
						|
 | 
						|
ILogger logger = new RotatingFileLogger("Logs", "MyUniverse");
 | 
						|
 | 
						|
#if DEBUG
 | 
						|
logger = new LoggerWrapper(logger, new ConsoleLogger());
 | 
						|
#endif
 | 
						|
 | 
						|
universe.InstantiateUniverseObject().SetUniverseObject("Logger")
 | 
						|
    .BehaviourController.AddBehaviour<LoggerContainer>().Logger = ILogger.Shared = logger;
 | 
						|
 | 
						|
IUniverseObject desktopParent = universe.InstantiateUniverseObject().SetUniverseObject("Desktop");
 | 
						|
 | 
						|
universe.InstantiateUniverseObject().SetUniverseObject("Desktop Inputs", desktopParent)
 | 
						|
    .BehaviourController.AddBehaviour<DesktopInputs>();
 | 
						|
 | 
						|
universe.InstantiateUniverseObject().SetUniverseObject("Visual Managers", desktopParent)
 | 
						|
    .BehaviourController.AddBehaviour<DrawManager>()
 | 
						|
    .BehaviourController.AddBehaviour<LoadContentManager>();
 | 
						|
 | 
						|
/* For Networking
 | 
						|
LiteNetLibClient client = universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
 | 
						|
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;
 | 
						|
 | 
						|
monoGameWindow.Run();
 |