public void Init(IContextMenuItem item, IContextMenuController ContextMenuController) { Item = item; m_DisplayText.text = Item.GetDisplayString(); if (Item.HasSubMenu()) { m_Button.onClick.AddListener(() => { ContextMenuController.OpenSubMenu(item); }); } else { m_Button.onClick.AddListener(() => { Item.GetAction()?.Invoke(); ContextMenuController.CloseMenu(); }); } }
public void CloseMenu() { if (_Parent != null) { _Parent.RemoveSubMenu(); } if (_SubMenu != null) { _SubMenu.CloseMenu(); } Destroy(gameObject); }