public MenuItem(Item itemObject, Text displayText, GameManager.Callback callback, Menu menu) { ItemObject = itemObject; DisplayText = Instantiate(displayText, menu.transform); MenuItemCallback = callback; Menu = menu; }
private void SelectMenuItem(int index) { if (index < 0 || index >= MenuItems.Count) { Debug.LogErrorFormat("Invalid menu index: {0}", index); return; } GameManager.Callback callback = MenuItems[index].MenuItemCallback; Item item = (MenuItems[index].ItemObject); callback(item); }
public void Show(GameManager.Callback cancelCallback) { if (CurrentMenuItemIndex < 0 || CurrentMenuItemIndex >= MenuItems.Count) { IndicateMenuItem(0); } CancelCallback = cancelCallback; float x; if (GameManager.Cursor.transform.position.x >= GameManager.CurrentLevel.TerrainMap.GetLength(0) / 2) { x = GameManager.Cursor.transform.position.x - 1; } else { x = GameManager.Cursor.transform.position.x + 1; } transform.position = new Vector2(x, GameManager.Cursor.transform.position.y); transform.gameObject.SetActive(true); Focus(); }
public void AddMenuItem(Item type, Text displayText, GameManager.Callback menuItemCallback) { MenuItems.Add(new MenuItem <Item>(type, displayText, menuItemCallback, this)); }