So I have this class:
class PlayerAction {
var actionName : String;
}
and I have a List that uses several items of this class.
This list grows and shrinks throug the game and I want to display all the elements in the GUI for debug so I added this code :
for (var action : PlayerAction in playerInteractions.globalActions){
GUI.Label (Rect (400, 400, 200, 20), action.actionName);
}
But this makes the Labels overlap when being displayed.
I also tried something like this:
var positionPadding = 0;
for (var action : PlayerAction in playerInteractions.globalActions){
GUI.Label (Rect (400, positionPadding , 200, 20), action.actionName);
positionPadding += 20;
}
But then the value keeps adding without stopping since its running in OnGUI()…
So my question is, how can I display the contents of a list on the GUI?
UPDATE:
So this is the cleanest solution I found so far (by multiplying the iteration variable with the position that gets added outside), still wondering if there is a better way to do it:
for (var i = 0; i < globalActions.Count; i++){
GUI.Label (Rect (valuePadding, positionYTotal + i * 15, 200, 20), i+1 + ". " + globalActions*.actionName + selectedObject);*
- }*