- Home /
GUI.Window not updating.
I'm trying to display up to date information in a drag-able GUI.Window using GUI.Label. Unfortunately, the window draw func is only called about 3 times according to the debug scripts. How do I get the information to update every frame, or at the very least when the window is brought into focus or when the information changes? I'm essentially writing a character sheet for an RPG.
@script RequireComponent(CharacterManager)
var charMgr:CharacterManager;
charMgr = gameObject.GetComponent(CharacterManager);
var windowRect: Rect = Rect(25,175,250,175);
function Awake(){
useGUILayout = true;
}
function OnGUI() {
windowRect = GUILayout.Window(0,windowRect,WindowFunction,"Character Sheet");
}
function WindowFunction(windowID:int){
var statnames:String[];
statnames = ["STR", "DEX", "CON", "INT", "WIS", "CHA"];
Debug.Log("called");
for (var i:int = 0; i < 6; i++){
var ability:int;
ability = charMgr.GetModifiedAttribute(i);
var modifier:int;
modifier = (ability-10)/2;
GUILayout.BeginArea(Rect(0,25*i+25,250,25));
GUILayout.BeginHorizontal();
GUI.Label(Rect(0,0,30,25), statnames[i]);
GUI.Box(Rect(100,0,30,25), String.Format("{0}", ability));
GUI.Box(Rect(200,0,30,25), String.Format("{0}", modifier));
GUILayout.EndHorizontal();
GUILayout.EndArea();
}
GUI.DragWindow (Rect (0,0, 10000, 20));
}
Any help would be greatly appreciated.
Answer by Sprite101 · Nov 01, 2011 at 09:47 PM
I figured it out. The debug log was set to collapse the stack trace and I was only setting my variables in the awake method. The window works just fine.
Your answer
Follow this Question
Related Questions
GUI Window Problem 2 Answers
GUI.Window only shows for one frame under all circumstances 2 Answers
Mouse trailing 0 Answers
[ERROR!] GUI.WindowFunction with multiple parameters 0 Answers
Clickable GUI.Window 1 Answer