protected override void Start ()
	{
		partyManager = GameObject.Find("PartyManager").GetComponent<HeroPartyManager>();
		
		//myBehaviorManager.OnBehaviorStateChangedEvent += HandleOnBehaviorStateChangedEvent;
		
		base.Start ();
	}
	void Start()
	{
		if (heroManager == null)
			heroManager = GameObject.Find("PartyManager").GetComponent<HeroPartyManager>();
		
		heroManager.onHeroDied += HandleOnHeroDied;
		
		if (goldGUIManager == null)
			goldGUIManager = GameObject.Find("GoldGUIManager").GetComponent<GoldGUIManager>();
	}
 void Start()
 {
     if (bManager == null)
     {
         bManager = this;
     }
     if (hpm == null)
     {
         hpm = gameObject.GetComponent <HeroPartyManager>();
     }
     if (Attack.battleMessageWindow == null)
     {
         Attack.battleMessageWindow = messageBoxImg.gameObject;
     }
 }
	void Awake()
	{		
		spawners = new Dictionary<string, HeroSpawner>();
		
		waves = new List<Wave>(8);
		currWave = 0;				//We're not on any wave yet!
		timeSinceLastSpawn = 0.0f;  //We haven't had anything spawn yet!
		timeUntilNextSpawn  = 0.0f; 
		
		//Locate all of the spawners and store them and their names into a Dictionary.
		GameObject[] spawnerObjects = GameObject.FindGameObjectsWithTag("Spawner");
		
		foreach (GameObject spawnerObject in spawnerObjects)
			spawners.Add(spawnerObject.name, spawnerObject.GetComponent<HeroSpawner>());	
		
		//Link up with the managers we need.
		waveGUIManager = GameObject.Find("WaveGUIManager").GetComponent<WaveGUIManager>();
		waveGUIManager.onStartWaveButtonPressed += HandleOnStartWaveButtonPressed;
		
		partyManager = GameObject.Find("PartyManager").GetComponent<HeroPartyManager>();
		
		entityFactory = EntityFactory.GetInstance();
		
		waveState = WaveState.WaitingToStartWave;
		setupNextWave = true;
	}
	// Use this for initialization
	void Start () 
	{		
		entityFactory = EntityFactory.GetInstance();
		partyManager = GameObject.Find("PartyManager").GetComponent<HeroPartyManager>();
	}