void Start()
 {
     movementPhysics = new MovementPhysics();
     swipeController = this.GetComponent <SwipeController>();
     myBody          = GetComponent <Rigidbody2D>();
     grounded        = true;
 }
        public void ResolveSlideCollission45()
        {
            var initPosition = new Vector2(0.5f, 0f);
            var shape        = new RectangleShape(initPosition, new Vector2(1, 1));

            float angle = 135f;

            var angleRads = MathHelper.ToRadians(angle);
            IForwardMovablePhysicalEntity pe = new ForwardMovablePhysicalEntity(initPosition, shape, 1, angleRads)
            {
                InelasticCollision = true
            };

            ICollisionChecker collisionChecker = new CollisionCheckerMock(new List <IPhysicalEntity>()
            {
                pe
            });
            var movementPhysics = new MovementPhysics();
            ICollisionResolver collisionResolver = new MomentumCollisionResolver(collisionChecker, movementPhysics);

            movementPhysics.Move(pe);

            collisionResolver.ResolveCollisions();

            Assert.Equal(pe.Position.X, 0f, 2);
            Assert.Equal(pe.Position.Y, -0.71f, 2);
        }
Exemple #3
0
 // Use this for initialization
 void Start()
 {
     collider     = GetComponent <BoxCollider2D>();
     physics      = GetComponent <MovementPhysics>();
     gravity      = -(2 * stats.jumpHeight) / Mathf.Pow(stats.timeToJumpApex, 2);
     jumpVelocity = Mathf.Sqrt(2 * Mathf.Abs(gravity) * stats.jumpHeight);
 }
        public override void Update(GameTime gameTime)
        {
            foreach (object obj in scene.sceneObjects)
            {
                if (obj is IMovable movable)
                {
                    MovementPhysics.simulateMovement(movable, gameTime);
                }
                if (obj is IRotatable rotatable)
                {
                    MovementPhysics.simulateMovement(rotatable, gameTime);
                }
                if (obj is ICustomUpdate updatable)
                {
                    updatable.updateWithGameTime(gameTime);
                }
            }

            for (int i = 0; i < scene.sceneObjects.Count + 1; i++)
            {
                for (int j = i + 1; j < scene.sceneObjects.Count; j++)
                {
                    Collision.collisionBetween(scene.sceneObjects[i], scene.sceneObjects[j]);
                }
            }

            base.Update(gameTime);
        }
 // Use this for initialization
 void Start()
 {
     physics = GetComponent <MovementPhysics>();
     stats   = GetComponent <PlayerStats>();
     updatePlayerPhysics();
     sprite   = GetComponent <SpriteRenderer>();
     animator = GetComponent <Animator>();
     sound    = GetComponent <AudioSource>();
 }
Exemple #6
0
 // Use this for initialization
 void Start()
 {
     physics         = GetComponent <MovementPhysics>();
     stats           = GetComponent <PlayerStats>();
     gravity         = -(2 * stats.GetMaxJumpHeight()) / Mathf.Pow(stats.GetTimeToJumpApex(), 2);
     maxJumpVelocity = Mathf.Abs(gravity) * stats.GetTimeToJumpApex();
     minJumpVelocity = Mathf.Sqrt(2 * Mathf.Abs(gravity) * stats.GetMinJumpHeight());
     sprite          = GetComponent <SpriteRenderer>();
 }
        IEnumerator Gravity()
        {
            Vector3 distancePerFrame = MovementPhysics.MovementVelocity(0, gravity, 60);

            while (!inMotion)
            {
                transform.Translate(distancePerFrame);
                yield return(null);
            }
        }
Exemple #8
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent <MovementPhysics>();
     state      = GetComponent <Animator>();
     noteMap    = new Dictionary <int, KeyCode>()
     {
         { 0, KeyCode.U },
         { 1, KeyCode.I },
         { 2, KeyCode.O },
         { 3, KeyCode.P },
         { 4, KeyCode.J },
         { 5, KeyCode.K },
         { 6, KeyCode.L },
         { 7, KeyCode.Semicolon }
     };
 }
Exemple #9
0
        private void InitPhysics()
        {
            Physics = new Physics.Physics();

            IMovementPhysics  movementPhysics  = new MovementPhysics();
            ICollisionChecker collisionChecker = new CollisionChecker(Atlas);

            // TODO MICHAL: setter for physics implementation

            /*
             * m_collisionResolver = new NaiveCollisionResolver(collisionChecker, movementPhysics);
             * /*/
            m_collisionResolver = new MomentumCollisionResolver(collisionChecker, movementPhysics);
            //*/

            //Log.Instance.Debug("World.ToyWorldCore.ToyWorld: Loading Successful");
        }
        public void ResolveSlideCollissionOrthogonal()
        {
            var initPosition = new Vector2(0.5f, 0f);
            var shape        = new RectangleShape(initPosition, new Vector2(1, 1));
            IForwardMovablePhysicalEntity pe = new ForwardMovablePhysicalEntity(initPosition, shape, 1, MathHelper.Pi / 2);

            pe.InelasticCollision = true;

            ICollisionChecker collisionChecker = new CollisionCheckerMock(new List <IPhysicalEntity>()
            {
                pe
            });
            var movementPhysics = new MovementPhysics();
            ICollisionResolver collisionResolver = new MomentumCollisionResolver(collisionChecker, movementPhysics);

            movementPhysics.Move(pe);

            collisionResolver.ResolveCollisions();

            Assert.Equal(pe.Position.X, 0, 2);
            Assert.Equal(pe.Position.Y, 0, 2);
        }
        IEnumerator DashForward(int dashX, int dashY, int elapsedFrames)
        {
            Vector3 distancePerFrame = MovementPhysics.MovementVelocity(dashX, dashY, elapsedFrames);

            //Vector3(1/30, 0, 0)
            for (int i = 0; i < elapsedFrames; i++)
            {
                inMotion = true;
                transform.Translate(distancePerFrame);
                yield return(null);
            }
            double x = System.Math.Round(transform.position.x, 2);

            transform.position = new Vector3((float)x, transform.position.y, transform.position.z);
            inMotion           = false;
            Vector3 distanceAfter = new Vector3(distancePerFrame.x + distancePerFrame.y / 2, 0, 0);

            while (!isGrounded)
            {
                transform.Translate(distanceAfter);
                yield return(null);
            }
        }
Exemple #12
0
 public MovementPhysicsTest()
 {
     m_movementPhysics = new MovementPhysics();
 }
 // Use this for initialization
 void Start()
 {
     rgbd      = GetComponent <Rigidbody2D>();
     moveSpeed = MovementPhysics.MovementVelocity(1, 0, 30);
 }
Exemple #14
0
 // Use this for initialization
 void Start()
 {
     controller      = GetComponent <MovementPhysics>();
     leftTargetNode  = nodeManager.leftNode;
     rightTargetNode = nodeManager.rightNode;
 }
 // Use this for initialization
 void Start()
 {
     physics = GetComponent <MovementPhysics>();
 }
Exemple #16
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent <MovementPhysics>();
     sprite     = GetComponent <SpriteRenderer>();
 }
Exemple #17
0
 private void Start()
 {
     targetPhysics = target.GetComponent <MovementPhysics>();
 }