public void DisplayQuestSelectorBox() {
GUILayout.BeginArea(selectorBox, Styles.roundDarkBox); {
// display header
GUILayout.Label(string.Format(
"Quests\t\t\t\t[{0}/20]QP",GameManager.use.currentPlayer.questPoints
), Styles.largeTextLight);
Styles.DrawLine(
GUIStyles.LineDirection.Horizontal,
GUIStyles.LineColor.Highlighted
);
m_questSelectionScrollPosition = GUILayout.BeginScrollView(
m_questSelectionScrollPosition, false, true
); {
//Merge completed and unlocked Quest
Quest[] quests = QuestManager.Instance.GetViewableQuests();
for (int i=0; i<quests.Length; ++i) {
GUILayout.BeginHorizontal(); {
// completion icon
GUILayout.Box(
quests[i].IsComplete?completeIcon:incompleteIcon,
Styles.empty4,
GUILayout.Width(m_completionIconSize), GUILayout.Height(m_completionIconSize)
);
// selector button
if (GUILayout.Button(
quests[i].Name,
m_currentlySelectedQuestIndex==i?Styles.smallButtonFocused:Styles.smallButton)
) {
m_currentlySelectedQuestIndex = i;
//when new Quest selected, quest details activated and the details index being flushed
isDetailsflyoutVisible = true;
m_currentlySelectedObjectiveIndex = 0;
}
} GUILayout.EndHorizontal();
}
} GUILayout.EndScrollView();
isDetailsflyoutVisible = GUILayout.Toggle(
isDetailsflyoutVisible, string.Format(
"{0} Quest Details", isDetailsflyoutVisible?"Hide":"Show"
),
Styles.smallButton
);
isInvokeGameDock = GUILayout.Toggle(
isInvokeGameDock, string.Format(
"{0} Game Dock", isInvokeGameDock?"Hide":"Show"
),
Styles.smallButton
);
if(isInvokeGameDock){
Messenger.Broadcast(GameDockGUI.kOnGameDock);
this.visible = false;
isDetailsflyoutVisible = false;
isInvokeGameDock = false;
}
} GUILayout.EndArea();
}