public Racer(iVehicleManager vm, DamageController dc, iRace Race, bool IsMachine) { isMachine = IsMachine; _Race = Race; VehicleManager = vm; _damCtrl = dc; goRacer = vm.goCar; _vehicleController = vm.VehicleController; _defaultMotorForce = _vehicleController.motorForce; _gps = _vehicleController.Gps; if (IsMachine) { _playerGps = DrivingPlayManager.Current.PlayerCarManager.Gps; _playerRacer = DrivingPlayManager.Current.PlayerCarManager.Racer; } else { _scorer = new Scorer(vm, _gps); music = MusicPlayer.Instance; } RoadSegCount = Road.Instance.Segments.Count; if (goRacer.name == "Vehicle1") { _vehicleController.motorForce *= 1.1f; //This car is more powerful. It jumps backward and comes up behind you } _damCtrl.OnCollisionExitEvent += StartHogTimer; }
protected virtual void Dispose(bool b) { RemoveListeners(); _Race = null; VehicleManager = null; goRacer = null; _vehicleController = null; _damCtrl = null; _gps = null; _playerGps = null; _playerRacer = null; _scorer = null; if (PlayerOpposition != null) { PlayerOpposition.Clear(); Opposition.Clear(); } }