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);
    }
Exemplo n.º 2
0
 // UNDER HOOD FUNCTIONS //////////////////////////////////////////////////////////////////////////////
 private void AddButtonActions(MultipleChoiceController controllerObject)
 {
     if (firstButtonActions != null)
     {
         foreach (MultipleChoiceController.OnButtonDownDelegate func in firstButtonActions)
         {
             controllerObject.onFirstButtonDown += func;
         }
     }
     if (secondButtonActions != null)
     {
         foreach (MultipleChoiceController.OnButtonDownDelegate func in secondButtonActions)
         {
             controllerObject.onSecondButtonDown += func;
         }
     }
     if (thirdButtonActions != null)
     {
         foreach (MultipleChoiceController.OnButtonDownDelegate func in thirdButtonActions)
         {
             controllerObject.onThirdButtonDown += func;
         }
     }
     if (fourthButtonActions != null)
     {
         foreach (MultipleChoiceController.OnButtonDownDelegate func in fourthButtonActions)
         {
             controllerObject.onFourthButtonDown += func;
         }
     }
     ClearControllerActions();
 }
    void Start()
    {
        multipleChoiceControllerInstance = multipleChoiceBuilder.SetNumberOfChoices(4)
                                           .SetBackgroundImageToAllButtons(backGroundImage)
                                           .SetBackgroundColorToAllButtons(Color.white)
                                           .SetTextToAllButtons("")
                                           .SetScale(0.75f, 0.75f)
                                           .AddOnFirstButtonDownAction(Repair)
                                           .AddOnSecondButtonDownAction(Move)
                                           .AddOnThirdButtonDownAction(Upgrade)
                                           .AddOnFourthButtonDownAction(Destroy)
                                           .Build(transform);
        PlacingEvents placingEvents = GetComponent <PlacingEvents>();

        if (placingEvents != null)
        {
            GetComponent <PlacingEvents>().onBeginPlacing.AddListener(() => Activate(false));
            GetComponent <PlacingEvents>().onPlaced.AddListener(() => Activate(true));
        }
    }