Пример #1
0
        public override void HorizontalActorCollision(ref Vector2 moveAmount, Vector2 corner1, Vector2 corner2)
        {
            if (actorManager.HasActorAtLocation(corner1 - moveAmount) || actorManager.HasActorAtLocation(corner2 - moveAmount))
            {
                moveAmount.X = 0;
                velocity.X   = 0;
                Collided     = true;
                return;
            }

            if (actorManager.HasActorAtLocation(corner1))
            {
                HorizontalCollision(actorManager.GetActorLocation(corner1), corner1, ref moveAmount);
            }
            if (actorManager.HasActorAtLocation(corner2))
            {
                HorizontalCollision(actorManager.GetActorLocation(corner2), corner2, ref moveAmount);
            }
        }