Exemple #1
0
    private static void LoadUpgrades()
    {
        string savedUpgrades = PlayerPrefs.GetString("savedUpgrades");

        if (savedUpgrades != default && savedUpgrades != "")         //If saved datas are found
        {
            //Example of string retrieved from playerPrefs: Dash=Base,Pass=Upgrade1,PerfectReception=Upgrade2
            string[] upgradesValues = savedUpgrades.Split(char.Parse(","));
            foreach (string s in upgradesValues)
            {
                if (s != "")
                {
                    string[]         splitValue   = s.Split(char.Parse("="));
                    string           abilityName  = splitValue[0];
                    string           upgradeName  = splitValue[1];
                    ConcernedAbility foundAbility = default;
                    Upgrade          foundUpgrade = default;
                    if (System.Enum.TryParse <ConcernedAbility>(abilityName, out foundAbility) && System.Enum.TryParse <Upgrade>(upgradeName, out foundUpgrade))
                    {
                        unlockedAbilities[foundAbility] = foundUpgrade;
                    }
                }
            }
        }
        UpdateUpgrades();
    }
Exemple #2
0
 public void GoToSpecificAbility(ConcernedAbility _concernedAbility)
 {
     for (int i = 0; i < abilitiesData.Length; i++)
     {
         if (abilitiesData[i].ability == _concernedAbility)
         {
             GotToSpecificAbilityByIndex(i);
         }
     }
 }
Exemple #3
0
    public static void UpgradeAbility(ConcernedAbility _ability, Upgrade _upgrade)
    {
        //Check that the upgrade is better than the current
        int upgradeValue = (int)_upgrade;

        if (upgradeValue > (int)unlockedAbilities[_ability])
        {
            //Unlocking upgrade
            unlockedAbilities[_ability] = _upgrade;
            SaveUpgrades();
            UpdateUpgrades();
            Debug.Log("Upgraded " + _ability + " with " + _upgrade);
        }
    }
Exemple #4
0
    public void OpenAbilitiesMenuAtSpecificOne(ConcernedAbility _concernedAbility, Upgrade _newAbilityLevel)
    {
        abilitiesMenuCanvas.enabled = true;
        AbilityListNavigation i_script = abilitiesMenu.GetComponent <AbilityListNavigation>();

        if (_concernedAbility == ConcernedAbility.PerfectReception)
        {
            i_script.GoToSpecificAbility(_concernedAbility);
            i_script.UnlockNextUpgradeForPerfectReception();
        }
        else
        {
            i_script.GoToSpecificAbility(_concernedAbility);
            i_script.UnlockUpgrade(_newAbilityLevel);
        }
        //AbilityManager.UnlockAbility(_concernedAbility, _newAbilityLevel)
        i_script.isNavigationAllowed = true;
        isMainMenuActive             = false;
    }
Exemple #5
0
 public static void PickedUpAnUpgrade(ConcernedAbility _concernedAbility, Upgrade _newAbilityLevel)
 {
     AbilityManager.UpgradeAbility(_concernedAbility, _newAbilityLevel);
     OpenLevelMenu();
     mainMenu.OpenAbilitiesMenuAtSpecificOne(_concernedAbility, _newAbilityLevel);
 }
Exemple #6
0
 public static Upgrade GetAbilityLevel(ConcernedAbility _ability)
 {
     return(unlockedAbilities[_ability]);
 }