Пример #1
0
    /*private IEnumerator ChangeFOV()
     * {
     * // Debug.Log("Change FOV was called!");
     *  while(true)
     *  {
     *      if(rayCastCar.isBoosting == true)
     *      {//you are boosting
     *         // Debug.Log("Car is boosting!");
     *         if(_vehicleInput != null)
     *          { // if human player
     *              if (cineCamera.m_Lens.FieldOfView < carFovBoost)
     *              {
     *                  //Debug.Log("Car FOV was increased from: " + cineCamera.m_Lens.FieldOfView);
     *                  cineCamera.m_Lens.FieldOfView += carFovChangeAmount;
     *                  // Debug.Log(" to: " + cineCamera.m_Lens.FieldOfView);
     *              }
     *              else
     *              {
     *                  cineCamera.m_Lens.FieldOfView = carFovBoost;
     *                  yield break;
     *              }
     *          }
     *
     *      }
     *      if(rayCastCar.isBoosting == false)
     *      {
     *          if (_vehicleInput != null)
     *          { // if human player
     *              if (cineCamera.m_Lens.FieldOfView > carFovStandard)
     *              {
     *                  cineCamera.m_Lens.FieldOfView -= carFovChangeAmount;
     *              }
     *              else
     *              {
     *                  cineCamera.m_Lens.FieldOfView = carFovStandard;
     *                  yield break;
     *              }
     *          }
     *      }
     *      yield return new WaitForSeconds(carFovChangeRate);
     *  }
     * }*/

    // Handles the ability call, on what input it is, if it can be used, and if it can be held down
    private bool fireAbility(Ability ability, bool canFire, Image abilityCooldown, GameObject abilityDark, GameObject abilityBG, char flagChar)
    {
        if (canFire && ability != null && (!isAI || AIAbilityBehaviour.acquireToken()))
        {
            if (_vehicleInput != null)
            {
                abilityCooldown.fillAmount = 1;
                abilityDark.SetActive(true);
                abilityBG.SetActive(true);
                StartCoroutine(FillReset(abilityBG));
                tracker.awardUpdate(flagChar, _vehicleInput.getPlayerNum());
            }
            else
            {
                Invoke("returnToken", RaceManager.tokenRefreshTime);
            }
            ability.ActivateAbility();

            return(true);
        }
        return(false);
    }
Пример #2
0
 public void returnToken()
 {
     AIAbilityBehaviour.returnToken();
 }