refactor: removed noise from class names
This commit is contained in:
parent
cd66eeeeef
commit
9bf6cabe23
2
Engine
2
Engine
@ -1 +1 @@
|
|||||||
Subproject commit bc1c76d746d01281ecaa3c6937e1990fd1dcdcfc
|
Subproject commit c8bb991865c8efc99786a9a10767f08ce7b8709c
|
@ -43,7 +43,7 @@ Pong.PongUniverse.ApplyPongClient(universe, clientConfiguration.ServerAddress, c
|
|||||||
Pong.PongUniverse.ApplyPongUniverse(universe);
|
Pong.PongUniverse.ApplyPongUniverse(universe);
|
||||||
|
|
||||||
universe.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
|
universe.InstantiateUniverseObject().SetUniverseObject("Desktop HO")
|
||||||
.BehaviourController.AddBehaviour<KeyboardInputsBehaviour>();
|
.BehaviourController.AddBehaviour<KeyboardInputs>();
|
||||||
|
|
||||||
using MonoGameWindow monoGameWindow = new(universe);
|
using MonoGameWindow monoGameWindow = new(universe);
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ using Syntriax.Engine.Systems.Tween;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class BallBehaviour : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INetworkEntity,
|
public class Ball : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INetworkEntity,
|
||||||
IPacketListenerClient<BallBehaviour.BallUpdatePacket>,
|
IPacketListenerClient<Ball.BallUpdatePacket>,
|
||||||
IPacketListenerClient<BallBehaviour.BallResetPacket>
|
IPacketListenerClient<Ball.BallResetPacket>
|
||||||
{
|
{
|
||||||
public float Speed { get; set; } = 500f;
|
public float Speed { get; set; } = 500f;
|
||||||
public float SpeedUpMultiplier { get; set; } = .025f;
|
public float SpeedUpMultiplier { get; set; } = .025f;
|
||||||
@ -62,8 +62,8 @@ public class BallBehaviour : Behaviour2D, IFirstFrameUpdate, IPhysicsUpdate, INe
|
|||||||
networkServer?.SendToAll(new BallUpdatePacket(this));
|
networkServer?.SendToAll(new BallUpdatePacket(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BallBehaviour() { }
|
public Ball() { }
|
||||||
public BallBehaviour(float speed) => Speed = speed;
|
public Ball(float speed) => Speed = speed;
|
||||||
|
|
||||||
void IPacketListenerClient<BallResetPacket>.OnClientPacketArrived(IConnection sender, BallResetPacket packet) => ResetBall();
|
void IPacketListenerClient<BallResetPacket>.OnClientPacketArrived(IConnection sender, BallResetPacket packet) => ResetBall();
|
||||||
void IPacketListenerClient<BallUpdatePacket>.OnClientPacketArrived(IConnection sender, BallUpdatePacket packet)
|
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 Vector2D Velocity { get; set; } = Vector2D.Zero;
|
||||||
|
|
||||||
public BallUpdatePacket() { }
|
public BallUpdatePacket() { }
|
||||||
public BallUpdatePacket(BallBehaviour ballBehaviour)
|
public BallUpdatePacket(Ball ballBehaviour)
|
||||||
{
|
{
|
||||||
Position = ballBehaviour.Transform.Position;
|
Position = ballBehaviour.Transform.Position;
|
||||||
Velocity = ballBehaviour.RigidBody.Velocity;
|
Velocity = ballBehaviour.RigidBody.Velocity;
|
@ -8,14 +8,14 @@ namespace Pong.Behaviours;
|
|||||||
|
|
||||||
public class CameraController : Behaviour, IFirstFrameUpdate, IUpdate
|
public class CameraController : Behaviour, IFirstFrameUpdate, IUpdate
|
||||||
{
|
{
|
||||||
private MonoGameCamera2DBehaviour cameraBehaviour = null!;
|
private MonoGameCamera2D cameraBehaviour = null!;
|
||||||
private IButtonInputs<Keys> buttonInputs = null!;
|
private IButtonInputs<Keys> buttonInputs = null!;
|
||||||
|
|
||||||
private float defaultZoomLevel = 1f;
|
private float defaultZoomLevel = 1f;
|
||||||
|
|
||||||
public void FirstActiveFrame()
|
public void FirstActiveFrame()
|
||||||
{
|
{
|
||||||
cameraBehaviour = BehaviourController.GetRequiredBehaviour<MonoGameCamera2DBehaviour>();
|
cameraBehaviour = BehaviourController.GetRequiredBehaviour<MonoGameCamera2D>();
|
||||||
buttonInputs = Universe.FindRequiredBehaviour<IButtonInputs<Keys>>();
|
buttonInputs = Universe.FindRequiredBehaviour<IButtonInputs<Keys>>();
|
||||||
|
|
||||||
buttonInputs.RegisterOnPress(Keys.F, SwitchToFullScreen);
|
buttonInputs.RegisterOnPress(Keys.F, SwitchToFullScreen);
|
||||||
|
@ -3,7 +3,7 @@ using Syntriax.Engine.Integration.MonoGame;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
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;
|
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 DrawableColliderCircle(Circle circle) : base(circle) { }
|
||||||
public CircleBehaviour(Circle circle, ColorRGBA color) : base(circle) { Color = color; }
|
public DrawableColliderCircle(Circle circle, ColorRGBA color) : base(circle) { Color = color; }
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ using Syntriax.Engine.Integration.MonoGame;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class ShapeBehaviour : Syntriax.Engine.Physics2D.Collider2DShapeBehaviour, IDrawableTriangle
|
public class DrawableColliderShape : Syntriax.Engine.Physics2D.Collider2DShape, IDrawableTriangle
|
||||||
{
|
{
|
||||||
private readonly IList<Triangle> triangles = [];
|
private readonly IList<Triangle> triangles = [];
|
||||||
|
|
||||||
@ -21,6 +21,6 @@ public class ShapeBehaviour : Syntriax.Engine.Physics2D.Collider2DShapeBehaviour
|
|||||||
triangleBatch.Draw(triangle, Color);
|
triangleBatch.Draw(triangle, Color);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ShapeBehaviour(Shape2D shape) : base(shape) { }
|
public DrawableColliderShape(Shape2D shape) : base(shape) { }
|
||||||
public ShapeBehaviour(Shape2D shape, ColorRGBA color) : base(shape) { Color = color; }
|
public DrawableColliderShape(Shape2D shape, ColorRGBA color) : base(shape) { Color = color; }
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ using Syntriax.Engine.Integration.MonoGame;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class TextBehaviour : Behaviour2D, IDrawableSprite
|
public class Label : Behaviour2D, IDrawableSprite
|
||||||
{
|
{
|
||||||
public SpriteFont? Font { get; set; } = null;
|
public SpriteFont? Font { get; set; } = null;
|
||||||
public int Size { get; set; } = 16;
|
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);
|
spriteBatch.DrawString(Font, Text, Transform.Position, Color.White, Transform.Rotation, Vector2D.One * .5f, Transform.Scale.Magnitude, SpriteEffects.None, 0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TextBehaviour() { }
|
public Label() { }
|
||||||
public TextBehaviour(SpriteFont font) => Font = font;
|
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;
|
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,
|
IFirstFrameUpdate, IPhysicsIteration, IPostPhysicsUpdate,
|
||||||
IPacketListenerServer<PaddleBehaviour.PaddleKeyStatePacket>, IPacketListenerClient<PaddleBehaviour.PaddleKeyStatePacket>
|
IPacketListenerServer<Paddle.PaddleKeyStatePacket>, IPacketListenerClient<Paddle.PaddleKeyStatePacket>
|
||||||
{
|
{
|
||||||
private Keys Up { get; } = Up;
|
private Keys Up { get; } = Up;
|
||||||
private Keys Down { get; } = Down;
|
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 IsUpPressed { get; set; } = default!;
|
||||||
public bool IsDownPressed { get; set; } = default!;
|
public bool IsDownPressed { get; set; } = default!;
|
||||||
|
|
||||||
public PaddleKeyStatePacket Set(PaddleBehaviour paddleBehaviour)
|
public PaddleKeyStatePacket Set(Paddle paddleBehaviour)
|
||||||
{
|
{
|
||||||
EntityId = paddleBehaviour.Id;
|
EntityId = paddleBehaviour.Id;
|
||||||
Position = paddleBehaviour.Transform.Position;
|
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() { }
|
||||||
public PaddleKeyStatePacket(PaddleBehaviour paddleBehaviour) => Set(paddleBehaviour);
|
public PaddleKeyStatePacket(Paddle paddleBehaviour) => Set(paddleBehaviour);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,16 +9,16 @@ using Syntriax.Engine.Systems.Input;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate,
|
public class PongManager : Behaviour, INetworkEntity, IFirstFrameUpdate,
|
||||||
IPacketListenerServer<PongManagerBehaviour.RequestStartPacket>,
|
IPacketListenerServer<PongManager.RequestStartPacket>,
|
||||||
IPacketListenerClient<PongManagerBehaviour.ScorePacket>
|
IPacketListenerClient<PongManager.ScorePacket>
|
||||||
{
|
{
|
||||||
public Action<PongManagerBehaviour>? OnReset { get; set; } = null;
|
public Action<PongManager>? OnReset { get; set; } = null;
|
||||||
public Action<PongManagerBehaviour>? OnFinished { get; set; } = null;
|
public Action<PongManager>? OnFinished { get; set; } = null;
|
||||||
public Action<PongManagerBehaviour>? OnScoreUpdated { get; set; } = null;
|
public Action<PongManager>? OnScoreUpdated { get; set; } = null;
|
||||||
|
|
||||||
private Random random = new();
|
private Random random = new();
|
||||||
private BallBehaviour ball = null!;
|
private Ball ball = null!;
|
||||||
|
|
||||||
private INetworkCommunicatorClient? networkClient = null!;
|
private INetworkCommunicatorClient? networkClient = null!;
|
||||||
private INetworkCommunicatorServer? networkServer = null;
|
private INetworkCommunicatorServer? networkServer = null;
|
||||||
@ -30,15 +30,15 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
|
|||||||
|
|
||||||
public int WinScore { get; } = 5;
|
public int WinScore { get; } = 5;
|
||||||
|
|
||||||
public PongManagerBehaviour() => WinScore = 5;
|
public PongManager() => WinScore = 5;
|
||||||
public PongManagerBehaviour(int winScore) => WinScore = winScore;
|
public PongManager(int winScore) => WinScore = winScore;
|
||||||
|
|
||||||
public void FirstActiveFrame()
|
public void FirstActiveFrame()
|
||||||
{
|
{
|
||||||
IButtonInputs<Keys>? buttonInputs = Universe.FindBehaviour<IButtonInputs<Keys>>();
|
IButtonInputs<Keys>? buttonInputs = Universe.FindBehaviour<IButtonInputs<Keys>>();
|
||||||
buttonInputs?.RegisterOnRelease(Keys.Space, (_, _1) => networkClient?.SendToServer(new RequestStartPacket()));
|
buttonInputs?.RegisterOnRelease(Keys.Space, (_, _1) => networkClient?.SendToServer(new RequestStartPacket()));
|
||||||
|
|
||||||
ball = Universe.FindRequiredBehaviour<BallBehaviour>();
|
ball = Universe.FindRequiredBehaviour<Ball>();
|
||||||
networkClient = Universe.FindBehaviour<INetworkCommunicatorClient>();
|
networkClient = Universe.FindBehaviour<INetworkCommunicatorClient>();
|
||||||
networkServer = Universe.FindBehaviour<INetworkCommunicatorServer>();
|
networkServer = Universe.FindBehaviour<INetworkCommunicatorServer>();
|
||||||
logger = Universe.FindBehaviour<ILogger>();
|
logger = Universe.FindBehaviour<ILogger>();
|
||||||
@ -125,7 +125,7 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
|
|||||||
public int Right { get; set; }
|
public int Right { get; set; }
|
||||||
|
|
||||||
public ScorePacket() { }
|
public ScorePacket() { }
|
||||||
public ScorePacket(PongManagerBehaviour pongManagerBehaviour)
|
public ScorePacket(PongManager pongManagerBehaviour)
|
||||||
{
|
{
|
||||||
Left = pongManagerBehaviour.ScoreLeft;
|
Left = pongManagerBehaviour.ScoreLeft;
|
||||||
Right = pongManagerBehaviour.ScoreRight;
|
Right = pongManagerBehaviour.ScoreRight;
|
@ -5,18 +5,18 @@ using Syntriax.Engine.Integration.MonoGame;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate
|
public class ScoreLabel(bool IsLeft) : Label, IFirstFrameUpdate
|
||||||
{
|
{
|
||||||
public readonly bool IsLeft = IsLeft;
|
public readonly bool IsLeft = IsLeft;
|
||||||
|
|
||||||
private PongManagerBehaviour pongManager = null!;
|
private PongManager pongManager = null!;
|
||||||
|
|
||||||
public void FirstActiveFrame()
|
public void FirstActiveFrame()
|
||||||
{
|
{
|
||||||
MonoGameWindow monoGameWindow = Universe.FindRequiredBehaviour<MonoGameWindowContainer>().Window;
|
MonoGameWindow monoGameWindow = Universe.FindRequiredBehaviour<MonoGameWindowContainer>().Window;
|
||||||
Font = monoGameWindow.Content.Load<SpriteFont>("UbuntuMono");
|
Font = monoGameWindow.Content.Load<SpriteFont>("UbuntuMono");
|
||||||
|
|
||||||
pongManager = Universe.FindRequiredBehaviour<PongManagerBehaviour>();
|
pongManager = Universe.FindRequiredBehaviour<PongManager>();
|
||||||
|
|
||||||
pongManager.OnScoreUpdated += UpdateScores;
|
pongManager.OnScoreUpdated += UpdateScores;
|
||||||
pongManager.OnReset += UpdateScores;
|
pongManager.OnReset += UpdateScores;
|
||||||
@ -24,7 +24,7 @@ public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate
|
|||||||
UpdateScores(pongManager);
|
UpdateScores(pongManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateScores(PongManagerBehaviour pongManager)
|
private void UpdateScores(PongManager pongManager)
|
||||||
{
|
{
|
||||||
if (IsLeft)
|
if (IsLeft)
|
||||||
Text = pongManager.ScoreLeft.ToString();
|
Text = pongManager.ScoreLeft.ToString();
|
@ -5,7 +5,7 @@ using Syntriax.Engine.Physics2D;
|
|||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class WallScoreBehaviour(Action OnCollision) : Behaviour2D, IFirstFrameUpdate
|
public class ScoreWall(Action OnCollision) : Behaviour2D, IFirstFrameUpdate
|
||||||
{
|
{
|
||||||
private Action OnCollision { get; } = OnCollision;
|
private Action OnCollision { get; } = OnCollision;
|
||||||
|
|
@ -30,17 +30,17 @@ public static class PongUniverse
|
|||||||
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<MonoGameCamera2D>();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
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<Transform2D>().SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f)
|
||||||
.BehaviourController.AddBehaviour<TextScoreBehaviour>(true);
|
.BehaviourController.AddBehaviour<ScoreLabel>(true);
|
||||||
|
|
||||||
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<Transform2D>().SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f)
|
||||||
.BehaviourController.AddBehaviour<TextScoreBehaviour>(false);
|
.BehaviourController.AddBehaviour<ScoreLabel>(false);
|
||||||
|
|
||||||
return universe;
|
return universe;
|
||||||
}
|
}
|
||||||
@ -63,33 +63,33 @@ public static class PongUniverse
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
PongManagerBehaviour pongManager = universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
|
PongManager pongManager = universe.InstantiateUniverseObject().SetUniverseObject("Pong Game Manager")
|
||||||
.BehaviourController.AddBehaviour<PongManagerBehaviour>(5);
|
.BehaviourController.AddBehaviour<PongManager>(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<DrawableColliderCircle>(new Circle(Vector2D.Zero, 1f))
|
||||||
.BehaviourController.AddBehaviour<BallBehaviour>()
|
.BehaviourController.AddBehaviour<Ball>()
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>();
|
.BehaviourController.AddBehaviour<RigidBody2D>();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
IUniverseObject leftPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Left Paddle");
|
IUniverseObject leftPaddle = UniverseObjectFactory.Instantiate().SetUniverseObject("Left Paddle");
|
||||||
leftPaddle.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new Vector2D(-468f, 0f), scale: new Vector2D(15f, 60f))
|
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;
|
.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";
|
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))
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.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";
|
rightPaddleBehaviour.Id = "rp";
|
||||||
rightPaddle.BehaviourController.AddBehaviour(rightPaddleBehaviour);
|
rightPaddle.BehaviourController.AddBehaviour(rightPaddleBehaviour);
|
||||||
universe.Register(rightPaddle);
|
universe.Register(rightPaddle);
|
||||||
@ -98,24 +98,24 @@ public static class PongUniverse
|
|||||||
|
|
||||||
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<DrawableColliderShape>(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<DrawableColliderShape>(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<ScoreWall>((Action)pongManager.ScoreToLeft)
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<DrawableColliderShape>(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<ScoreWall>((Action)pongManager.ScoreToRight)
|
||||||
.BehaviourController.AddBehaviour<ShapeBehaviour>(Shape2D.Square)
|
.BehaviourController.AddBehaviour<DrawableColliderShape>(Shape2D.Square)
|
||||||
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
.BehaviourController.AddBehaviour<RigidBody2D>().IsStatic = true;
|
||||||
|
|
||||||
return universe;
|
return universe;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user