Hi,
I have a dictionary like this: Dictionary<string,string> UsersInMatch
I need to display the data as:
Match#1
User_A
User_B
Match#2
User_C
User_D
Match#3
User_E
User_F
Like that, so here is what I Have tried, but I cannot seem to put two and two together.
Code:
int matchNumber = 1;
GUILayout.BeginArea(new Rect(Screen.width-220,300,220,100));
GUILayout.BeginVertical("",s);
foreach (KeyValuePair<string, string[]> Entry in UsersInMatch)
{
GUILayout.Label("Match #" + matchNumber.ToString(), s);
GUILayout.Space(10);
matchNumber++;
}
GUILayout.EndVertical();
GUILayout.EndArea();
The vertical space works. I see the following:
Match #1
Match #2
Match #3
So here is what I would write as the inner iteration scheme to iterate through the values of the string:
Code:
GUILayout.BeginArea(new Rect(Screen.width-220, 330, 220, 100));
GUILayout.BeginVertical("", s);
foreach (string name in Entry.Value)
{
GUILayout.Label(name, s);
GUILayout.Space(10);
}
GUILayout.EndVertical();
GUILayout.EndArea();
Finally, putting two and two together we have:
Code:
private void displayUsersInMatch() {
int matchNumber = 1;
GUILayout.BeginArea(new Rect(Screen.width-220, 300, 220, 100));
GUILayout.BeginVertical("", s);
foreach (KeyValuePair<string, string[]> Entry in UsersInMatch)
{
GUILayout.Label("Match #" + matchNumber.ToString(), s);
GUILayout.Space(10);
GUILayout.BeginArea(new Rect(Screen.width-220,330,220,100));
GUILayout.BeginVertical("", s);
foreach (string name in Entry.Value)
{
GUILayout.Label(name, s);
}
GUILayout.EndVertical();
GUILayout.EndArea();
matchNumber++;
}
GUILayout.EndVertical();
GUILayout.EndArea();
}
And I don’t see anything in between the Match# headings. If someone could shine some light on this it would really make my day!