public void ChangeEnergy(int energyCount)
    {
        int currentEnergy = PlayerPrefs.GetInt("Player.Energy");
        int newBalance    = currentEnergy + energyCount;

        PlayerPrefs.SetInt("Player.Energy", newBalance);
        OnEnergyChanged?.Invoke(newBalance, energyCount);
    }
Exemple #2
0
    public void RegenEnergyOverTime(float regenSpeed)
    {
        currentEnergy += regenSpeed * Time.deltaTime;
        ClampEnergy();

        OnEnergyChanged?.Invoke(this, new OnEnergyChangedEventArgs {
            CurrentEnergy = currentEnergy
        });
    }
Exemple #3
0
    public void RegenEnergy(float regenAmount)
    {
        currentEnergy += regenAmount;
        ClampEnergy();

        OnEnergyChanged?.Invoke(this, new OnEnergyChangedEventArgs {
            CurrentEnergy = currentEnergy
        });
    }
Exemple #4
0
    public void DrainEnergy(float drainAmount)
    {
        currentEnergy -= drainAmount;
        ClampEnergy();

        OnEnergyChanged?.Invoke(this, new OnEnergyChangedEventArgs {
            CurrentEnergy = currentEnergy
        });
    }
Exemple #5
0
        public void SendEnergy(int amount, NodeController destination)
        {
            if (node is IEnergyTransmitter transmitter)
            {
                transmitter.TransmitEnergy(destination, amount);
            }

            OnEnergyChanged?.Invoke();
        }
Exemple #6
0
        public void AddEnergy(int amount, NetworkIdentity sender)
        {
            if (node is IEnergyReceiver receiver)
            {
                receiver.ReceiveEnergy(amount, sender);
            }

            OnEnergyChanged?.Invoke();
        }
Exemple #7
0
 private void SpendEnergy()
 {
     Energy--;
     OnEnergyChanged?.Invoke(Energy);
     if (Energy < 1)
     {
         OnOutOfEnergy?.Invoke();
         Energy = 0;
     }
 }
Exemple #8
0
 private void Awake()
 {
     Energy = MaxEnergy;
     OnEnergyChanged?.Invoke(Energy);
 }
Exemple #9
0
 protected virtual void InvokeEnergyChanged(float oldValue, float newValue)
 {
     OnEnergyChanged?.Invoke(this, oldValue, newValue);
 }
Exemple #10
0
 void HandleEnergyChanged(OnEnergyChanged e)
 {
     timeText.text       = $"{e.NewEnergy.ToString("0.0")} sec";
     timeSlider.maxValue = e.NewEnergy;
 }
Exemple #11
0
 public void EnergyChanged()
 {
     OnEnergyChanged?.Invoke(this);
 }