public void PlayerSelectItem() { OverlayView.Instance.ShowOverlay(OverlayView.Overlay.ItemView, (i) => { var item = Player.Instance.Items.GetElements()[i]; var itemtype = ItemLibrary.Lookup(item.Name); if (itemtype.UsableInFight) { UnityEngine.Debug.Log("use item"); itemtype.OnUse.Invoke(() => action = new PlayerAction(i, PlayerAction.ActionType.Item)); } }); }
public void ItemClicked(BaseEventData e) { if (!(e is PointerEventData)) { return; } var a = e as PointerEventData; var index = a.pointerEnter.transform.parent.GetSiblingIndex() - 1; // minus 1 because template object var item = Items[index]; var itemtype = ItemLibrary.Lookup(item.Name); if (OverlayView.Instance.isActive) { OverlayView.Instance.Value = index; return; } if ((Game.Instance.CurrentGameState & Game.GameState.Battle) != 0) { if (itemtype.UsableInFight) { UnityEngine.Debug.Log("use item"); itemtype.OnUse.Invoke(() => {}); } } if ((Game.Instance.CurrentGameState & Game.GameState.World) != 0) { if (itemtype.UsableInWorld) { UnityEngine.Debug.Log("use item"); itemtype.OnUse.Invoke(() => { }); } } }