- Home /
BurgZergArcade Unity tutorial 19-20 errors.
So I have been following BurgZergArcade's unity tutorials and i have been loving it but i am up to 20 and ever since i started 18-20(BaseCharacter.cs Tutorials) i have been getting errors in my BaseCharacter Script, Here are the errors:
Assets/Scripts/Character Classes/BaseCharacter.cs(119,133): error CS0103: The name AttributeName' does not exist in the current context Assets/Scripts/Character Classes/BaseCharacter.cs(119,107): error CS1502: The best overloaded method match for
BaseCharacter.GetPrimaryAttribute(int)' has some invalid arguments
Assets/Scripts/Character Classes/BaseCharacter.cs(119,107): error CS1503: Argument #1' cannot convert
object' expression to type `int'
-----------------------------fin
Those three errors start to repeat for more lines.
Here is my Code(BaseCharacter.cs):
using UnityEngine; using System.Collections; using System; //added to acess enum class using System.Collections.Generic;
public class BaseCharacter : MonoBehaviour{ private string _name; private int _level; private uint _freeExp;
private Attribute[] _primaryAttribute; private Vital[] _vital; private Skill[] _skill;
public void Awake(){ _name = string.Empty; _level = 0; _freeExp = 0;
_primaryAttribute = new Attribute[Enum.GetValues(typeof(AttributeName)).Length]; _vital = new Vital[Enum.GetValues(typeof(VitalName)).Length]; _skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
SetupPrimaryAttributes(); SetupVitals(); SetupSkills(); }
public string Name { get {return _name;} set {_name = value;} } public int Level { get {return _level;} set {_level = value;} }
public uint FreeExp { get {return _freeExp;} set {_freeExp = value;} }
public void AddExp(uint exp){ _freeExp += exp; CalculateLevel(); }
//take average of all players skills and assign that as player level public void CalculateLevel(){
}
private void SetupPrimaryAttributes(){ for(int cnt = 0; cnt < _primaryAttribute.Length; cnt++){ _primaryAttribute[cnt] = new Attribute(); } }
private void SetupVitals(){ for(int cnt = 0; cnt < _vital.Length; cnt++){ _primaryAttribute[cnt] = new Attribute(); } }
private void SetupSkills(){ for(int cnt = 0; cnt <_skill.Length; cnt++){ _primaryAttribute[cnt] = new Attribute(); } }
public Attribute GetPrimaryAttribute(int index){ return _primaryAttribute[index]; }
public Vital GetVital(int index){ return _vital[index]; }
public Skill GetSkill(int index){ return _skill[index]; }
private void SetupVitalModifiers(){ //health GetVital((int) VitalName.Health).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Constitution), ratio = 0.5f });
//energy GetVital((int) VitalName.Energy).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Constitution), ratio = 1 });
//mana GetVital((int) VitalName.Mana).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Willpower), ratio = 0.5f }); }
private void SetupSkillModifiers(){ //melee_offence GetSkill((int) SkillName.Melee_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Might), ratio = 0.33f }); GetSkill((int) SkillName.Melee_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Nimbleness), ratio = 0.33f });
//melee _defence GetSkill((int) SkillName.Melee_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Speed), ratio = 0.33f }); GetSkill((int) SkillName.Melee_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Constitution), ratio = 0.33f });
//magic offence GetSkill((int) SkillName.Magic_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Concentration), ratio = 0.33f }); GetSkill((int) SkillName.Magic_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Willpower), ratio = 0.33f });
//magic defence GetSkill((int) SkillName.Magic_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Concentration), ratio = 0.33f }); GetSkill((int) SkillName.Magic_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Willpower), ratio = 0.33f });
//ranged offence GetSkill((int) SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Concentration), ratio = 0.33f }); GetSkill((int) SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Speed), ratio = 0.33f });
//ranged defence GetSkill((int) SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.Speed), ratio = 0.33f }); GetSkill((int) SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute { attribute = GetPrimaryAttribute((int) AttributeName.NimbleNess), ratio = 0.33f });
} public void StatUpdate(){ for(int cnt = 0; cnt < _vital.Length; cnt++) _vital[cnt].Update(); for(int cnt = 0; cnt < _skill.Length; cnt++) _skill[cnt].Update();
} }
And here is my Attribute.cs:
public class Attribute : BaseStat {
public Attribute(){ ExpToLevel = 50; LevelModifier = 1.05f; } public enum AttributeName{ Might, Constitution, Nimbleness, Speed, Concentration, Willpower, Charisma } }
Thanks for the Help.