Untitled

 avatar
unknown
csharp
2 months ago
9.6 kB
12
Indexable
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class manageSkillLevels : MonoBehaviour
{

    public MetaSkill playerHealth;
    public MetaSkill MagnetStrength;
    public MetaSkill PlayerSpeed;
    public MetaSkill AdditionalProjectiles;
    public MetaSkill AttackBoost;
    public MetaSkill ExperienceBoost;

    public TMP_Text myInfo;
    public TMP_Text submarineStatsDisplay;

    public TMP_Text speedCostDisplay;

    // Start is called before the first frame update
    void Start()
    {
        initializeSkills();
    }

    public void initializeSkills()
    {
        playerHealth.MetaSkillLevelIndex = 1;
        MagnetStrength.MetaSkillLevelIndex = 1;
        PlayerSpeed.MetaSkillLevelIndex = 1;
        AdditionalProjectiles.MetaSkillLevelIndex = 1;
        AttackBoost.MetaSkillLevelIndex = 1;
        ExperienceBoost.MetaSkillLevelIndex = 1;
    }
    // Update is called once per frame
    void Update()
    {
        submarineStatsDisplay.text =
            "Health: " + playerHealth.myMetaSkillLevels[GameStats.Instance.playerHealthLevel].playerHealth +
            " / Magnet: " + MagnetStrength.myMetaSkillLevels[GameStats.Instance.magnetBooster].magnetStrenght +
            " / Speed: " + PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].playerSpeed +
            " / AddProjectiles: " + AdditionalProjectiles.myMetaSkillLevels[GameStats.Instance.additionalProjectileLevel].addProjectile +
            " / Attack: " + AttackBoost.myMetaSkillLevels[GameStats.Instance.attackBoostLevel].attackPowerMultiplicator +
            " / XP Boost: " + ExperienceBoost.myMetaSkillLevels[GameStats.Instance.experiencePickupBooster].xpBoost;


    }

    public void levelUpHealth()
    {
        if (playerHealth.myMetaSkillLevels[GameStats.Instance.playerHealthLevel].biomassCost <= GameStats.Instance.biomass)


        {


            if (GameStats.Instance.playerHealthLevel < playerHealth.myMetaSkillLevels.Count - 1)
            {
                GameStats.Instance.biomass -= playerHealth.myMetaSkillLevels[GameStats.Instance.playerHealthLevel].biomassCost;
                GameStats.Instance.playerHealthLevel += 1;
                playerHealth.MetaSkillLevelIndex = GameStats.Instance.playerHealthLevel;
                Debug.Log("Current Health Level: " + GameStats.Instance.playerHealthLevel);

                GameObject.Find("healthUPGRcost").GetComponent<TextMeshProUGUI>().text =
                    playerHealth.myMetaSkillLevels[GameStats.Instance.playerHealthLevel].biomassCost.ToString();

            }
            else
            {
                Debug.Log("Health already at Max-Level");
            }


        }
        else
        {

            Debug.Log("W-A-R-N-I-N-G -- Not enough Biomass. -- W-A-R-N-I-N-G");

        }


    }

    public void levelUpMovementSpeed()
    {
        if (PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].biomassCost <= GameStats.Instance.biomass)
        {


            if (GameStats.Instance.movementSpeedLevel < PlayerSpeed.myMetaSkillLevels.Count - 1)
            {
                GameStats.Instance.biomass -= PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].biomassCost;
                GameStats.Instance.movementSpeedLevel += 1;
                PlayerSpeed.MetaSkillLevelIndex = GameStats.Instance.movementSpeedLevel;

                Debug.Log("Current Speed Level: " + GameStats.Instance.movementSpeedLevel);
                //GameObject.Find("speedUPGRcost").GetComponent<TextMeshProUGUI>().text =
                //    PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].biomassCost.ToString();
                speedCostDisplay.text = PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].biomassCost.ToString();
                //speedUPGRcost
            }
            else
                Debug.Log("Speed already at Max-Level");
        }
        else
        {

            Debug.Log("W-A-R-N-I-N-G -- Not enough Biomass. -- W-A-R-N-I-N-G");

        }


    }

    public void levelUpMagnetBooster()
    {
        if (MagnetStrength.myMetaSkillLevels[GameStats.Instance.magnetBooster].biomassCost <= GameStats.Instance.biomass)
        {


            if (GameStats.Instance.magnetBooster < MagnetStrength.myMetaSkillLevels.Count - 1)
            {
                GameStats.Instance.biomass -= MagnetStrength.myMetaSkillLevels[GameStats.Instance.magnetBooster].biomassCost;
                GameStats.Instance.magnetBooster += 1;
                MagnetStrength.MetaSkillLevelIndex = GameStats.Instance.magnetBooster;
                Debug.Log("Current Magnet Level: " + GameStats.Instance.magnetBooster);
                GameObject.Find("magnetUPGRcost").GetComponent<TextMeshProUGUI>().text =
                   MagnetStrength.myMetaSkillLevels[GameStats.Instance.magnetBooster].biomassCost.ToString();
                //magnetUPGRcost
            }
            else
            {
                Debug.Log("Magnet at max level");
            }
        }
        else
        {

            Debug.Log("W-A-R-N-I-N-G -- Not enough Biomass. -- W-A-R-N-I-N-G");

        }




    }


    public void levelUpAttackBoost()
    {
        if (AttackBoost.myMetaSkillLevels[GameStats.Instance.attackBoostLevel].biomassCost <= GameStats.Instance.biomass)
        {


            if (GameStats.Instance.attackBoostLevel < AttackBoost.myMetaSkillLevels.Count - 1)
            {
                GameStats.Instance.biomass -= PlayerSpeed.myMetaSkillLevels[GameStats.Instance.movementSpeedLevel].biomassCost;
                GameStats.Instance.attackBoostLevel += 1;
                AttackBoost.MetaSkillLevelIndex = GameStats.Instance.attackBoostLevel;
                Debug.Log("Current Attack Level: " + GameStats.Instance.attackBoostLevel);
                GameObject.Find("attackUPGRcost").GetComponent<TextMeshProUGUI>().text =
                   AttackBoost.myMetaSkillLevels[GameStats.Instance.attackBoostLevel].biomassCost.ToString();
                //attackUPGRcost
            }
            else
            {
                Debug.Log("Attack boost at max level");
            }

        }
        else
        {
            Debug.Log("W-A-R-N-I-N-G -- Not enough Biomass. -- W-A-R-N-I-N-G");
        }

    }

    public void levelUpAdditionalProjectile()
    {
        if (AdditionalProjectiles.myMetaSkillLevels[GameStats.Instance.additionalProjectileLevel].biomassCost <= GameStats.Instance.biomass)

        {


            if (GameStats.Instance.additionalProjectileLevel < AdditionalProjectiles.myMetaSkillLevels.Count - 1)
            {
                GameStats.Instance.biomass -= AdditionalProjectiles.myMetaSkillLevels[GameStats.Instance.additionalProjectileLevel].biomassCost;
                GameStats.Instance.additionalProjectileLevel += 1;
                AdditionalProjectiles.MetaSkillLevelIndex = GameStats.Instance.additionalProjectileLevel;
                Debug.Log("Current AdditionalPRojectile Level: " + GameStats.Instance.additionalProjectileLevel);
                GameObject.Find("projectilesUPGRcost").GetComponent<TextMeshProUGUI>().text =
                   AdditionalProjectiles.myMetaSkillLevels[GameStats.Instance.additionalProjectileLevel].biomassCost.ToString();
                //projectilesUPGRcost
            }
            else
            {
                Debug.Log("Additional Projectiles at max level");
            }
        }


    }


    public void levelUpExperiencePickup()
    {
        if (ExperienceBoost.myMetaSkillLevels[GameStats.Instance.experiencePickupBooster].biomassCost <= GameStats.Instance.biomass)
        {


            if (GameStats.Instance.experiencePickupBooster < ExperienceBoost.myMetaSkillLevels.Count - 1)

            {
                GameStats.Instance.biomass -= ExperienceBoost.myMetaSkillLevels[GameStats.Instance.experiencePickupBooster].biomassCost;
                GameStats.Instance.experiencePickupBooster += 1;
                ExperienceBoost.MetaSkillLevelIndex = GameStats.Instance.experiencePickupBooster;
                Debug.Log("Current ExperiencePickup Level: " + GameStats.Instance.experiencePickupBooster);
                GameObject.Find("xpUPGRcost").GetComponent<TextMeshProUGUI>().text =
                   ExperienceBoost.myMetaSkillLevels[GameStats.Instance.experiencePickupBooster].biomassCost.ToString();
                //xpUPGRcost
            }
            else
                Debug.Log("EXP_Boost already at Max-Level or not enough Biomass");
        }
        else
        {
            Debug.Log("W-A-R-N-I-N-G -- Not enough Biomass. -- W-A-R-N-I-N-G");


        }



    }


    // ############# NOT IMPLEMENTED YET#############
    public void levelUpBiomassPickup()
    {
        GameStats.Instance.bioMassPickupBooster += 1;
        Debug.Log("Current BioMass Pickup Level: " + GameStats.Instance.bioMassPickupBooster);
    }
    public void levelUpWeaponsCooldown()
    {
        GameStats.Instance.weaponsCooldownReduction += 1;
        Debug.Log("Current WeaponsCooldown   Level: " + GameStats.Instance.weaponsCooldownReduction);
    }

    public void levelUpArmor()
    {
        GameStats.Instance.armorLevel += 1;
        Debug.Log("Current Armor Level: " + GameStats.Instance.armorLevel);
    }
}
Editor is loading...
Leave a Comment