GUISkin breakages

ok this script was working before i started adding on a GUISkin. now it doesn’t work even after i removed all the changes…WTF is going on??? i know the placement problem im going to get around to it. if you have any suggestions go ahead. but i really just cannot figure out what i did to break it…oh and on top of that my monodevelop has stopped giving me the quick option for GUI.Label don’t know if that is related.

using UnityEngine;
using System.Collections;
using System;

public class CharacterGenerator : MonoBehaviour
{
	private PlayerCharacter _hero;

	//Stat information
	private const int STARTING_POINTS = 400;
	private const int MIN_STARTING_ATTRIBUTE_VALUE = 10;
	private const int STARTING_VALUE = 50;
	private int PointsLeft;

	// Use this for initialization
	void Start ()
	{
		_hero = new PlayerCharacter ();
		_hero.Awake ();

		PointsLeft = STARTING_POINTS;

		for (int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++)
		{
			_hero.GetPrimaryAttribute(cnt).BaseValue = STARTING_VALUE;
			PointsLeft -= (STARTING_VALUE - MIN_STARTING_ATTRIBUTE_VALUE);
		}

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

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

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

	private void DisplayAttributes()
	{
		for (int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++)
		{
			GUI.Label(new Rect(5, 50 + ((cnt + 4) * 20), 100, 20), ((AttributeName)cnt).ToString());

			GUI.Label(new Rect(105, 50 + ((cnt + 4) * 20), 30, 20), _hero.GetPrimaryAttribute(cnt).AdjustedBaseValue.ToString());

			if(GUI.Button(new Rect(105 + 30, 50 + ((cnt + 4) * 20), 20, 20), "-"));									
			{
				if(_hero.GetPrimaryAttribute(cnt).BaseValue > MIN_STARTING_ATTRIBUTE_VALUE)
				{
					_hero.GetPrimaryAttribute(cnt).BaseValue--;
					PointsLeft++;
					_hero.StatUpdate ();

				}
			}

			if(GUI.Button(new Rect(165, 50 + ((cnt + 4) * 20), 20, 20), "+"));
			{
				if(PointsLeft > 0)
				{
					_hero.GetPrimaryAttribute(cnt).BaseValue++;
					PointsLeft--;
					_hero.StatUpdate ();

				}
			}
		}
	}

	private void DisplayVitals()
	{
		for (int cnt = 0; cnt < Enum.GetValues(typeof(VitalName)).Length; cnt++)
		{
			GUI.Label(new Rect(5, 50 + (cnt * 20), 100, 20), ((VitalName)cnt).ToString());

			GUI.Label(new Rect(105, 50 + (cnt * 20), 30, 20), _hero.GetVital(cnt).AdjustedBaseValue.ToString());
		}
	}

	private void DisplaySkills()
	{
		for (int cnt = 0; cnt < Enum.GetValues(typeof(SkillName)).Length; cnt++)
		{
			GUI.Label(new Rect(245, 50 + ((cnt + 4) * 20), 100, 20), ((SkillName)cnt).ToString());
			
			GUI.Label(new Rect(325, 50 + ((cnt + 4) * 20), 30, 20), _hero.GetSkill(cnt).AdjustedBaseValue.ToString());	
		}
	}

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

answer: don’t put a ; at the end of your if statements…