After not being able to find a way to display messages in a text box (for things such as characters talking and messages displaying on screen), I decided to write my own script to do this. The code I have at the moment is below:
var MessageBoxSkin : GUISkin;
var MessageBoxText : String;
var showText : boolean = false;
function DisplayMessage(message : String) {
print(message);
showText = true;
MessageBoxText= message;
}
function OnGUI()
{
if (showText)
{
GUI.BeginGroup (new Rect (Screen.width / 2 - 640, Screen.height / 2 - 360, 1280, 720));
GUI.skin = MessageBoxSkin;
GUI.Box (new Rect (40, 600, 1200, 100),
MessageBoxText);
GUI.EndGroup ();
}
else
{
}
}
function Update(){
if (Input.GetKeyDown(KeyCode.F) && showText)
showText = false;
}
function Active(){
return showText;
}
I have the MessageSystem attached to an empty gameobject in the scene, and I get other scripts to call the MessagesSystem via Get Component.
I can get the MessageSystem to receive the message (in the DisplayMessage function) but Update and OnGUI never seem to get called, and thus the GUI Box never appears.
Any help?