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));
         }
     });
 }
Example #2
0
        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(() => { });
                }
            }
        }