chore: improved paddle synchronization

This commit is contained in:
2025-05-24 17:09:13 +03:00
parent 0f0180d435
commit 79922fadbe
2 changed files with 34 additions and 24 deletions

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Linq;
using Microsoft.Xna.Framework;
@@ -13,6 +13,7 @@ using Syntriax.Engine.Core;
using Syntriax.Engine.Core.Factory;
using Syntriax.Engine.Network;
using Syntriax.Engine.Physics2D;
using Syntriax.Engine.Systems.Tween;
namespace Pong;
@@ -66,19 +67,10 @@ public class GamePong : Game
universe.Register(platformSpecificUniverseObject);
if (Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("-server") == 0) is not null)
{
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", server.BehaviourController.UniverseObject);
server.Start(8888, 2);
Window.Title = $"{Window.Title} - Server";
}
LiteNetLibClient client = universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", client.BehaviourController.UniverseObject);
client.Connect("localhost", 8888);
universe.InstantiateUniverseObject<UpdateManager>().SetUniverseObject("Update Manager");
universe.InstantiateUniverseObject<DrawManager>().SetUniverseObject("Draw Manager");
universe.InstantiateUniverseObject<CoroutineManager>().SetUniverseObject("Coroutine Manager");
universe.InstantiateUniverseObject<TweenManager>().SetUniverseObject("Tween Manager");
universe.InstantiateUniverseObject<PhysicsEngine2D>().SetUniverseObject("Physics Engine 2D");
////////////////////////////////////////////////////////////////////////////////////
@@ -154,6 +146,17 @@ public class GamePong : Game
rightText = universe.InstantiateUniverseObject().SetUniverseObject("Score Right")
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f)
.BehaviourController.AddBehaviour<TextScoreBehaviour>(false, spriteFont);
if (Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("-server") == 0) is not null)
{
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", server.BehaviourController.UniverseObject);
server.Start(8888, 2);
Window.Title = $"{Window.Title} - Server";
}
LiteNetLibClient client = universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", client.BehaviourController.UniverseObject);
client.Connect("localhost", 8888);
}
protected override void Update(GameTime gameTime)