chore: updated engine again
This commit is contained in:
parent
4710b8364c
commit
a0a3d97395
2
Engine
2
Engine
@ -1 +1 @@
|
|||||||
Subproject commit beecefec1c31751d72ad83a4fcf6c4e65c413af7
|
Subproject commit c7f63dc63870015ce136100289f1ace246870c90
|
@ -1,7 +1,16 @@
|
|||||||
using Syntriax.Engine.Core;
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
|
||||||
|
using Syntriax.Engine.Core;
|
||||||
using Syntriax.Engine.Integration.MonoGame;
|
using Syntriax.Engine.Integration.MonoGame;
|
||||||
|
|
||||||
IUniverseObject universeObject = Syntriax.Engine.Core.Factory.UniverseObjectFactory.Instantiate().SetUniverseObject("Desktop HO");
|
using var game = new Pong.GamePong();
|
||||||
universeObject.BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();
|
|
||||||
using var game = new Pong.GamePong(universeObject);
|
game.Universe
|
||||||
|
.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
|
||||||
|
.BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();
|
||||||
|
|
||||||
|
game.Graphics.PreferredBackBufferWidth = 1024;
|
||||||
|
game.Graphics.PreferredBackBufferHeight = 576;
|
||||||
|
game.Graphics.GraphicsProfile = GraphicsProfile.HiDef;
|
||||||
|
|
||||||
game.Run();
|
game.Run();
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
using Microsoft.Xna.Framework.Graphics;
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
|
||||||
using Syntriax.Engine.Core;
|
using Syntriax.Engine.Core;
|
||||||
|
using Syntriax.Engine.Integration.MonoGame;
|
||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class TextScoreBehaviour : TextBehaviour, IFirstFrameUpdate
|
public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate
|
||||||
{
|
{
|
||||||
public bool IsLeft { get; }
|
public readonly bool IsLeft = IsLeft;
|
||||||
|
|
||||||
private PongManagerBehaviour? pongManager = null;
|
private PongManagerBehaviour pongManager = null!;
|
||||||
|
|
||||||
public void FirstActiveFrame()
|
public void FirstActiveFrame()
|
||||||
{
|
{
|
||||||
if (!UniverseObject.Universe.TryFindBehaviour(out pongManager))
|
MonoGameWindow monoGameWindow = Universe.FindRequiredBehaviour<MonoGameWindowContainer>().Window;
|
||||||
return;
|
Font = monoGameWindow.Content.Load<SpriteFont>("UbuntuMono");
|
||||||
|
|
||||||
|
pongManager = Universe.FindRequiredBehaviour<PongManagerBehaviour>();
|
||||||
|
|
||||||
pongManager.OnScored += UpdateScores;
|
pongManager.OnScored += UpdateScores;
|
||||||
pongManager.OnReset += UpdateScores;
|
pongManager.OnReset += UpdateScores;
|
||||||
@ -27,7 +31,4 @@ public class TextScoreBehaviour : TextBehaviour, IFirstFrameUpdate
|
|||||||
else
|
else
|
||||||
Text = pongManager.ScoreRight.ToString();
|
Text = pongManager.ScoreRight.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TextScoreBehaviour(bool IsLeft) => this.IsLeft = IsLeft;
|
|
||||||
public TextScoreBehaviour(bool IsLeft, SpriteFont font) : base(font) => this.IsLeft = IsLeft;
|
|
||||||
}
|
}
|
||||||
|
@ -1,78 +1,72 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
using Microsoft.Xna.Framework;
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
using Microsoft.Xna.Framework.Input;
|
using Microsoft.Xna.Framework.Input;
|
||||||
|
|
||||||
using Pong.Behaviours;
|
using Pong.Behaviours;
|
||||||
|
|
||||||
using Syntriax.Engine.Core;
|
using Syntriax.Engine.Core;
|
||||||
using Syntriax.Engine.Core.Factory;
|
using Syntriax.Engine.Core.Factory;
|
||||||
|
using Syntriax.Engine.Integration.MonoGame;
|
||||||
using Syntriax.Engine.Network;
|
using Syntriax.Engine.Network;
|
||||||
using Syntriax.Engine.Physics2D;
|
using Syntriax.Engine.Physics2D;
|
||||||
using Syntriax.Engine.Systems.Tween;
|
using Syntriax.Engine.Systems.Tween;
|
||||||
using Syntriax.Engine.Integration.MonoGame;
|
|
||||||
|
|
||||||
namespace Pong;
|
namespace Pong;
|
||||||
|
|
||||||
public class GamePong : MonoGameWindow
|
public class GamePong : MonoGameWindow
|
||||||
{
|
{
|
||||||
private readonly IUniverseObject platformSpecificUniverseObject = null!;
|
protected override void Initialize()
|
||||||
|
|
||||||
public GamePong(IUniverseObject platformSpecificUniverseObject)
|
|
||||||
{
|
{
|
||||||
this.platformSpecificUniverseObject = platformSpecificUniverseObject;
|
base.Initialize();
|
||||||
Graphics.PreferredBackBufferWidth = 1024;
|
|
||||||
Graphics.PreferredBackBufferHeight = 576;
|
|
||||||
Graphics.GraphicsProfile = GraphicsProfile.HiDef;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void PopulateUniverse(IUniverse universe)
|
|
||||||
{
|
|
||||||
SpriteFont spriteFont = Content.Load<SpriteFont>("UbuntuMono");
|
|
||||||
|
|
||||||
universe.Register(platformSpecificUniverseObject);
|
|
||||||
|
|
||||||
if (Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("-server") == 0) is not null)
|
if (Environment.GetCommandLineArgs().FirstOrDefault(x => x.CompareTo("-server") == 0) is not null)
|
||||||
{
|
{
|
||||||
LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
|
LiteNetLibServer server = Universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour<LiteNetLibServer>();
|
||||||
server.BehaviourController.AddBehaviour<NetworkManager>();
|
server.BehaviourController.AddBehaviour<NetworkManager>();
|
||||||
server.Start(8888, 2);
|
server.Start(8888, 2);
|
||||||
Window.Title = $"Server";
|
Window.Title = $"Server";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LiteNetLibClient client = universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
|
LiteNetLibClient client = Universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
|
||||||
client.BehaviourController.AddBehaviour<NetworkManager>();
|
client.BehaviourController.AddBehaviour<NetworkManager>();
|
||||||
client.Connect("localhost", 8888);
|
client.Connect("localhost", 8888);
|
||||||
Window.Title = $"Client";
|
Window.Title = $"Client";
|
||||||
|
|
||||||
DrawManager drawManager = universe.InstantiateUniverseObject().SetUniverseObject("Draw Manager").BehaviourController.AddBehaviour<DrawManager>();
|
DrawManager drawManager = Universe.InstantiateUniverseObject().SetUniverseObject("Draw Manager").BehaviourController.AddBehaviour<DrawManager>();
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Shape Batcher", drawManager.UniverseObject).BehaviourController.AddBehaviour<ShapeBatcher>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Shape Batcher", drawManager.UniverseObject).BehaviourController.AddBehaviour<ShapeBatcher>();
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Sprite Batcher", drawManager.UniverseObject).BehaviourController.AddBehaviour<SpriteBatcher>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Sprite Batcher", drawManager.UniverseObject).BehaviourController.AddBehaviour<SpriteBatcher>();
|
||||||
|
|
||||||
|
Universe.InstantiateUniverseObject().SetUniverseObject("Score Left")
|
||||||
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f)
|
||||||
|
.BehaviourController.AddBehaviour<TextScoreBehaviour>(true);
|
||||||
|
|
||||||
|
Universe.InstantiateUniverseObject().SetUniverseObject("Score Right")
|
||||||
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f)
|
||||||
|
.BehaviourController.AddBehaviour<TextScoreBehaviour>(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Update Manager").BehaviourController.AddBehaviour<UpdateManager>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Update Manager").BehaviourController.AddBehaviour<UpdateManager>();
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Coroutine Manager").BehaviourController.AddBehaviour<CoroutineManager>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Coroutine Manager").BehaviourController.AddBehaviour<CoroutineManager>();
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Tween Manager").BehaviourController.AddBehaviour<TweenManager>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Tween Manager").BehaviourController.AddBehaviour<TweenManager>();
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Physics Engine 2D").BehaviourController.AddBehaviour<PhysicsEngine2D>();
|
Universe.InstantiateUniverseObject().SetUniverseObject("Physics Engine 2D").BehaviourController.AddBehaviour<PhysicsEngine2D>();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Camera")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Camera")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>()
|
.BehaviourController.AddBehaviour<Transform2D>()
|
||||||
.BehaviourController.AddBehaviour<CameraController>()
|
.BehaviourController.AddBehaviour<CameraController>()
|
||||||
.BehaviourController.AddBehaviour<MonoGameCamera2DBehaviour>();
|
.BehaviourController.AddBehaviour<MonoGameCamera2DBehaviour>();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
PongManagerBehaviour pongManager = universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
|
PongManagerBehaviour pongManager = Universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
|
||||||
.BehaviourController.AddBehaviour<PongManagerBehaviour>(5);
|
.BehaviourController.AddBehaviour<PongManagerBehaviour>(5);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Ball")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Ball")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0, 0f), scale: new Vector2D(10f, 10f))
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0, 0f), scale: new Vector2D(10f, 10f))
|
||||||
.BehaviourController.AddBehaviour<CircleBehaviour>(new Circle(Vector2D.Zero, 1f))
|
.BehaviourController.AddBehaviour<CircleBehaviour>(new Circle(Vector2D.Zero, 1f))
|
||||||
.BehaviourController.AddBehaviour<BallBehaviour>()
|
.BehaviourController.AddBehaviour<BallBehaviour>()
|
||||||
@ -87,7 +81,7 @@ public class GamePong : MonoGameWindow
|
|||||||
PaddleBehaviour leftPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.W, Keys.S, 228f, -228f, 400f);
|
PaddleBehaviour leftPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.W, Keys.S, 228f, -228f, 400f);
|
||||||
leftPaddleBehaviour.Id = "lp";
|
leftPaddleBehaviour.Id = "lp";
|
||||||
leftPaddle.BehaviourController.AddBehaviour(leftPaddleBehaviour);
|
leftPaddle.BehaviourController.AddBehaviour(leftPaddleBehaviour);
|
||||||
universe.Register(leftPaddle);
|
Universe.Register(leftPaddle);
|
||||||
|
|
||||||
IUniverseObject rightPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Right Paddle");
|
IUniverseObject rightPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Right Paddle");
|
||||||
rightPaddle.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(468f, 0f), scale: new Vector2D(15f, 60f))
|
rightPaddle.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(468f, 0f), scale: new Vector2D(15f, 60f))
|
||||||
@ -96,40 +90,30 @@ public class GamePong : MonoGameWindow
|
|||||||
PaddleBehaviour rightPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.Up, Keys.Down, 228f, -228f, 400f);
|
PaddleBehaviour rightPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.Up, Keys.Down, 228f, -228f, 400f);
|
||||||
rightPaddleBehaviour.Id = "rp";
|
rightPaddleBehaviour.Id = "rp";
|
||||||
rightPaddle.BehaviourController.AddBehaviour(rightPaddleBehaviour);
|
rightPaddle.BehaviourController.AddBehaviour(rightPaddleBehaviour);
|
||||||
universe.Register(rightPaddle);
|
Universe.Register(rightPaddle);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Wall Top")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Wall Top")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, 308f), scale: new Vector2D(552f, 20f))
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, 308f), scale: new Vector2D(552f, 20f))
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Wall Bottom")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Wall Bottom")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, -308f), scale: new Vector2D(552f, 20f))
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, -308f), scale: new Vector2D(552f, 20f))
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Wall Right")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Wall Right")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(532f, 0f), scale: new Vector2D(20f, 328f))
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(532f, 0f), scale: new Vector2D(20f, 328f))
|
||||||
.BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToLeft)
|
.BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToLeft)
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Wall Left")
|
Universe.InstantiateUniverseObject().SetUniverseObject("Wall Left")
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-532f, 0f), scale: new Vector2D(20f, 328f))
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-532f, 0f), scale: new Vector2D(20f, 328f))
|
||||||
.BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToRight)
|
.BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToRight)
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Score Left")
|
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f)
|
|
||||||
.BehaviourController.AddBehaviour<TextScoreBehaviour>(true, spriteFont);
|
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Score Right")
|
|
||||||
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f)
|
|
||||||
.BehaviourController.AddBehaviour<TextScoreBehaviour>(false, spriteFont);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user