- Home /
Best way to list all active quests in a GUI
Hey guys!
I'm hoping to get some advice on my next step for creating a quest system. If you feel I should change something that I've already done then please let me know!
So I have a script with two arrays, questName and questDescription, right now these arrays are holding all the quest names and descriptions (obviously).
In another script I have a quest window show up when the user hits the Q key. What I need is a way to collect the quest data from the other script then list all the active quests in the quest window.
I would very much appreciate it if someone would take the time to give me the run down.
Thank you.
Answer by asafsitner · Jul 06, 2011 at 12:14 PM
This is the code I used (C#):
using UnityEngine;
using System.Collections;
public class s_QuestWin : MonoBehaviour {
bool isShowing = false;
s_Quests scriptReference;
Rect winPos = new Rect(((Screen.width / 2) - 100), ((Screen.height / 2) - 100), 512, 256);
bool[] expandedB = {false, false, false};
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update ()
{
if (Input.GetKeyDown("q"))
{
if (isShowing)
{
isShowing = false;
print(isShowing);
}
else
{
isShowing = true;
print(isShowing);
}
}
}
void OnGUI()
{
if (isShowing)
{
winPos = GUI.Window(2, winPos, QuestWindow, "Journal");
}
}
void QuestWindow(int ID)
{
GUI.DragWindow(new Rect(0, 0, 10000, 20));
scriptReference = transform.GetComponent("s_Quests") as s_Quests;
GUILayout.BeginVertical();
for (int i = 0; i < scriptReference.activeQuestNames.Length; i++)
{
expandedB[i] = GUILayout.Toggle(expandedB[i], scriptReference.activeQuestNames[i]);
if (expandedB[i])
{
GUILayout.Box(scriptReference.activeQuestDescriptions[i]);
}
}
GUILayout.EndVertical();
}
}
To produce this: http://i.imgur.com/JFOFH.jpg
Of course the string arrays are populated at the other script. All values are arbitrary, of course, use what fits your game best.
Hope this helped, or at least gave you some inspiration.
Your answer
Follow this Question
Related Questions
Which is better for an inventory system, Array or List? 0 Answers
How to select an Game Object from an Item List 0 Answers
images assigned to gameobjects by tag 2 Answers
How to make a or array of GUI.Button's? 1 Answer
A node in a childnode? 1 Answer