Esempio n. 1
0
        public void Update()
        {
            VehicleChassis chassis = Race.Current.PlayerVehicle.Chassis;

            _camera.Position = Race.Current.PlayerVehicle.GetBodyBottom();

            _camera.Orientation = chassis.Actor.GlobalOrientation.Forward;

            if (_camera.Rotation == MathHelper.Pi * 2)
            {
                _camera.ResetRotation();
                _camera.RotateTo(MathHelper.Pi * 2);
            }

            //GameEngine.Camera = _camera;
        }
Esempio n. 2
0
        public void Update()
        {
            if (Engine.Input.IsKeyDown(Keys.PageDown))
            {
                _chaseCameraPositionMultiplier += Engine.ElapsedSeconds;
            }
            else if (Engine.Input.IsKeyDown(Keys.PageUp))
            {
                _chaseCameraPositionMultiplier -= Engine.ElapsedSeconds;
                if (_chaseCameraPositionMultiplier < 1)
                {
                    _chaseCameraPositionMultiplier = 1;
                }
            }

            VehicleChassis chassis = _vehicle.Chassis;

            _camera.Position = _vehicle.GetBodyBottom();

            if (!chassis.InAir)
            {
                _camera.Orientation = chassis.Actor.GlobalOrientation.Forward;
                if (chassis.Speed > 15)
                {
                    _camera.RotateTo(chassis.Backwards ? MathHelper.Pi : 0);
                }
                if (Race.Current.RaceTime.IsStarted)
                {
                    _camera.MinHeight = 0;
                }
                _camera.SetChaseDistance(DefaultChaseDistance * _chaseCameraPositionMultiplier, DefaultChaseHeight * _chaseCameraPositionMultiplier);
            }
            else
            {
                if (Race.Current.RaceTime.IsStarted)
                {
                    _camera.MinHeight = 2;
                }
                _camera.SetChaseDistance(7, DefaultChaseHeight);
            }

            foreach (BaseHUDItem item in _hudItems)
            {
                item.Update();
            }

            Engine.Camera = _camera;
        }
Esempio n. 3
0
        public override void Update()
        {
            VehicleChassis chassis = Race.Current.PlayerVehicle.Chassis;

            _camera.Position = Race.Current.PlayerVehicle.GetBodyBottom();

            _camera.Orientation = chassis.Actor.GlobalOrientation.Forward;

            if (_camera.Rotation == MathHelper.Pi * 2)
            {
                _camera.ResetRotation();
                _camera.RotateTo(MathHelper.Pi * 2);
            }

            if (Engine.Input.WasPressed(Keys.Enter) || Engine.Input.WasPressed(Keys.Escape))
            {
                Race.Current.ExitAndReturnToMenu();
            }
        }
Esempio n. 4
0
        public RaceCompletedMode(CompletionType type)
        {
            _camera               = new FixedChaseCamera(6.3f, 2.3f);
            _camera.FieldOfView   = MathHelper.ToRadians(55.55f);
            _camera.RotationSpeed = 0.8f;
            _camera.MinHeight     = 10;

            switch (type)
            {
            case CompletionType.Opponents:
                MessageRenderer.Instance.PostHeaderMessage("Every opponent wasted!!", 10);
                MessageRenderer.Instance.PostMainMessage("raceover.pix", 8, 0.7f, 0.003f, 1.4f);
                SoundCache.Play(SoundIds.RaceCompleted, null, false);
                SoundCache.Play(SoundIds.Clapping, null, false);
                break;

            case CompletionType.Checkpoints:
                MessageRenderer.Instance.PostHeaderMessage("All checkpoints passed!!", 10);
                MessageRenderer.Instance.PostMainMessage("raceover.pix", 8, 0.7f, 0.003f, 1.4f);
                SoundCache.Play(SoundIds.RaceCompleted, null, false);
                SoundCache.Play(SoundIds.Clapping, null, false);
                break;

            case CompletionType.Peds:
                MessageRenderer.Instance.PostHeaderMessage("Every pedestrian murdered!!", 10);
                MessageRenderer.Instance.PostMainMessage("raceover.pix", 8, 0.7f, 0.003f, 1.4f);
                SoundCache.Play(SoundIds.RaceCompleted, null, false);
                SoundCache.Play(SoundIds.Clapping, null, false);
                break;

            case CompletionType.TimeUp:
                MessageRenderer.Instance.PostMainMessage("timeup.pix", 8, 0.7f, 0.003f, 1.4f);
                SoundCache.Play(SoundIds.OutOfTime, null, false);
                break;
            }

            _camera.ResetRotation();
            _camera.RotateTo(MathHelper.Pi * 2);
            Engine.Camera = _camera;
        }