Beispiel #1
0
    public void StartInitialiseGrid()
    {
        displayedToggleButtons = new List <GameObject>();

        // Generate 16 buttons and add to the pool of available button objects.
        for (int i = 0; i < 16; i++)
        {
            GameObject toggleButton = Instantiate(toggleBitButton, Vector3.zero, Quaternion.identity,
                                                  gridGroup.transform);
            BinaryToggle toggleBit = toggleButton.GetComponent <BinaryToggle>();
            toggleBit.index        = i;
            toggleBit.offset       = gridStartOffset;
            toggleBit.sceneManager = sceneManager;
            displayedToggleButtons.Add(toggleButton);
        }

        poolToggleButtons = displayedToggleButtons.ToArray();
    }
Beispiel #2
0
    public void ResetGrid()
    {
        switch (Main.Instance.inputLength)
        {
        case 2:
            gridWidth = 2; gridHeight = 2; break;

        case 3:
            gridWidth = 4; gridHeight = 2; break;

        case 4:
            gridWidth = 4; gridHeight = 4; break;

        default:
            Debug.LogWarning("Invalid [ResetGrid(input_dim)] binary input size, out of range (2 - 4). Hidden grid.");
            gridWidth = 2; gridHeight = 2;
            foreach (GameObject toggleButton in poolToggleButtons)
            {
                toggleButton.SetActive(false);
            }
            return;
        }

        // Enable and reset only the needed buttons. Deactivate unused buttons.
        displayedToggleButtons = new List <GameObject>();
        foreach (GameObject toggleButton in poolToggleButtons)
        {
            BinaryToggle toggleBit = toggleButton.GetComponent <BinaryToggle>();

            if (toggleBit.index < Main.Instance.GridSize)
            {
                toggleBit.Reset();
                toggleBit.PositionInGrid(gridWidth);
                toggleButton.SetActive(true);
                displayedToggleButtons.Add(toggleButton);
            }
            else
            {
                toggleButton.SetActive(false);
            }
        }
    }