Example #1
0
    //bool isSelected = false;

    void OnMouseOver()
    {
        if (Input.GetMouseButtonUp((int)mouseButton))
        {
            Vector3 mousePos = Input.mousePosition;

            // Set the world click position
            Ray        ray = Camera.main.ScreenPointToRay(mousePos);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                selectedPosition = hit.point;
            }
            else
            {
                selectedPosition = Camera.main.ScreenToWorldPoint(mousePos);
            }

            if (actions.Count == 0)
            {
                return; // Return if no action can be done
            }

            // Get available dial
            DialUI dial = UIPool.GetAvailable();

            // Set the buttons
            dial.Require(actions.Count);
            for (int i = 0; i < actions.Count; i++)
            {
                dial.uiList[i].btnName.text = actions[i].name;
                dial.uiList[i].btn.onClick.AddListener(actions[i].action.Invoke);
            }

            // Open the dial at mouse click position
            dial.transform.position = mousePos;
            dial.Open();
        }
    }
Example #2
0
 public void SetHandler(DialUI handler)
 {
     _handler = handler;
 }