// Start is called before the first frame update
 void Start()
 {
     mainCharacterRigidbody    = GetComponent <Rigidbody2D>();
     mainCharacterFeetCollider = GetComponent <BoxCollider2D>();
     abilities     = FindObjectOfType <EquippedAbilitySelector>();
     activeAbility = Instantiate(abilities.GetActiveAbility(), gameObject.transform);
 }
Esempio n. 2
0
    private void SetAbilityLoadout(string[] abilityLoadout)
    {
        EquippedAbilitySelector abilitySet = FindObjectOfType <EquippedAbilitySelector>();

        abilitySet.ClearAbilities();
        foreach (string abilityKey in abilityLoadout)
        {
            if (abilityKey != null)
            {
                GameObject abilityPrefab = Resources.Load(ABILITIES_RELATIVE_PATH + abilityKey) as GameObject;
                Ability    ability;
                switch (abilityKey)
                {
                case GameKeys.ABILITY_SPARK_KEY:
                    ability = abilityPrefab.GetComponent <Spark>();
                    break;

                case GameKeys.ABILITY_SPLITTER_KEY:
                    ability = abilityPrefab.GetComponent <Splitter>();
                    break;

                default:
                    throw new AbilityNotFoundException("Ability " + abilityKey + " not found.");
                }
                ability.Initialize();
                abilitySet.addAbility(ability);
            }
            else
            {
                Debug.LogError("Ability not found.");
                throw new AbilityNotFoundException("Ability not found.");
            }
        }
        abilitySet.SelectAbility(0);
    }