//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	//	* New Method: Draw Tutorial Point Selection Enum
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	private static int DrawTutorialPointSelectionEnum(Rect drawPos, int currentSelectionID, TutorialManager_Base tutorialReference)
	{
		if (tutorialReference.GetType() == typeof(TutorialManager_MainInstrumentArea))
		{
			int selectedItem = (int)((TutorialManager_MainInstrumentArea.TutorialPhases)EditorGUI.EnumPopup(drawPos, new GUIContent("", "Changes which set of options you can edit"), (TutorialManager_MainInstrumentArea.TutorialPhases)currentSelectionID));
			return Mathf.Clamp(selectedItem, 0, (int)TutorialManager_MainInstrumentArea.TutorialPhases.PHASES_COUNT - 1);
		}
		else if (tutorialReference.GetType() == typeof(TutorialManager_GuideBookArea))
		{
			int selectedItem = (int)((TutorialManager_GuideBookArea.TutorialPhases)EditorGUI.EnumPopup(drawPos, new GUIContent("", "Changes which set of options you can edit"), (TutorialManager_GuideBookArea.TutorialPhases)currentSelectionID));
			return Mathf.Clamp(selectedItem, 0, (int)TutorialManager_GuideBookArea.TutorialPhases.PHASES_COUNT - 1);
		}
		else if (tutorialReference.GetType() == typeof(TutorialManager_MusicChallengesArea))
		{
			int selectedItem = (int)((TutorialManager_MusicChallengesArea.TutorialPhases)EditorGUI.EnumPopup(drawPos, new GUIContent("", "Changes which set of options you can edit"), (TutorialManager_MusicChallengesArea.TutorialPhases)currentSelectionID));
			return Mathf.Clamp(selectedItem, 0, (int)TutorialManager_MusicChallengesArea.TutorialPhases.PHASES_COUNT - 1);
		}
		else
		{
			return currentSelectionID;
		}
	}
	public static int DrawTutorialPointSelectionEnum(GUIContent label, int currentSelectionID, TutorialManager_Base tutorialReference)
	{
		Rect drawPos = GetScaledRect();
		EditorGUI.LabelField(drawPos, label);
		drawPos.width /= 2;
		drawPos.x += drawPos.width;
		return DrawTutorialPointSelectionEnum(drawPos, currentSelectionID, tutorialReference);
	}