Exemplo n.º 1
0
    /// <summary>
    /// Build multiple choice and returns its controller
    /// </summary>
    /// <param name="parent"></param>
    /// <returns></returns>
    public MultipleChoiceController Build(Transform parent = null)
    {
        //get container
        GameObject container = GameObject.FindWithTag("MultipleChoicesPanelContainer");

        if (container == null)
        {
            container = Instantiate(transform.GetChild(0).gameObject); //first child must be container with canvas
        }

        //panel build with proper hierarchy
        GameObject controllerObject   = CreateControllerObject();
        GameObject panelVisualization = BuildPanelVisualization(numberOfChoices);

        controllerObject.transform.SetParent(container.transform);
        controllerObject.transform.localScale = new Vector3(scaleX, scaleY, 1f);
        panelVisualization.transform.SetParent(controllerObject.transform);

        //controller setup
        MultipleChoiceController controller = controllerObject.GetComponent <MultipleChoiceController>();

        controller.SetPanelVisualization(panelVisualization);
        AddButtonActions(controller);

        return(controller);
    }