CannonGame.Ball.obstacleCollision C# (CSharp) Метод

obstacleCollision() публичный Метод

public obstacleCollision ( SolidObstacle o ) : void
o SolidObstacle
Результат void
        public void obstacleCollision(SolidObstacle o)
        {
            if (intersects(o.obstacle))
            {

                if ((o.obstacle.Left <= Position.X && Position.X <= o.obstacle.Right))
                {
                    if (Math.Abs(Position.Y - o.obstacle.Top) < Math.Abs(Position.Y - o.obstacle.Bottom))
                    {
                        position.Y = o.obstacle.Top - radius;
                    }
                    else {position.Y = o.obstacle.Bottom + radius; }
                    Velocity *= new Vector2(1, -1);
                }
                else if ((o.obstacle.Top <= Position.Y && Position.Y <= o.obstacle.Bottom))
                {
                    if (Math.Abs(Position.X - o.obstacle.Left) < Math.Abs(Position.X - o.obstacle.Right))
                    {
                        position.X = o.obstacle.Left - radius;
                    }
                    else { position.X = o.obstacle.Right + radius; }
                    Velocity *= new Vector2(-1, 1);
                }

            }
        }