Calculations.cs
1    using System.Collections;
2    using System.Collections.Generic;
3    using UnityEngine;
4    using UnityEngine.UI;
5    
6    public class Calculations : MonoBehaviour
7    {
8        public GameObject initialNode;
9        public GameObject[] secNodes = new GameObject[8];
10   
11       public void ActivateNode(int index)
12       { 
13           //sets clicked on nodes gui active and makes sure that other nodes cannot be clicked 
14   
15           if(index == 0)
16           {
17               initialNode.transform.GetChild(0).gameObject.SetActive(true);
18   
19               for(int i = 0; i < secNodes.Length; i++)
20               {
21                   secNodes[i].GetComponent<Button>().interactable = false;
22               }
23           }
24           else
25           {
26               secNodes[index - 1].transform.GetChild(0).gameObject.SetActive(true);
27   
28               initialNode.GetComponent<Button>().interactable = false;
29               for (int i = 0; i < secNodes.Length; i++)
30               {
31                   if ((index - 1) != i)
32                   {
33                       secNodes[i].GetComponent<Button>().interactable = false;
34                   }
35               }
36           }
37       }
38   
39       public void CloseNode(int index)
40       {
41           //turns off currentt GUI and reactivates everything
42   
43           if (index == 0)
44           {
45               initialNode.transform.GetChild(0).gameObject.SetActive(false);
46   
47               for (int i = 0; i < secNodes.Length; i++)
48               {
49                   secNodes[i].GetComponent<Button>().interactable = true;
50               }
51           }
52           else
53           {
54               secNodes[index - 1].transform.GetChild(0).gameObject.SetActive(false);
55   
56               initialNode.GetComponent<Button>().interactable = true;
57               for (int i = 0; i < secNodes.Length; i++)
58               {
59                   if ((index - 1) != i)
60                   {
61                       secNodes[i].GetComponent<Button>().interactable = true;
62                   }
63               }
64           }
65       }
66   }
67