diff --git a/Game/Behaviours/MovementBallBehaviour.cs b/Game/Behaviours/MovementBallBehaviour.cs index 23224ba..cbcc415 100644 --- a/Game/Behaviours/MovementBallBehaviour.cs +++ b/Game/Behaviours/MovementBallBehaviour.cs @@ -1,19 +1,24 @@ using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; + using Syntriax.Engine.Core; -using Syntriax.Engine.Input; using Syntriax.Engine.Physics2D; using Syntriax.Engine.Physics2D.Abstract; namespace Pong.Behaviours; -public class MovementBallBehaviour(Vector2D StartDirection, float Speed) : BehaviourOverride +public class MovementBallBehaviour : BehaviourOverride { - public Vector2D StartDirection { get; private set; } = Vector2D.Normalize(StartDirection); - public float Speed { get; set; } = Speed; + public Vector2D StartDirection { get; private set; } = Vector2D.Zero; + public float Speed { get; set; } = 500f; private IRigidBody2D rigidBody = null!; + public MovementBallBehaviour(Vector2D startDirection, float speed) + { + StartDirection = Vector2D.Normalize(startDirection); + Speed = speed; + } + public MovementBallBehaviour() { } + protected override void OnFirstActiveFrame() { if (!BehaviourController.TryGetBehaviour(out IRigidBody2D? foundRigidBody)) @@ -31,33 +36,4 @@ public class MovementBallBehaviour(Vector2D StartDirection, float Speed) : Behav { rigidBody.Velocity = rigidBody.Velocity.Reflect(information.Normal); } - - // protected override void OnUpdate(GameTime time) - // { - // GameObject.Transform.Position += StartDirection * (time.ElapsedGameTime.Nanoseconds * .001f) * Speed; - - // float absY = MathF.Abs(GameObject.Transform.Position.Y); - // float differenceY = absY - PlayAreaBehaviour.PlayArea.Y * 0.5f; - // if (differenceY > 0f) - // { - // if (GameObject.Transform.Position.Y > 0f) - // GameObject.Transform.Position -= Vector2.UnitY * differenceY * 2f; - // else - // GameObject.Transform.Position += Vector2.UnitY * differenceY * 2f; - - // StartDirection = new(StartDirection.X, -StartDirection.Y); - // } - - // float absX = MathF.Abs(GameObject.Transform.Position.X); - // float differenceX = absX - PlayAreaBehaviour.PlayArea.X * 0.5f; - // if (differenceX > 0f) - // { - // if (GameObject.Transform.Position.X > 0f) - // GameObject.Transform.Position -= Vector2.UnitX * differenceX * 2f; - // else - // GameObject.Transform.Position += Vector2.UnitX * differenceX * 2f; - - // StartDirection = new(-StartDirection.X, StartDirection.Y); - // } - // } }