refactor: removed noise from class names
This commit is contained in:
		
							
								
								
									
										2
									
								
								Engine
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								Engine
									
									
									
									
									
								
							 Submodule Engine updated: bc1c76d746...c8bb991865
									
								
							@@ -43,7 +43,7 @@ Pong.PongUniverse.ApplyPongClient(universe, clientConfiguration.ServerAddress, c
 | 
			
		||||
Pong.PongUniverse.ApplyPongUniverse(universe);
 | 
			
		||||
 | 
			
		||||
universe.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
 | 
			
		||||
    .BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();
 | 
			
		||||
    .BehaviourController.AddBehaviour<KeyboardInputs>();
 | 
			
		||||
 | 
			
		||||
using MonoGameWindow monoGameWindow = new(universe);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,9 +5,9 @@ using Syntriax.Engine.Systems.Tween;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class BallBehaviour : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INetworkEntity,
 | 
			
		||||
    IPacketListenerClient<BallBehaviour.BallUpdatePacket>,
 | 
			
		||||
    IPacketListenerClient<BallBehaviour.BallResetPacket>
 | 
			
		||||
public class Ball : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INetworkEntity,
 | 
			
		||||
    IPacketListenerClient<Ball.BallUpdatePacket>,
 | 
			
		||||
    IPacketListenerClient<Ball.BallResetPacket>
 | 
			
		||||
{
 | 
			
		||||
    public float Speed { get; set; } = 500f;
 | 
			
		||||
    public float SpeedUpMultiplier { get; set; } = .025f;
 | 
			
		||||
@@ -62,8 +62,8 @@ public class BallBehaviour : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INe
 | 
			
		||||
        networkServer?.SendToAll(new BallUpdatePacket(this));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public BallBehaviour() { }
 | 
			
		||||
    public BallBehaviour(float speed) => Speed = speed;
 | 
			
		||||
    public Ball() { }
 | 
			
		||||
    public Ball(float speed) => Speed = speed;
 | 
			
		||||
 | 
			
		||||
    void IPacketListenerClient<BallResetPacket>.OnClientPacketArrived(IConnection sender, BallResetPacket packet) => ResetBall();
 | 
			
		||||
    void IPacketListenerClient<BallUpdatePacket>.OnClientPacketArrived(IConnection sender, BallUpdatePacket packet)
 | 
			
		||||
@@ -85,7 +85,7 @@ public class BallBehaviour : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INe
 | 
			
		||||
        public Vector2D Velocity { get; set; } = Vector2D.Zero;
 | 
			
		||||
 | 
			
		||||
        public BallUpdatePacket() { }
 | 
			
		||||
        public BallUpdatePacket(BallBehaviour ballBehaviour)
 | 
			
		||||
        public BallUpdatePacket(Ball ballBehaviour)
 | 
			
		||||
        {
 | 
			
		||||
            Position = ballBehaviour.Transform.Position;
 | 
			
		||||
            Velocity = ballBehaviour.RigidBody.Velocity;
 | 
			
		||||
@@ -8,14 +8,14 @@ namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class CameraController : Behaviour, IFirstFrameUpdate, IUpdate
 | 
			
		||||
{
 | 
			
		||||
    private MonoGameCamera2DBehaviour cameraBehaviour = null!;
 | 
			
		||||
    private MonoGameCamera2D cameraBehaviour = null!;
 | 
			
		||||
    private IButtonInputs<Keys> buttonInputs = null!;
 | 
			
		||||
 | 
			
		||||
    private float defaultZoomLevel = 1f;
 | 
			
		||||
 | 
			
		||||
    public void FirstActiveFrame()
 | 
			
		||||
    {
 | 
			
		||||
        cameraBehaviour = BehaviourController.GetRequiredBehaviour<MonoGameCamera2DBehaviour>();
 | 
			
		||||
        cameraBehaviour = BehaviourController.GetRequiredBehaviour<MonoGameCamera2D>();
 | 
			
		||||
        buttonInputs = Universe.FindRequiredBehaviour<IButtonInputs<Keys>>();
 | 
			
		||||
 | 
			
		||||
        buttonInputs.RegisterOnPress(Keys.F, SwitchToFullScreen);
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ using Syntriax.Engine.Integration.MonoGame;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class CircleBehaviour : Syntriax.Engine.Physics2D.Collider2DCircleBehaviour, IDrawableTriangle
 | 
			
		||||
public class DrawableColliderCircle : Syntriax.Engine.Physics2D.Collider2DCircle, IDrawableTriangle
 | 
			
		||||
{
 | 
			
		||||
    private const float CIRCLE_SEGMENT_COUNT = 32f;
 | 
			
		||||
 | 
			
		||||
@@ -24,6 +24,6 @@ public class CircleBehaviour : Syntriax.Engine.Physics2D.Collider2DCircleBehavio
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public CircleBehaviour(Circle circle) : base(circle) { }
 | 
			
		||||
    public CircleBehaviour(Circle circle, ColorRGBA color) : base(circle) { Color = color; }
 | 
			
		||||
    public DrawableColliderCircle(Circle circle) : base(circle) { }
 | 
			
		||||
    public DrawableColliderCircle(Circle circle, ColorRGBA color) : base(circle) { Color = color; }
 | 
			
		||||
}
 | 
			
		||||
@@ -5,7 +5,7 @@ using Syntriax.Engine.Integration.MonoGame;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class ShapeBehaviour : Syntriax.Engine.Physics2D.Collider2DShapeBehaviour, IDrawableTriangle
 | 
			
		||||
public class DrawableColliderShape : Syntriax.Engine.Physics2D.Collider2DShape, IDrawableTriangle
 | 
			
		||||
{
 | 
			
		||||
    private readonly IList<Triangle> triangles = [];
 | 
			
		||||
 | 
			
		||||
@@ -21,6 +21,6 @@ public class ShapeBehaviour : Syntriax.Engine.Physics2D.Collider2DShapeBehaviour
 | 
			
		||||
            triangleBatch.Draw(triangle, Color);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ShapeBehaviour(Shape2D shape) : base(shape) { }
 | 
			
		||||
    public ShapeBehaviour(Shape2D shape, ColorRGBA color) : base(shape) { Color = color; }
 | 
			
		||||
    public DrawableColliderShape(Shape2D shape) : base(shape) { }
 | 
			
		||||
    public DrawableColliderShape(Shape2D shape, ColorRGBA color) : base(shape) { Color = color; }
 | 
			
		||||
}
 | 
			
		||||
@@ -6,7 +6,7 @@ using Syntriax.Engine.Integration.MonoGame;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class TextBehaviour : Behaviour2D, IDrawableSprite
 | 
			
		||||
public class Label : Behaviour2D, IDrawableSprite
 | 
			
		||||
{
 | 
			
		||||
    public SpriteFont? Font { get; set; } = null;
 | 
			
		||||
    public int Size { get; set; } = 16;
 | 
			
		||||
@@ -20,6 +20,6 @@ public class TextBehaviour : Behaviour2D, IDrawableSprite
 | 
			
		||||
        spriteBatch.DrawString(Font, Text, Transform.Position, Color.White, Transform.Rotation, Vector2D.One * .5f, Transform.Scale.Magnitude, SpriteEffects.None, 0f);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public TextBehaviour() { }
 | 
			
		||||
    public TextBehaviour(SpriteFont font) => Font = font;
 | 
			
		||||
    public Label() { }
 | 
			
		||||
    public Label(SpriteFont font) => Font = font;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,45 +0,0 @@
 | 
			
		||||
using Syntriax.Engine.Core;
 | 
			
		||||
using Syntriax.Engine.Physics2D;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class MovementBallBehaviour : Behaviour2D, IFirstFrameUpdate, IUpdate
 | 
			
		||||
{
 | 
			
		||||
    public Vector2D StartDirection { get; private set; } = Vector2D.Zero;
 | 
			
		||||
    public float Speed { get; set; } = 500f;
 | 
			
		||||
    public float SpeedUpMultiplier { get; set; } = .0125f;
 | 
			
		||||
 | 
			
		||||
    private IRigidBody2D rigidBody = null!;
 | 
			
		||||
 | 
			
		||||
    public void FirstActiveFrame()
 | 
			
		||||
    {
 | 
			
		||||
        rigidBody = BehaviourController.GetRequiredBehaviour<IRigidBody2D>();
 | 
			
		||||
 | 
			
		||||
        rigidBody.Velocity = StartDirection * Speed;
 | 
			
		||||
        BehaviourController.GetRequiredBehaviour<ICollider2D>().OnCollisionDetected.AddListener(OnCollisionDetected);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void Update()
 | 
			
		||||
    {
 | 
			
		||||
        if (rigidBody.Velocity.MagnitudeSquared <= 0.01f)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
        Vector2D speedUp = rigidBody.Velocity.Normalized * Universe.Time.DeltaTime;
 | 
			
		||||
        rigidBody.Velocity += speedUp * SpeedUpMultiplier;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void OnCollisionDetected(ICollider2D collider2D, CollisionDetectionInformation information)
 | 
			
		||||
    {
 | 
			
		||||
        if (Syntriax.Engine.Core.Math.Abs(information.Normal.Dot(Vector2D.Right)) > .25)
 | 
			
		||||
            rigidBody.Velocity = information.Detector.Transform.Position.FromTo(information.Detected.Transform.Position).Normalized * rigidBody.Velocity.Magnitude;
 | 
			
		||||
        else
 | 
			
		||||
            rigidBody.Velocity = rigidBody.Velocity.Reflect(information.Normal);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public MovementBallBehaviour() { }
 | 
			
		||||
    public MovementBallBehaviour(Vector2D startDirection, float speed)
 | 
			
		||||
    {
 | 
			
		||||
        StartDirection = Vector2D.Normalize(startDirection);
 | 
			
		||||
        Speed = speed;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -10,9 +10,9 @@ using Syntriax.Engine.Systems.Tween;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class PaddleBehaviour(Keys Up, Keys Down, float High, float Low, float Speed) : Behaviour2D,
 | 
			
		||||
public class Paddle(Keys Up, Keys Down, float High, float Low, float Speed) : Behaviour2D,
 | 
			
		||||
    IFirstFrameUpdate, IPhysicsIteration, IPostPhysicsUpdate,
 | 
			
		||||
    IPacketListenerServer<PaddleBehaviour.PaddleKeyStatePacket>, IPacketListenerClient<PaddleBehaviour.PaddleKeyStatePacket>
 | 
			
		||||
    IPacketListenerServer<Paddle.PaddleKeyStatePacket>, IPacketListenerClient<Paddle.PaddleKeyStatePacket>
 | 
			
		||||
{
 | 
			
		||||
    private Keys Up { get; } = Up;
 | 
			
		||||
    private Keys Down { get; } = Down;
 | 
			
		||||
@@ -105,7 +105,7 @@ public class PaddleBehaviour(Keys Up, Keys Down, float High, float Low, float Sp
 | 
			
		||||
        public bool IsUpPressed { get; set; } = default!;
 | 
			
		||||
        public bool IsDownPressed { get; set; } = default!;
 | 
			
		||||
 | 
			
		||||
        public PaddleKeyStatePacket Set(PaddleBehaviour paddleBehaviour)
 | 
			
		||||
        public PaddleKeyStatePacket Set(Paddle paddleBehaviour)
 | 
			
		||||
        {
 | 
			
		||||
            EntityId = paddleBehaviour.Id;
 | 
			
		||||
            Position = paddleBehaviour.Transform.Position;
 | 
			
		||||
@@ -116,6 +116,6 @@ public class PaddleBehaviour(Keys Up, Keys Down, float High, float Low, float Sp
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public PaddleKeyStatePacket() { }
 | 
			
		||||
        public PaddleKeyStatePacket(PaddleBehaviour paddleBehaviour) => Set(paddleBehaviour);
 | 
			
		||||
        public PaddleKeyStatePacket(Paddle paddleBehaviour) => Set(paddleBehaviour);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -9,16 +9,16 @@ using Syntriax.Engine.Systems.Input;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate,
 | 
			
		||||
    IPacketListenerServer<PongManagerBehaviour.RequestStartPacket>,
 | 
			
		||||
    IPacketListenerClient<PongManagerBehaviour.ScorePacket>
 | 
			
		||||
public class PongManager : Behaviour, INetworkEntity, IFirstFrameUpdate,
 | 
			
		||||
    IPacketListenerServer<PongManager.RequestStartPacket>,
 | 
			
		||||
    IPacketListenerClient<PongManager.ScorePacket>
 | 
			
		||||
{
 | 
			
		||||
    public Action<PongManagerBehaviour>? OnReset { get; set; } = null;
 | 
			
		||||
    public Action<PongManagerBehaviour>? OnFinished { get; set; } = null;
 | 
			
		||||
    public Action<PongManagerBehaviour>? OnScoreUpdated { get; set; } = null;
 | 
			
		||||
    public Action<PongManager>? OnReset { get; set; } = null;
 | 
			
		||||
    public Action<PongManager>? OnFinished { get; set; } = null;
 | 
			
		||||
    public Action<PongManager>? OnScoreUpdated { get; set; } = null;
 | 
			
		||||
 | 
			
		||||
    private Random random = new();
 | 
			
		||||
    private BallBehaviour ball = null!;
 | 
			
		||||
    private Ball ball = null!;
 | 
			
		||||
 | 
			
		||||
    private INetworkCommunicatorClient? networkClient = null!;
 | 
			
		||||
    private INetworkCommunicatorServer? networkServer = null;
 | 
			
		||||
@@ -30,15 +30,15 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
 | 
			
		||||
 | 
			
		||||
    public int WinScore { get; } = 5;
 | 
			
		||||
 | 
			
		||||
    public PongManagerBehaviour() => WinScore = 5;
 | 
			
		||||
    public PongManagerBehaviour(int winScore) => WinScore = winScore;
 | 
			
		||||
    public PongManager() => WinScore = 5;
 | 
			
		||||
    public PongManager(int winScore) => WinScore = winScore;
 | 
			
		||||
 | 
			
		||||
    public void FirstActiveFrame()
 | 
			
		||||
    {
 | 
			
		||||
        IButtonInputs<Keys>? buttonInputs = Universe.FindBehaviour<IButtonInputs<Keys>>();
 | 
			
		||||
        buttonInputs?.RegisterOnRelease(Keys.Space, (_, _1) => networkClient?.SendToServer(new RequestStartPacket()));
 | 
			
		||||
 | 
			
		||||
        ball = Universe.FindRequiredBehaviour<BallBehaviour>();
 | 
			
		||||
        ball = Universe.FindRequiredBehaviour<Ball>();
 | 
			
		||||
        networkClient = Universe.FindBehaviour<INetworkCommunicatorClient>();
 | 
			
		||||
        networkServer = Universe.FindBehaviour<INetworkCommunicatorServer>();
 | 
			
		||||
        logger = Universe.FindBehaviour<ILogger>();
 | 
			
		||||
@@ -125,7 +125,7 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
 | 
			
		||||
        public int Right { get; set; }
 | 
			
		||||
 | 
			
		||||
        public ScorePacket() { }
 | 
			
		||||
        public ScorePacket(PongManagerBehaviour pongManagerBehaviour)
 | 
			
		||||
        public ScorePacket(PongManager pongManagerBehaviour)
 | 
			
		||||
        {
 | 
			
		||||
            Left = pongManagerBehaviour.ScoreLeft;
 | 
			
		||||
            Right = pongManagerBehaviour.ScoreRight;
 | 
			
		||||
@@ -5,18 +5,18 @@ using Syntriax.Engine.Integration.MonoGame;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate
 | 
			
		||||
public class ScoreLabel(bool IsLeft) : Label, IFirstFrameUpdate
 | 
			
		||||
{
 | 
			
		||||
    public readonly bool IsLeft = IsLeft;
 | 
			
		||||
 | 
			
		||||
    private PongManagerBehaviour pongManager = null!;
 | 
			
		||||
    private PongManager pongManager = null!;
 | 
			
		||||
 | 
			
		||||
    public void FirstActiveFrame()
 | 
			
		||||
    {
 | 
			
		||||
        MonoGameWindow monoGameWindow = Universe.FindRequiredBehaviour<MonoGameWindowContainer>().Window;
 | 
			
		||||
        Font = monoGameWindow.Content.Load<SpriteFont>("UbuntuMono");
 | 
			
		||||
 | 
			
		||||
        pongManager = Universe.FindRequiredBehaviour<PongManagerBehaviour>();
 | 
			
		||||
        pongManager = Universe.FindRequiredBehaviour<PongManager>();
 | 
			
		||||
 | 
			
		||||
        pongManager.OnScoreUpdated += UpdateScores;
 | 
			
		||||
        pongManager.OnReset += UpdateScores;
 | 
			
		||||
@@ -24,7 +24,7 @@ public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate
 | 
			
		||||
        UpdateScores(pongManager);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void UpdateScores(PongManagerBehaviour pongManager)
 | 
			
		||||
    private void UpdateScores(PongManager pongManager)
 | 
			
		||||
    {
 | 
			
		||||
        if (IsLeft)
 | 
			
		||||
            Text = pongManager.ScoreLeft.ToString();
 | 
			
		||||
@@ -5,7 +5,7 @@ using Syntriax.Engine.Physics2D;
 | 
			
		||||
 | 
			
		||||
namespace Pong.Behaviours;
 | 
			
		||||
 | 
			
		||||
public class WallScoreBehaviour(Action OnCollision) : Behaviour2D, IFirstFrameUpdate
 | 
			
		||||
public class ScoreWall(Action OnCollision) : Behaviour2D, IFirstFrameUpdate
 | 
			
		||||
{
 | 
			
		||||
    private Action OnCollision { get; } = OnCollision;
 | 
			
		||||
 | 
			
		||||
@@ -30,17 +30,17 @@ public static class PongUniverse
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Camera")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>()
 | 
			
		||||
            .BehaviourController.AddBehaviour<CameraController>()
 | 
			
		||||
            .BehaviourController.AddBehaviour<MonoGameCamera2DBehaviour>();
 | 
			
		||||
            .BehaviourController.AddBehaviour<MonoGameCamera2D>();
 | 
			
		||||
 | 
			
		||||
        ////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Score Left")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f)
 | 
			
		||||
            .BehaviourController.AddBehaviour<TextScoreBehaviour>(true);
 | 
			
		||||
            .BehaviourController.AddBehaviour<ScoreLabel>(true);
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Score Right")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f)
 | 
			
		||||
            .BehaviourController.AddBehaviour<TextScoreBehaviour>(false);
 | 
			
		||||
            .BehaviourController.AddBehaviour<ScoreLabel>(false);
 | 
			
		||||
 | 
			
		||||
        return universe;
 | 
			
		||||
    }
 | 
			
		||||
@@ -63,33 +63,33 @@ public static class PongUniverse
 | 
			
		||||
 | 
			
		||||
        ////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
        PongManagerBehaviour pongManager = universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
 | 
			
		||||
            .BehaviourController.AddBehaviour<PongManagerBehaviour>(5);
 | 
			
		||||
        PongManager pongManager = universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
 | 
			
		||||
            .BehaviourController.AddBehaviour<PongManager>(5);
 | 
			
		||||
 | 
			
		||||
        ////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Ball")
 | 
			
		||||
                .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0, 0f), scale: new Vector2D(10f, 10f))
 | 
			
		||||
                .BehaviourController.AddBehaviour<CircleBehaviour>(new Circle(Vector2D.Zero, 1f))
 | 
			
		||||
                .BehaviourController.AddBehaviour<BallBehaviour>()
 | 
			
		||||
                .BehaviourController.AddBehaviour<DrawableColliderCircle>(new Circle(Vector2D.Zero, 1f))
 | 
			
		||||
                .BehaviourController.AddBehaviour<Ball>()
 | 
			
		||||
                .BehaviourController.AddBehaviour<RigidBody2D>();
 | 
			
		||||
 | 
			
		||||
        ////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
        IUniverseObject leftPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Left Paddle");
 | 
			
		||||
        leftPaddle.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-468f, 0f), scale: new Vector2D(15f, 60f))
 | 
			
		||||
                .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
                .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
                .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
        PaddleBehaviour leftPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.W, Keys.S, 228f, -228f, 400f);
 | 
			
		||||
        Paddle leftPaddleBehaviour = BehaviourFactory.Instantiate<Paddle>(Keys.W, Keys.S, 228f, -228f, 400f);
 | 
			
		||||
        leftPaddleBehaviour.Id = "lp";
 | 
			
		||||
        leftPaddle.BehaviourController.AddBehaviour(leftPaddleBehaviour);
 | 
			
		||||
        universe.Register(leftPaddle);
 | 
			
		||||
 | 
			
		||||
        IUniverseObject rightPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Right Paddle");
 | 
			
		||||
        rightPaddle.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(468f, 0f), scale: new Vector2D(15f, 60f))
 | 
			
		||||
                .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
                .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
                .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
        PaddleBehaviour rightPaddleBehaviour = BehaviourFactory.Instantiate<PaddleBehaviour>(Keys.Up, Keys.Down, 228f, -228f, 400f);
 | 
			
		||||
        Paddle rightPaddleBehaviour = BehaviourFactory.Instantiate<Paddle>(Keys.Up, Keys.Down, 228f, -228f, 400f);
 | 
			
		||||
        rightPaddleBehaviour.Id = "rp";
 | 
			
		||||
        rightPaddle.BehaviourController.AddBehaviour(rightPaddleBehaviour);
 | 
			
		||||
        universe.Register(rightPaddle);
 | 
			
		||||
@@ -98,24 +98,24 @@ public static class PongUniverse
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Wall Top")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, 308f), scale: new Vector2D(552f, 20f))
 | 
			
		||||
            .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Wall Bottom")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(0f, -308f), scale: new Vector2D(552f, 20f))
 | 
			
		||||
            .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Wall Right")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(532f, 0f), scale: new Vector2D(20f, 328f))
 | 
			
		||||
            .BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToLeft)
 | 
			
		||||
            .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<ScoreWall>((Action)pongManager.ScoreToLeft)
 | 
			
		||||
            .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
 | 
			
		||||
        universe.InstantiateUniverseObject().SetUniverseObject("Wall Left")
 | 
			
		||||
            .BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-532f, 0f), scale: new Vector2D(20f, 328f))
 | 
			
		||||
            .BehaviourController.AddBehaviour<WallScoreBehaviour>((Action)pongManager.ScoreToRight)
 | 
			
		||||
            .BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<ScoreWall>((Action)pongManager.ScoreToRight)
 | 
			
		||||
            .BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
 | 
			
		||||
            .BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
 | 
			
		||||
 | 
			
		||||
        return universe;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user