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; }