Exemplo n.º 1
0
    public void LoadData()
    {
        //load data
        startLocation = JsonDataManager.gameData.playerStartLocation;
        playerHealthComp.CurrentHealth  = JsonDataManager.gameData.playerHealth;
        defaultMovementSpeed            = JsonDataManager.gameData.defaultMovementSpeed;
        playerHealthComp.maxHealth      = JsonDataManager.gameData.playerMaxHealth;
        _playerEnergy.playerMaxEnergy   = JsonDataManager.gameData.playerMaxEnergy;
        playerHealthComp.canHealthRegen = JsonDataManager.gameData.canHealthRegen;
        DamageMultiplier = JsonDataManager.gameData.damageMultiplier;

        currentMovementSpeed        = defaultMovementSpeed;
        _playerEnergy.currentEnergy = _playerEnergy.playerMaxEnergy;
        _playerEnergy.EnergyAmountCalc();
        playerHealthComp.CurrentHealth = playerHealthComp.maxHealth;
        playerHealthComp.HealthRegenCalc();
        transform.position = startLocation;

        _uiManager.UpdateHealthSlider();
        _uiManager.UpdateEnergySlider();

        if (playerHealthComp.canHealthRegen)
        {
            _uiManager.healthRegenStatus.text = _uiManager.regenStatusOn;
        }
        else
        {
            _uiManager.healthRegenStatus.text = _uiManager.regenStatusOff;
        }
        Debug.Log("Player position loaded");
    }
    public void PlayerEnergyUpgrade(float amount, int cost)
    {
        if (_playerEnergyPoints.energyPoints >= cost && _currentEnergyUpgrade < _maxEnergyUpgrade)
        {
            _playerEnergyPoints.AddRemovePoints(-cost);
            _playerEnergy.playerMaxEnergy += amount;
            _playerEnergy.currentEnergy    = _playerEnergy.playerMaxEnergy;
            _playerEnergy.EnergyAmountCalc();

            EnergyUpgradeAmount += EnergyUpgradeAmount * _upgradeValueMultiplier;
            int newEnergyUpgradeCost = Mathf.RoundToInt(EnergyUpgradeCost * _upgradeCostMultiplier);
            EnergyUpgradeCost += newEnergyUpgradeCost;

            _currentEnergyUpgrade++;
            print("Upgrade complete");

            EnergyUpgradesLeft = _maxEnergyUpgrade - _currentEnergyUpgrade;
            _uiManager.UpdateUpgradesCount(EnergyUpgradesLeft, _uiManager.energyUpgradeLeft);
        }
        else
        {
            print("max upgrades reached");
        }
    }