CannonGame.GameLevel.Update C# (CSharp) Метод

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

public Update ( ) : void
Результат void
        public override void Update()
        {
            if (!niceCannon.hasShot)
            {

                if (!niceCannon.placing && !niceCannon.aiming &&
                    Mouse.GetState().LeftButton == ButtonState.Pressed &&
                    shoot.Contains(Mouse.GetState().X, Mouse.GetState().Y))
                {

                    niceCannon.Fire(niceBall);
                    badCannon.Fire(badBall);
                }
                else
                {
                    badCannon.Direction = niceCannon.Direction * new Vector2(1, -1);
                    badCannon.Position = new Vector2(niceCannon.Position.X, badCannon.Position.Y);
                    niceCannon.Control();
                    badCannon.updateRotation();
                }

            }
            else
            {
                foreach (SolidObstacle o in Objects)
                {
                    niceBall.obstacleCollision(o);
                    badBall.obstacleCollision(o);
                }
                score = (int)(niceBall.Velocity.Length() * 1000);
                niceBall.update();
                badBall.update();

                if ((niceBall.Position - target.Position).Length() < target.radius - niceBall.radius && niceCannon.hasShot)
                {
                    win.Play();
                    CannonGame.ChangeState(5);
                }
                if (((niceBall.Position - badBall.Position).Length() < (niceBall.radius + badBall.radius) || niceBall.Velocity == Vector2.Zero) && niceCannon.hasShot)
                {
                    lose.Play();
                    CannonGame.ChangeState(6);
                }
            }
        }