public void ActivateAbility(bool police) // True = police false = truck { if (police) { if (!_policeAbilityActive) { //_abilityListCop = GameObject.FindGameObjectWithTag("PoliceAbility").GetComponents<SCR_AbilityBase>().ToList(); Random.seed = (int)System.DateTime.Now.Ticks; int r = Random.Range(0, _abilityListCop.Count); if (_policeAbilityActive2) { if (_abilityListCop.Count > 1) { do { r = Random.Range(0, _abilityListCop.Count); } while (ActiveAbilityPolice2 == _abilityListCop[r]); } } _abilityListCop[r].OnPickUp(true); _policeAbilityActive = true; ActiveAbilityPolice = _abilityListCop[r]; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); } else if (_abilityListCop.Count > 1) { Random.seed = (int)System.DateTime.Now.Ticks; int r = Random.Range(0, _abilityListCop.Count); do { r = Random.Range(0, _abilityListCop.Count); } while (ActiveAbilityPolice == _abilityListCop[r]); _abilityListCop[r].OnPickUp(false); _policeAbilityActive2 = true; ActiveAbilityPolice2 = _abilityListCop[r]; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); } } else { if (!_truckAbilityActive) { //_abilityListTruck = GameObject.FindGameObjectWithTag("TruckAbility").GetComponents<SCR_AbilityBase>().ToList(); Random.seed = (int)System.DateTime.Now.Ticks; var r = Random.Range(0, _abilityListTruck.Count); if (_truckAbilityActive2) { if (_abilityListTruck.Count > 1) { do { r = Random.Range(0, _abilityListTruck.Count); } while (ActiveAbilityTruck2 == _abilityListTruck[r]); } } _abilityListTruck[r].OnPickUp(true); _truckAbilityActive = true; ActiveAbilityTruck = _abilityListTruck[r]; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); } else if (_abilityListTruck.Count > 1) { Random.seed = (int)System.DateTime.Now.Ticks; var r = Random.Range(0, _abilityListTruck.Count); do { r = Random.Range(0, _abilityListTruck.Count); } while (_abilityListTruck[r] == ActiveAbilityTruck); _abilityListTruck[r].OnPickUp(false); _truckAbilityActive2 = true; ActiveAbilityTruck2 = _abilityListTruck[r]; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); } } }
// Update is called once per frame void Update() { if (!_policeAbilityActive || !_policeAbilityActive2) { foreach (var ac in _abilityListCop) { if (Input.GetKeyDown(keyCodes[ac.GodKey])) { if (!_policeAbilityActive) { if (ActiveAbilityPolice2 != ac || !_policeAbilityActive2) { ac.OnPickUp(true); _policeAbilityActive = true; ActiveAbilityPolice = ac; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); SCR_NotificationQueue.NotificationPolice.DisplayText("GODMODE: Ability " + ac.AbilityName, 3.0f, 0.20f); } } else if (_abilityListCop.Count > 1) { if (ActiveAbilityPolice != ac || !_policeAbilityActive) { ac.OnPickUp(false); _policeAbilityActive2 = true; ActiveAbilityPolice2 = ac; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); SCR_NotificationQueue.NotificationPolice.DisplayText("GODMODE: Ability " + ac.AbilityName, 3.0f, 0.20f); } } } } } if (!_truckAbilityActive || !_truckAbilityActive2) { foreach (var at in _abilityListTruck) { if (Input.GetKeyDown(keyCodes[at.GodKey])) { if (!_truckAbilityActive) { if (ActiveAbilityTruck2 != at || !_truckAbilityActive2) { at.OnPickUp(true); _truckAbilityActive = true; ActiveAbilityTruck = at; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); SCR_NotificationQueue.NotificationTruck.DisplayText("GODMODE: Ability " + at.AbilityName, 3.0f, 0.20f); } } else if (_abilityListTruck.Count > 1) { if (ActiveAbilityPolice != at || !_truckAbilityActive) { at.OnPickUp(false); _truckAbilityActive2 = true; ActiveAbilityTruck2 = at; GameObject.FindWithTag("HUD").GetComponent <SCR_AbilityUI>().UpdatePickupUI(); SCR_NotificationQueue.NotificationTruck.DisplayText("GODMODE: Ability " + at.AbilityName, 3.0f, 0.20f); } } } } } }