Help with Burgzergarcade script part 19

The errors are:

Assets/Scripts/Character Classes/BaseCharacter.cs(89,141): error CS1502: The best overloaded method match for `ModyfyingAttribute.ModyfyingAttribute(Attribute, float)’ has some invalid arguments

Assets/Scripts/Character Classes/BaseCharacter.cs(89,141): error CS1503: Argument #2' cannot convert double’ expression to type `float’

Assets/Scripts/Character Classes/BaseCharacter.cs(89,49): error CS1502: The best overloaded method match for `ModifiedStat.AddModifier(ModyfyingAttribute)’ has some invalid arguments

Assets/Scripts/Character Classes/BaseCharacter.cs(89,49): error CS1503: Argument #1' cannot convert object’ expression to type `ModyfyingAttribute’

Assets/Scripts/Character Classes/BaseCharacter.cs(91,47): error CS1061: Type Vital' does not contain a definition for A’ and no extension method A' of type Vital’ could be found (are you missing a using directive or an assembly reference?)

My script is:

using UnityEngine;
using System.Collections;
using System; //added to acces the enum class

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];

SetupPrimryAttribute();
SetupVital();
SetupSkill();
}

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 avg of all the players skill and assign that as the player level.
public void CalculateLevel() {
}

private void SetupPrimryAttribute() {
for(int cnt = 0; cnt <_primaryAttribute.Length; cnt++) {
_primaryAttribute[cnt] = new Attribute();
}
}

private void SetupVital() {
for(int cnt = 0; cnt <_vital.Length; cnt++) {
_vital[cnt] = new Vital();
}
}

private void SetupSkill() {
for(int cnt = 0; cnt <_skill.Length; cnt++) {
_skill[cnt] = new Skill();
}
}

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 ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
//energy
GetVital((int)VitalName.Energy).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .1));
//mana
GetVital((int)VitalName.Mana).A(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .1));
}

private void SetupSkillModifiers() {
//melee offence
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Might), .33f));
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
//melee defence
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
//magic offence
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
//magic defence
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
//ranged offence
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
//ranged defence
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .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();
}

}

Please post code in CODE tags.

[CODE]
// Code goes here
[/CODE]
using UnityEngine;
using System.Collections;
using System;					//added to acces the enum class
				
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];
		
		SetupPrimryAttribute();
		SetupVital();
		SetupSkill();
	}
	
	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 avg of all the players skill and assign that as the player level.
	public void CalculateLevel() {
	}

	
	private void SetupPrimryAttribute() {
		for(int cnt = 0; cnt <_primaryAttribute.Length; cnt++) {
			_primaryAttribute[cnt] = new Attribute();
		}
	}
	
	private void SetupVital() {
				for(int cnt = 0; cnt <_vital.Length; cnt++) {
			_vital[cnt] = new Vital();
		}
	}
	
	private void SetupSkill() {
		for(int cnt = 0; cnt <_skill.Length; cnt++) {
			_skill[cnt] = new Skill();
		}
	}
	
	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 ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
		//energy
		GetVital((int)VitalName.Energy).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .1));
		//mana
		GetVital((int)VitalName.Mana).A(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .1));
	}
	
	private void SetupSkillModifiers() {
		//melee offence
		GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Might), .33f));
		GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
		//melee defence
		GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
		GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
		//magic offence
		GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
		GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
		//magic defence
		GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
		GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
		//ranged offence
		GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
		GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
		//ranged defence
		GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
		GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModyfyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .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();
	}

}

Deleted as was different error. ( had ‘}’ in wrong place)

Am up to Lession 21 using Unity 3.4 and there are no errors in the tutorials.
All my errors so far have been my own typo’s.