public void SpawnMenu(MenuOpener opener) { RadialMenu menu = (RadialMenu)Instantiate(MenuPrefab); menu.transform.SetParent(transform); menu.transform.position = Input.mousePosition; menu.Grid = Grid; menu.SpawnButtons(opener); }
// Use this for initialization public void SpawnButtons(MenuOpener opener) { tile = opener.gameObject.GetComponent <Tile> (); for (int i = 0; i < opener.options.Length; i++) { RadialButton button = (RadialButton)Instantiate(ButtonPrefab); button.transform.SetParent(transform); float theta = (2 * Mathf.PI / opener.options.Length) * i; float x = Mathf.Sin(theta); float y = Mathf.Cos(theta); Vector3 position = new Vector3(x, y, 0f) * 100; button.transform.localPosition = position; button.Icon.sprite = opener.options [i].icon; button.Title = opener.options [i].title; button.Tower = opener.options [i].tower; button.Circle.color = opener.options [i].color; button.Menu = this; } }