コード例 #1
0
    public void SpawnMenu(MyRadialInteractable obj)
    {
        MyRadialMenu newMenu = Instantiate(menuPrefab) as MyRadialMenu;

        newMenu.transform.SetParent(transform, false);
        newMenu.transform.position = Input.mousePosition;
        newMenu.SpawnButtons(obj);
    }
コード例 #2
0
    // Use this for initialization
    public void SpawnButtons(MyRadialInteractable obj)
    {
        sourceObject = obj.gameObject;

        for (int i = 0; i < obj.options.Length; i++)
        {
            MyRadialButton newButton = Instantiate(buttonPrefab) as MyRadialButton;
            newButton.transform.SetParent(transform, false);

            float theta = (2 * Mathf.PI / obj.options.Length) * i;
            float xPos  = Mathf.Sin(theta);
            float yPos  = Mathf.Cos(theta);

            newButton.transform.localPosition = new Vector3(xPos, yPos, 0f) * 100f;
            newButton.circle.color            = obj.options[i].color;
            newButton.icon.sprite             = obj.options[i].sprite;
            newButton.text.text      = obj.options[i].title;
            newButton.onClickMessage = obj.options[i].messageOnClick;
            newButton.myMenu         = this;
        }
    }