- Home /
Question by
sporkflips · Sep 27, 2016 at 06:27 AM ·
c#inheritancegui.button
Can I create the If statement for a GUI button from another script?
So I have a DialogueMaster script that I'm writing in C# and it creates a predetermined dialogue box with either text or text and buttons. I have it so that the I call the function DialogueBox() from inside another script that has the DialogueMaster class, and it works and shows things but then... I'm not sure how to check if the buttons created inside that function have been pressed from another script.
Is there a way to have a variable represent the buttons that are created in the function and then check if(buttonVariable) from the other script that inherits that function?
Do I have to just create the buttons inside the second script?
this is the DialogueBox function I have so far..
public void DialogueBox(string line1, string line2, string line3, string line4, bool buttons, int buttonCount, string button1, string button2, string button3)
{
GUI.Box(new Rect(boxX, boxY, boxW, boxH), "", dialogueSkin.box);
if(buttons)
{
GUI.Label(new Rect(linesX, line1Y - (int)(1.5f * (boxH / 8)), textW, textH), line1, dialogueSkin.label);
GUI.Label(new Rect(linesX, line1Y - (int)(.75f * (boxH / 8)), textW, textH), line2, dialogueSkin.label);
if (buttonCount == 1)
{
GUI.Button(new Rect(buttonX, button2Y, buttonW, buttonH), button1, dialogueSkin.button);
}
else if (buttonCount == 2)
{
GUI.Button(new Rect(buttonX, button1Y, buttonW, buttonH), button1, dialogueSkin.button);
GUI.Button(new Rect(buttonX, button3Y, buttonW, buttonH), button2, dialogueSkin.button);
}
else if (buttonCount == 3)
{
GUI.Button(new Rect(buttonX, button1Y, buttonW, buttonH), button1, dialogueSkin.button);
GUI.Button(new Rect(buttonX, button2Y, buttonW, buttonH), button2, dialogueSkin.button);
GUI.Button(new Rect(buttonX, button3Y, buttonW, buttonH), button3, dialogueSkin.button);
}
}
else
{
GUI.Label(new Rect(linesX, line1Y, textW, textH), line1, dialogueSkin.label);
GUI.Label(new Rect(linesX, line2Y, textW, textH), line2, dialogueSkin.label);
GUI.Label(new Rect(linesX, line3Y, textW, textH), line3, dialogueSkin.label);
GUI.Label(new Rect(linesX, line4Y, textW, textH), line4, dialogueSkin.label);
}
}
Comment