コード例 #1
0
 public IEnumerator useEnergyOverTime(float energyCost, IUseEnergy caller)
 {
     while (caller.usingEnergy)
     {
         currentEnergy -= energyCost * Time.deltaTime;
         recharging     = false;
         yield return(null);
     }
     recharging = false;
 }
コード例 #2
0
    public void useEnergy(IUseEnergy caller)
    {
        switch (caller.energyUseType)
        {
        default:
            break;

        case EnergyUseType.instant:
            useInstantEnergy(caller.energyCost);
            break;

        case EnergyUseType.drain:
            StartCoroutine(useEnergyOverTime(caller.energyCost, caller));
            break;

        case EnergyUseType.exponential:
            useExponetialEnergy(caller.energyCost, stamina);
            break;
        }
    }