Hack and Slash tutorial Vitals and Skill points not showing up

Hi, I have followed the Hack and Slash tutorial for 24 episodes now, and I have stumbeled across a problem. It is supposed to display how many vital and skill points I have, but when I start the game it only shows 0.

BaseCharacter.cs:

using UnityEngine;
using System.Collections;
using System;

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();
}

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++){
		_vital[cnt] = new Vital();
	}
	SetupVitalModifiers();
}

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

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

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

}

CharacterGenerator.cs:

using UnityEngine;
using System.Collections;
using System;

public class CharacterGenerator : MonoBehaviour {
private PlayerCharacter _toon;
private const int STARTING_POINTS = 350;
private const int MIN_STARTING_ATTRIBUTE_VALUE = 10;
private int pointsLeft;

// Use this for initialization
void Start () {
	_toon =  new PlayerCharacter();
	_toon.Awake();
	
	pointsLeft = STARTING_POINTS;
	for(int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++){
		_toon.GetPrimaryAttribute(cnt).BaseValue = MIN_STARTING_ATTRIBUTE_VALUE;
	}
}

// Update is called once per frame
void Update () {
	_toon.StatUpdate();
}

void OnGUI () {
	DisplayName();
	DisplayPointsLeft();
	DisplayAttributes();
	DisplayVitals();
	DisplaySkills();
}

private void DisplayName () {
	GUI.Label(new Rect(10, 10, 50, 25), "Name:");
	_toon.Name = GUI.TextArea(new Rect(65, 10, 100, 25), _toon.Name);
}

private void DisplayAttributes () {
	for(int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++){
		GUI.Label(new Rect(10, 40 + (cnt * 25), 100, 25), ((AttributeName)cnt).ToString());
		GUI.Label(new Rect(115, 40 + (cnt * 25), 30, 25), _toon.GetPrimaryAttribute(cnt).AdjustedBaseValue.ToString());
		
		if(GUI.Button(new Rect(150, 40 + (cnt * 25), 25, 25), "-")){
			if(_toon.GetPrimaryAttribute(cnt).BaseValue > MIN_STARTING_ATTRIBUTE_VALUE){
				_toon.GetPrimaryAttribute(cnt).BaseValue--;
				pointsLeft++;
			}
		}
		if(GUI.Button(new Rect(180, 40 + (cnt * 25), 25, 25), "+")){
			if(pointsLeft > 0){
				_toon.GetPrimaryAttribute(cnt).BaseValue++;
				pointsLeft--;
			}
		}
	}
}

private void DisplayVitals () {
	for(int cnt = 0; cnt < Enum.GetValues(typeof(VitalName)).Length; cnt++){
		GUI.Label(new Rect(10, 40 + ((cnt + 7) * 25), 100, 25), ((VitalName)cnt).ToString());
		GUI.Label(new Rect(115, 40 + ((cnt + 7) * 25), 30, 25), _toon.GetVital(cnt).AdjustedBaseValue.ToString());
	}
}

private void DisplaySkills() {
	for(int cnt = 0; cnt < Enum.GetValues(typeof(SkillName)).Length; cnt++){
		GUI.Label(new Rect(250, 40 + (cnt * 25), 100, 25), ((SkillName)cnt).ToString());
		GUI.Label(new Rect(355, 40 + (cnt * 25), 30, 25), _toon.GetSkill(cnt).AdjustedBaseValue.ToString());
	}
}

private void DisplayPointsLeft () {
	GUI.Label(new Rect(250, 10, 100, 25), "Points Left: " + pointsLeft);
}

}

Thanks!

In your StatUpdate() function, you are using ‘>’ [greater than] instead of ‘<’ [less than] in both the vitals and stats blocks. Since ‘cnt’ is initialized to zero, it will not enter either of the for-loops.