// Use this for initialization
	void Start () 
	{
		SaveLoadManager.selectedCharacters[0] = true; //Must always be true

		isBusy = false;

		//Initialise Characters
		characterAeon = GameObject.Find("Main Characters/characterAeon01");
		characterIona = GameObject.Find("Main Characters/characterIona01");
		characterTaven = GameObject.Find ("Main Characters/characterTaven01");
		characterAiren = GameObject.Find ("Main Characters/characterAiren01");

		//print (characterIona.name);
	
		aeonController = characterAeon.transform.FindChild("Controller/Aeon's Navigator").gameObject;
		ionaController = characterIona.transform.FindChild("Controller/Iona's Navigator").gameObject;
		tavenController = characterTaven.transform.FindChild ("Controller/Taven's Navigator").gameObject;
		airenController = characterAiren.transform.FindChild ("Controller/Airen's Navigator").gameObject;

		if(aeonController)
		{
			aeonNavigator = aeonController.GetComponent<CharacterNavigator>();
		}

		if(ionaController)
		{
			ionaNavigator = ionaController.GetComponent<CharacterNavigator>();
		}

		if(tavenController)
		{
			tavenNavigator = tavenController.GetComponent<CharacterNavigator>();
		}

		if(airenController)
		{
			airenNavigator = airenController.GetComponent<CharacterNavigator>();
		}

		/*
		//Debugging: Check if characters are found and initialised
		print ("Iona = " + (bool)characterIona);
		print ("Taven = " + (bool)characterTaven);
		print ("Airen = " + (bool)characterAiren);

		print ("Iona's Controller = " + (bool)ionaController);
		print ("Taven's Controller = " + (bool)tavenController);
		print ("Airen's Controller = " + (bool)airenController);

		print ((bool)ionaNavigator);
		print ((bool)tavenNavigator);
		print ((bool)airenController);
		*/

		//Later on during story: This will be case switched depending on story level
		ActivateCharacters ();

		//If scene was called from a load
		if(!inBase)
		{
			if(onLoaded)
			{
				//Then Spawn at the start/ entrance of the level set by the startPosition Node
				if(startPosition)
				{
					LoadPlayerPosition (startPosition.position, startPosition.eulerAngles);
					//print ("Spawned at start position node");
				}
				else
				{
					LoadPlayerPosition (Vector3.zero);
				}
			}
			else
			{
				//If not loaded then 
				LoadPlayerPosition (currentPosition, currentRotation);
//				print ("Spawned at current position");
			}
		}
		else
		{
			//Reset Enemy Management
			EnemyManagement.enemyUpdate = true;
			//Heal all players 
			for(int i = 0; i < SaveLoadManager.saveHealth.Length; i++)
			{
				SaveLoadManager.saveHealth[i] = 100000;
				SaveLoadManager.saveAP[i] = 100000;
			}


			UpdatePlayerPosition (startPosition.position, startPosition.eulerAngles);
			LoadPlayerPosition (startPosition.position, startPosition.eulerAngles);
			UpdatePlayerPosition (Vector3.zero, Vector3.zero);
		}
	}
    // Use this for initialization
    void Start()
    {
        //Initialise Characters
        characterIona = GameObject.Find("characterIona01");
        characterTaven = GameObject.Find ("characterTaven01");
        characterAiren = GameObject.Find ("characterAiren01");

        ionaController = GameObject.Find ("characterIona01/Controller/Iona's Navigator");
        tavenController = GameObject.Find ("characterTaven01/Controller/Taven's Navigator");
        airenController = GameObject.Find ("characterAiren01/Controller/Airen's Navigator");

        if(ionaController)
        {
            ionaNavigator = ionaController.GetComponent<CharacterNavigator>();
        }

        if(tavenController)
        {
            tavenNavigator = tavenController.GetComponent<CharacterNavigator>();
        }

        if(airenController)
        {
            airenNavigator = airenController.GetComponent<CharacterNavigator>();
        }

        /*
        //Debugging: Check if characters are found and initialised
        print ("Iona = " + (bool)characterIona);
        print ("Taven = " + (bool)characterTaven);
        print ("Airen = " + (bool)characterAiren);

        print ("Iona's Controller = " + (bool)ionaController);
        print ("Taven's Controller = " + (bool)tavenController);
        print ("Airen's Controller = " + (bool)airenController);

        print ((bool)ionaNavigator);
        print ((bool)tavenNavigator);
        print ((bool)airenController);
        */

        //Later on during story: This will be case switched depending on story level
        ActivateCharacters (true,true,true, SaveLoadManager.savePosition);
    }