Inheritance: GameBehavior
Ejemplo n.º 1
0
    void Ability()
    {
//		AbilitySO aSO = FindObjectOfType<AbilitySO>();
        if (aSO == null)
        {
            Debug.Log("Error, no abilities scriptable object found");
            return;
        }
        AbilityClass a    = aSO.abilities[index];
        string       info = "";

        info += "Ability name: " + a._name;
        info += "\r\n" + "Description: " + a.description;
        info += "\r\n" + "Attribute used: " + a.baseAttribute;
        info += "\r\n" + "Range: " + a.range;
        info += "\r\n" + "Area: " + a.area;
        for (int i = 0; i < a.effects.Length; i++)
        {
            info += "\r\n" + "Effect name " + a.effects[i].effectName;
            info += "\r\n" + "Effect type: " + a.effects[i].effectType;
            info += "\r\n" + "Target: " + a.effects[i].target;
            info += "\r\n" + "Power: " + a.effects[i].powerMin + " to " + a.effects[i].powerMax;
        }

        Debug.Log(info);
    }
Ejemplo n.º 2
0
        public Ability(Ability ability)
        {
            Name        = ability.Name;
            Key         = ability.Key;
            Description = ability.Description;

            ExpCost       = ability.ExpCost;
            SkillUsed     = ability.SkillUsed;
            SkillRequired = ability.SkillRequired;

            SpriteKey       = ability.SpriteKey;
            StatusSpriteKey = ability.StatusSpriteKey;

            Class = ability.Class;
            Type  = ability.Type;

            Components = new List <AbilityComponent>();

            for (int i = 0; i < ability.Components.Count; i++)
            {
                Components.Add(ability.Components[i]);
            }

            Effects = new List <AbilityEffect>();

            for (int i = 0; i < ability.Effects.Count; i++)
            {
                Effects.Add(ability.Effects[i]);
            }

            BoostRune = ability.BoostRune;
            PreRune   = ability.PreRune;
            PostRune  = ability.PostRune;
            cooldown  = ability.cooldown;
        }
Ejemplo n.º 3
0
 public int getAbilityLevel(AbilityClass abilityClass)
 {
     if (!this.abilityLevel.ContainsKey(abilityClass))
     {
         return(0);
     }
     return(this.abilityLevel[abilityClass]);
 }
Ejemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     for (int i = 0; i < aSO.abilities.Length; i++)
     {
         AbilityClass a = aSO.abilities[i];
         GameObject   g = Instantiate(buttonPrefab, this.transform);
         g.name = a._name;
         AbilityButton ab = g.GetComponent <AbilityButton>();
         ab.label.text  = a._name;
         ab.icon.sprite = a.icon;
         ab.index       = i;
         ab.aSO         = aSO;
     }
 }
Ejemplo n.º 5
0
    //Abilities casted to int, ranging from 1-n
    public void SwitchAbility()
    {
        for (int i = (int)selectedAbility; i < 7; i++)
        {
            if (i != 6 && this.getAbilityLevel((AbilityClass)(i + 1)) > 0)
            {
                selectedAbility = (AbilityClass)(i + 1);
                break;
            }
            else if (i == 6 && this.getAbilityLevel((AbilityClass)1) > 0)
            {
                selectedAbility = (AbilityClass)1;
                break;
            }
        }

        GameObject.Find("CurrentAbility").GetComponent <Text>().text = (this.selectedAbility).ToString();
    }
Ejemplo n.º 6
0
        public Ability(string name, string key, string sprite_key, AbilityClass ability_class, AbilityType ability_type, float cooldown = 0f, int exp = 0, Skill skill = Skill.None, int required = 0)
        {
            Name        = name;
            Key         = key;
            Description = "empty";

            ExpCost       = exp;
            SkillUsed     = skill;
            SkillRequired = required;

            SpriteKey       = sprite_key;
            StatusSpriteKey = "";

            Class = ability_class;
            Type  = ability_type;

            Components    = new List <AbilityComponent>();
            Effects       = new List <AbilityEffect>();
            this.cooldown = cooldown;
        }
Ejemplo n.º 7
0
        public Ability()
        {
            Class = AbilityClass.None;
            Type  = AbilityType.None;

            Name        = "";
            Key         = "";
            Description = "empty";

            ExpCost       = 0;
            SkillUsed     = Skill.None;
            SkillRequired = 0;

            SpriteKey       = "";
            StatusSpriteKey = "";

            Components = new List <AbilityComponent>();
            Effects    = new List <AbilityEffect>();

            BoostRune = "Blank";
            PreRune   = "Blank";
            PostRune  = "Blank";
            cooldown  = 0;
        }
Ejemplo n.º 8
0
 public void SetAbilityLevel(AbilityClass abilityClass, int level)
 {
     this.abilityLevel[abilityClass] = level;
 }
Ejemplo n.º 9
0
    public bool IsOnCooldown(AbilityClass abilityClass)
    {
        bool value;

        return(this.onCooldown.TryGetValue(abilityClass, out value) ? value : false);
    }
Ejemplo n.º 10
0
 public void SetOnCooldown(AbilityClass abilityClass, bool value)
 {
     this.onCooldown[abilityClass] = value;
 }