private void Start() { _oxygenTank = GetComponent <PlayerOxygenTank>(); _spriteRenderer = GetComponentInChildren <SpriteRenderer>(); InvokeRepeating(nameof(UseOxygen), 0, OxygenTickSpeed); }
public void GiveOxygenToPlayer() { PlayerOxygenTank playerTank = FindObjectOfType <PlayerOxygenTank>(); float oxygenNeeded = playerTank.MaxCapacity - playerTank.CurrentCapacity; if (CurrentCapacity > oxygenNeeded) { playerTank.CurrentCapacity = Mathf.Clamp(playerTank.CurrentCapacity + oxygenNeeded, 0, playerTank.MaxCapacity); CurrentCapacity -= Mathf.Clamp(oxygenNeeded, 0, MaxCapacity); } else { playerTank.CurrentCapacity = Mathf.Clamp(playerTank.CurrentCapacity + CurrentCapacity, 0, playerTank.MaxCapacity); CurrentCapacity = 0; } }