38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System;
|
|
using System.Threading;
|
|
|
|
using Engine.Core;
|
|
using Engine.Core.Debug;
|
|
using Engine.Systems.Network;
|
|
|
|
Universe universe = new();
|
|
|
|
RotatingFileLogger fileLogger = new("Logs", "MyGame", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss-ffffff"));
|
|
ILogger.Shared = new LoggerWrapper(fileLogger, new ConsoleLogger());
|
|
|
|
universe.InstantiateUniverseObject().SetUniverseObject("Logger")
|
|
.BehaviourController.AddBehaviour<LoggerContainer>();
|
|
|
|
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
|
|
server.BehaviourController.AddBehaviour<NetworkManager>();
|
|
universe.OnPreUpdate.AddOneTimeListener((_, _) => server.Start(8888, 2));
|
|
|
|
MyUniverse.Shared.UniverseSource.ApplyUniverse(universe);
|
|
|
|
DateTime lastRun = DateTime.UtcNow;
|
|
TimeSpan interval = new(0, 0, 0, 0, 16);
|
|
TimeSpan timeSinceStart = new(0);
|
|
|
|
universe.Initialize();
|
|
|
|
while (true)
|
|
{
|
|
if (lastRun + interval <= DateTime.UtcNow)
|
|
{
|
|
lastRun += interval;
|
|
timeSinceStart += interval;
|
|
universe.Update(new(timeSinceStart, interval));
|
|
}
|
|
Thread.Sleep(1);
|
|
}
|