public Dashboard(DrivableVehicle car, DashboardDescription descriptor) { _car = car; _descriptor = descriptor; _car.Motor.Gearbox.GearChangeStarted += new EventHandler(Gearbox_GearChangeStarted); _gearBoxAnimation = new GearboxAnimation(); //_instrumentLine = Engine.Instance.ContentManager.Load<Texture2D>("Content\\SpeedoLine"); if (_tachLineTexture == null) { _tachLineTexture = new Texture2D(Engine.Instance.Device, (int)3, 25); Color[] pixels = new Color[_tachLineTexture.Width * _tachLineTexture.Height]; for (int i = 0; i < pixels.Length; i++) { pixels[i] = Color.Red; } _tachLineTexture.SetData <Color>(pixels); } FshFile fsh = new FshFile(Path.Combine(@"SIMDATA\DASH", descriptor.Filename)); var bitmaps = fsh.Header; Dash = bitmaps.FindByName("dash"); GearGate = bitmaps.FindByName("gate"); GearKnob = bitmaps.FindByName("nob1"); Leather1 = bitmaps.FindByName("lth1"); Leather2 = bitmaps.FindByName("lth2"); Leather3 = bitmaps.FindByName("lth3"); //steering wheel images, from straight to left, then to the right. Not all cars have all steering angles Wstr = bitmaps.FindByName("wstr"); Wl06 = bitmaps.FindByName("wl06"); Wl14 = bitmaps.FindByName("wl14"); Wl22 = bitmaps.FindByName("wl22"); Wl32 = bitmaps.FindByName("wl32"); if (Wl32 == null) { Wl32 = Wl22; } Wl45 = bitmaps.FindByName("wl45"); if (Wl45 == null) { Wl45 = Wl32; } Wr06 = bitmaps.FindByName("wr06"); Wr14 = bitmaps.FindByName("wr14"); Wr22 = bitmaps.FindByName("wr22"); Wr32 = bitmaps.FindByName("wr32"); if (Wr32 == null) { Wr32 = Wr22; } Wr45 = bitmaps.FindByName("wr45"); if (Wr45 == null) { Wr45 = Wr32; } }
public BumperView(DrivableVehicle car) { _car = car; _camera = new SimpleCamera(); _camera.FieldOfView = GameConfig.FOV; _camera.FarPlaneDistance = GameConfig.DrawDistance; }
public void RenderBackground(DrivableVehicle car) { float carRpm = car.Motor.Rpm / car.Motor.RedlineRpm; Engine.Instance.SpriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.LinearWrap, DepthStencilState.None, RasterizerState.CullNone); // Draw tacho Color color = new Color(255, 255, 255, 200); Engine.Instance.SpriteBatch.Draw(_tacho.Texture, new Rectangle(_tacho.Misc[2], _tacho.Misc[3], _size, _size), Color.White); float rotation = (float)(carRpm * Math.PI * 1.4f) - 2.56f; Engine.Instance.SpriteBatch.Draw(_tachLineTexture, new Vector2(_tacho.Misc[2] + _size / 2, _tacho.Misc[3] + _size / 2), null, color, rotation, new Vector2(_needleWidth / 2, 25), new Vector2(1f, _needleLength), SpriteEffects.None, 0); // mini-map overlay //Engine.Instance.SpriteBatch.Draw(_map.Texture, _map.GetDisplayAt(), Color.White); // Draw bottom fill const int barHeight = 17; Engine.Instance.SpriteBatch.Draw(_bottomBar.Texture, new Vector2(0, 400), new Rectangle(0, 0, 640, barHeight), Color.White); Engine.Instance.SpriteBatch.Draw(_bottomFill.Texture, new Vector2(0, 400 + barHeight), new Rectangle(0, 0, 640, 60), Color.White); Engine.Instance.SpriteBatch.End(); }
public DropCameraView(DrivableVehicle car) { _car = car; _camera = new SimpleCamera(); _camera.FieldOfView = GameConfig.FOV; _camera.FarPlaneDistance = GameConfig.DrawDistance; PositionCameraAtNode(car.Track.RoadNodes[10]); }
public RacingAIDriver(VehicleDescription vehicleDescriptor) { _vehicle = new DrivableVehicle(vehicleDescriptor); _vehicle.SteeringSpeed = 6; _vehicle.AutoDrift = false; Vehicle = _vehicle; _firstLaneChangeAllowed = Engine.Instance.Random.Next(5, 40); }
public ChaseView(DrivableVehicle car, int distance, int height, int offset) { _car = car; _camera = new FixedChaseCamera(); _camera.FieldOfView = GameConfig.FOV; _camera.FarPlaneDistance = GameConfig.DrawDistance; _camera.ChaseDistance = distance; _camera.ChaseHeight = height; _camera.ChaseOffset = offset; }
public PlayerUI(DrivableVehicle vehicle) { _vehicle = vehicle; _views.Add(new DebugView(_vehicle)); _views.Add(new ChaseView(_vehicle, 32, 14, 0)); _views.Add(new DashboardView(_vehicle)); _views.Add(new BumperView(_vehicle)); _views.Add(new DropCameraView(_vehicle)); _views[_currentView].Activate(); }
public DashboardView(DrivableVehicle car) { _car = car; _camera = new SimpleCamera(); _camera.FieldOfView = GameConfig.FOV; _camera.FarPlaneDistance = GameConfig.DrawDistance; var dashfile = Path.GetFileNameWithoutExtension(car.Descriptor.ModelFile) + "dh.fsh"; var dashDescription = DashboardDescription.Descriptions.Find(a => a.Filename == dashfile); _dashboard = new Dashboard(car, dashDescription); }
public DoRaceScreen(Track track) { _track = track; _car = new DrivableVehicle(GameConfig.SelectedVehicle); _playerDriver = new PlayerDriver(_car); _car.AudioEnabled = true; _race = new Race(_track.IsOpenRoad ? 1 : 3, _track, _playerDriver); for (int i = 0; i < 10; i++) { int j = Engine.Instance.Random.Next(VehicleDescription.Descriptions.Count); _race.AddDriver(new RacingAIDriver(VehicleDescription.Descriptions[j])); } //_race.AddDriver(new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Viper"))); //_race.AddDriver(new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Viper"))); //_race.AddDriver(new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Viper"))); //_race.AddDriver(new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Viper"))); _playerUI = new PlayerUI(_car); /* * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "911")); * _aiDrivers.Add(d); * _track.AddDriver(d); * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Viper")); * _aiDrivers.Add(d); * _track.AddDriver(d); * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "Diablo")); * _aiDrivers.Add(d); * _track.AddDriver(d); * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "F512")); * _aiDrivers.Add(d); * _track.AddDriver(d); * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "ZR1")); * _aiDrivers.Add(d); * _track.AddDriver(d); * d = new AIDriver(VehicleDescription.Descriptions.Find(a => a.Name == "NSX")); * _aiDrivers.Add(d); * _track.AddDriver(d); */ _raceUI = new RaceUI(_race); _race.StartCountdown(); _raceViewport = new Viewport(0, 0, 640, 400); _uiViewport = new Viewport(0, 0, 640, 480); }
public VehicleAudioProvider2(DrivableVehicle car) { _car = car; }
public PlayerDriver(DrivableVehicle vehicle) { _vehicle = vehicle; }
public DebugView(DrivableVehicle car) { _car = car; _camera = new FPSCamera(); }