refactor: network implementations switched to universe objects
This commit is contained in:
@@ -28,10 +28,7 @@ public class GamePong : Game
|
||||
private BehaviourCollector<IDisplayableSprite> displayableCollector = null!;
|
||||
private BehaviourCollector<IDisplayableShape> displayableShapeCollector = null!;
|
||||
private MonoGameCamera2DBehaviour cameraBehaviour = null!;
|
||||
|
||||
private PongManagerBehaviour pongManager = null!;
|
||||
private TextScoreBehaviour leftText;
|
||||
private TextScoreBehaviour rightText;
|
||||
|
||||
public GamePong(IUniverseObject platformSpecificUniverseObject)
|
||||
{
|
||||
@@ -67,8 +64,24 @@ public class GamePong : Game
|
||||
|
||||
universe.Register(platformSpecificUniverseObject);
|
||||
|
||||
if (Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("-server") == 0) is not null)
|
||||
{
|
||||
LiteNetLibServer server = universe.InstantiateUniverseObject<LiteNetLibServer>().SetUniverseObject("Server");
|
||||
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", server.BehaviourController.UniverseObject);
|
||||
server.Start(8888, 2);
|
||||
Window.Title = $"Server";
|
||||
}
|
||||
else
|
||||
{
|
||||
LiteNetLibClient client = universe.InstantiateUniverseObject<LiteNetLibClient>().SetUniverseObject("Client");
|
||||
UniverseObjectFactory.Instantiate<NetworkManager>().SetUniverseObject("NetworkManager", client.BehaviourController.UniverseObject);
|
||||
client.Connect("localhost", 8888);
|
||||
Window.Title = $"Client";
|
||||
|
||||
universe.InstantiateUniverseObject<DrawManager>().SetUniverseObject("Draw Manager");
|
||||
}
|
||||
|
||||
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");
|
||||
@@ -139,24 +152,13 @@ public class GamePong : Game
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
leftText = universe.InstantiateUniverseObject().SetUniverseObject("Score Left")
|
||||
universe.InstantiateUniverseObject().SetUniverseObject("Score Left")
|
||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f)
|
||||
.BehaviourController.AddBehaviour<TextScoreBehaviour>(true, spriteFont);
|
||||
|
||||
rightText = universe.InstantiateUniverseObject().SetUniverseObject("Score Right")
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user