feat: added loggers to the universe

This commit is contained in:
Syntriax 2025-06-18 17:40:01 +03:00
parent 92357627a1
commit 0047111244
4 changed files with 32 additions and 7 deletions

2
Engine

@ -1 +1 @@
Subproject commit cf7061fd58189827edbf4ef3915636a6fd537d7c
Subproject commit c3be8f60b7e78984bb73501dc4d273a05b1331d2

View File

@ -1,14 +1,26 @@
using System;
using System.IO;
using System.Linq;
using Microsoft.Xna.Framework.Graphics;
using Syntriax.Engine.Core;
using Syntriax.Engine.Core.Debug;
using Syntriax.Engine.Integration.MonoGame;
bool isServerEnabled = Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("--server") == 0) is not null;
IUniverse universe = Pong.PongUniverse.GetPongUniverse(isServerEnabled, isClientEnabled: true);
Universe universe = new();
FileLogger fileLogger = new($"{Path.Combine(Directory.GetCurrentDirectory(), "logs", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss"))}.log");
#if DEBUG
universe.InstantiateUniverseObject().SetUniverseObject("Logger").BehaviourController.AddBehaviour<LoggerContainer>().Logger = new LoggerWrapper(fileLogger, new ConsoleLogger());
#else
universe.InstantiateUniverseObject().SetUniverseObject("Logger").BehaviourController.AddBehaviour<LoggerContainer>().Logger = firstLogger;
#endif
Pong.PongUniverse.ApplyPongUniverse(universe, isServerEnabled, isClientEnabled: true);
universe.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
.BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();

View File

@ -1,8 +1,17 @@
using System;
using System.IO;
using System.Threading;
using Syntriax.Engine.Core;
IUniverse universe = Pong.PongUniverse.GetPongUniverse(isServerEnabled: true, isClientEnabled: false);
using Syntriax.Engine.Core;
using Syntriax.Engine.Core.Debug;
Universe universe = new();
FileLogger fileLogger = new($"{Path.Combine(Directory.GetCurrentDirectory(), "logs", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss"))}.log");
universe.InstantiateUniverseObject().SetUniverseObject("Logger").BehaviourController
.AddBehaviour<LoggerContainer>().Logger = new LoggerWrapper(fileLogger, new ConsoleLogger());
Pong.PongUniverse.ApplyPongUniverse(universe, isServerEnabled: true, isClientEnabled: false);
DateTime lastRun = DateTime.UtcNow;
TimeSpan interval = new(0, 0, 0, 0, 16);

View File

@ -15,10 +15,8 @@ namespace Pong;
public static class PongUniverse
{
public static IUniverse GetPongUniverse(bool isServerEnabled, bool isClientEnabled)
public static IUniverse ApplyPongUniverse(Universe universe, bool isServerEnabled, bool isClientEnabled)
{
Universe universe = new();
if (isServerEnabled)
{
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
@ -118,4 +116,10 @@ public static class PongUniverse
return universe;
}
public static IUniverse GetPongUniverse(bool isServerEnabled, bool isClientEnabled)
{
Universe universe = new();
return ApplyPongUniverse(universe, isServerEnabled, isClientEnabled);
}
}