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(); } }
public void ShowScore(iRace race) { transform.Find("ptsLapRec").GetComponent <Text>().text = race.LapRecBonus.ToString(); transform.Find("ptsHog").GetComponent <Text>().text = race.HogBonus.ToString(); transform.Find("ptsDrift").GetComponent <Text>().text = race.DriftBonus.ToString(); transform.Find("ptsAir").GetComponent <Text>().text = race.AirBonus.ToString(); float Mult = Road.Instance.XSecs.Count * (float)race.Laps / 6000f; float MultRounded = Mathf.RoundToInt(Mult * 10) / 10f; transform.Find("ptsMult").GetComponent <Text>().text = "X " + MultRounded.ToString(); TotalScore = Mathf.RoundToInt((race.LapRecBonus + race.HogBonus + race.DriftBonus + race.AirBonus) * MultRounded); transform.Find("ptsTotal").GetComponent <Text>().text = TotalScore.ToString(); PrevCoins = UserDataManager.Instance.Data.Coins; NewCoins = PrevCoins + TotalScore; transform.Find("btnCoins/txtCoins").GetComponent <Text>().text = PrevCoins.ToString(); UserDataManager.Instance.Data.Coins = NewCoins; UserDataManager.Instance.SaveToFile(); StartCoroutine(CountCoins()); }