43 lines
1.4 KiB
C#
43 lines
1.4 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;
|
|
|
|
Universe universe = new();
|
|
|
|
ISerializer serializer = new YamlSerializer();
|
|
|
|
ILogger logger = new RotatingFileLogger("Logs", "MyGame");
|
|
|
|
#if DEBUG
|
|
logger = new LoggerWrapper(logger, new ConsoleLogger());
|
|
#endif
|
|
|
|
universe.InstantiateUniverseObject().SetUniverseObject("Logger")
|
|
.BehaviourController.AddBehaviour<LoggerContainer>().Logger = ILogger.Shared = logger;
|
|
|
|
universe.InstantiateUniverseObject().SetUniverseObject("Desktop Inputs")
|
|
.BehaviourController.AddBehaviour<DesktopInputs>();
|
|
|
|
universe.InstantiateUniverseObject().SetUniverseObject("Visual Managers")
|
|
.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.ApplyUniverse(universe);
|
|
|
|
using MonoGameWindow monoGameWindow = new(universe);
|
|
|
|
monoGameWindow.Graphics.GraphicsProfile = GraphicsProfile.HiDef;
|
|
|
|
monoGameWindow.Run();
|