Hi, I’m trying to work out some coding. I’m trying to use the GUI buttons to create a dialogue tree.
Basically three buttons pop up. One is a question and two on the bottom, if clicked lead, to another question with two more answers. And so on.
I can’t get the buttons on the bottom to load or show the next group of three buttons.
The last two choices, answers 12A and 13A to disable the script so the player doesn’t reactivate it again when they move away from the person talking (who’s Sean) in the script.
My script needs a lot of work, but I’m confused about how to approach fixing it up.
using System.Collections;
public class DialogueChoice : MonoBehaviour {
private bool pressedButton = false;
public GameObject Button1Q;
public GameObject Button2A;
public GameObject Button3A;
public GameObject Button2Q;
public GameObject Button4A;
public GameObject Button5A;
public GameObject Button3Q;
public GameObject Button6A;
public GameObject Button7A;
public GameObject Button4Q;
public GameObject Button8A;
public GameObject Button9A;
public GameObject Button5Q;
public GameObject Button10A;
public GameObject Button11A;
public GameObject Button6Q;
public GameObject Button12A;
public GameObject Button13A;
public Transform player;
public float playerDistance;
public GameObject Sean2;
void Start () {
Button1Q = GameObject.Find ( "Button1Q" );
Button1Q.SetActive (false);
Button2A = GameObject.Find ( "Button2A" );
Button2A.SetActive (false);
Button3A = GameObject.Find ( "Button3A" );
Button3A.SetActive (false);
Button2Q = GameObject.Find ( "Button2Q" );
Button2Q.SetActive (false);
Button4A = GameObject.Find ( "Button4A" );
Button4A.SetActive (false);
Button5A = GameObject.Find ( "Button5A" );
Button5A.SetActive (false);
Button3Q = GameObject.Find ( "Button3Q" );
Button3Q.SetActive (false);
Button6A = GameObject.Find ( "Button6A" );
Button6A.SetActive (false);
Button7A = GameObject.Find ( "Button7A" );
Button7A.SetActive (false);
Button4Q = GameObject.Find ( "Button4Q" );
Button4Q.SetActive (false);
Button8A = GameObject.Find ( "Button8A" );
Button8A.SetActive (false);
Button9A = GameObject.Find ( "Button9A" );
Button9A.SetActive (false);
Button5Q = GameObject.Find ( "Button5Q" );
Button5Q.SetActive (false);
Button10A = GameObject.Find ( "Button10A" );
Button10A.SetActive (false);
Button11A = GameObject.Find ( "Button11A" );
Button11A.SetActive (false);
Button6Q = GameObject.Find ( "Button6Q" );
Button6Q.SetActive (false);
Button12A = GameObject.Find ( "Button12A" );
Button12A.SetActive (false);
Button13A = GameObject.Find ( "Button13A" );
Button13A.SetActive (false);
}
// Update is called once per frame
void Update () {
playerDistance = Vector3.Distance (player.position, Sean2.transform.position);
if (
playerDistance < 4f)
{
ButtonGroup();
}
}
void ButtonGroup(){
Button1Q.SetActive (true);
Button2A.SetActive (true);
Button3A.SetActive (true);
{
if
//Button2A
(pressedButton) {
Button1Q.SetActive (false);
Button2A.SetActive (false);
Button3A.SetActive (false);
Button2Q.SetActive (true);
Button4A.SetActive (true);
Button5A.SetActive (true);
}
else
if
//Button 3A
(pressedButton)
{
Button1Q.SetActive (false);
Button2A.SetActive (false);
Button3A.SetActive (false);
Button3Q.SetActive (true);
Button6A.SetActive (true);
Button7A.SetActive (true);
}
else
if
//Button 4A
(pressedButton)
{
Button2Q.SetActive (false);
Button4A.SetActive (false);
Button5A.SetActive (false);
Button5Q.SetActive (true);
Button10A.SetActive (true);
Button11A.SetActive (true);
}
else
if
//Button 5A
(pressedButton)
{
Button2Q.SetActive (false);
Button4A.SetActive (false);
Button5A.SetActive (false);
Button3Q.SetActive (true);
Button6A.SetActive (true);
Button7A.SetActive (true);
}
else
if
//Button 6A
(pressedButton)
{
Button3Q.SetActive (false);
Button6A.SetActive (false);
Button7A.SetActive (false);
Button4Q.SetActive (true);
Button8A.SetActive (true);
Button9A.SetActive (true);
}
else
if
//Button 7A
(pressedButton)
{
Button3Q.SetActive (false);
Button6A.SetActive (false);
Button7A.SetActive (false);
Button5Q.SetActive (true);
Button10A.SetActive (true);
Button11A.SetActive (true);
}
else
if
//Button 8A
(pressedButton)
{
Button4Q.SetActive (false);
Button8A.SetActive (false);
Button9A.SetActive (false);
Button5Q.SetActive (true);
Button10A.SetActive (true);
Button11A.SetActive (true);
}
else
if
//Button 9A
(pressedButton)
{
Button4Q.SetActive (false);
Button8A.SetActive (false);
Button9A.SetActive (false);
Button6Q.SetActive (true);
Button12A.SetActive (true);
Button13A.SetActive (true);
}
else
if
//Button 10A
(pressedButton)
{
Button5Q.SetActive (false);
Button10A.SetActive (false);
Button11A.SetActive (false);
Button6Q.SetActive (true);
Button12A.SetActive (true);
Button13A.SetActive (true);
}
else
if
//Button 11A
(pressedButton)
{
Button5Q.SetActive (false);
Button10A.SetActive (false);
Button11A.SetActive (false);
Button6Q.SetActive (true);
Button12A.SetActive (true);
Button13A.SetActive (true);
}
else
if
//Button 12A
//Button 13A
(pressedButton)
{
//Disable script
}
}
}
}