Untitled
unknown
csharp
10 months ago
9.6 kB
16
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