refactor: pong universe client and server application code separated

This commit is contained in:
2025-06-21 00:35:32 +03:00
parent abc467d1ea
commit 5df09f64e2
3 changed files with 52 additions and 44 deletions

View File

@@ -4,23 +4,33 @@ using System.Linq;
using Microsoft.Xna.Framework.Graphics;
using Pong;
using Syntriax.Engine.Core;
using Syntriax.Engine.Core.Debug;
using Syntriax.Engine.Core.Serialization;
using Syntriax.Engine.Integration.MonoGame;
bool isServerEnabled = Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("--server") == 0) is not null;
using Syntriax.Engine.Serializers.Yaml;
Universe universe = new();
FileLogger fileLogger = new($"{Path.Combine(Directory.GetCurrentDirectory(), "logs", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss"))}.log");
ISerializer serializer = new YamlSerializer();
ILogger logger = new FileLogger($"logs/{DateTime.UtcNow: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;
logger = new LoggerWrapper(logger, new ConsoleLogger());
#endif
Pong.PongUniverse.ApplyPongUniverse(universe, isServerEnabled, isClientEnabled: true);
universe.InstantiateUniverseObject().SetUniverseObject("Logger").BehaviourController.AddBehaviour<LoggerContainer>().Logger = logger;
bool isServerEnabled = Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("--server") == 0) is not null;
if (isServerEnabled)
PongUniverse.ApplyPongServer(universe, 8888);
PongUniverse.ApplyPongClient(universe, "localhost", 8888);
PongUniverse.ApplyPongUniverse(universe);
universe.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
.BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();

View File

@@ -1,5 +1,4 @@
using System;
using System.IO;
using System.Threading;
using Syntriax.Engine.Core;
@@ -7,11 +6,12 @@ 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");
FileLogger fileLogger = new($"logs/{DateTime.UtcNow: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);
Pong.PongUniverse.ApplyPongServer(universe, int.Parse(Environment.GetEnvironmentVariable("PORT") ?? "8888"));
Pong.PongUniverse.ApplyPongUniverse(universe);
DateTime lastRun = DateTime.UtcNow;
TimeSpan interval = new(0, 0, 0, 0, 16);