Esempio n. 1
0
 public void OnPointerClick(PointerEventData eventData)
 {
     if (master != null && master.playerCharacterMasterController != null)
     {
         ItemIcon  itemIcon  = GetComponent <ItemIcon>();
         ItemIndex itemIndex = itemIcon.GetFieldValue <ItemIndex>("itemIndex");
         if (ItemCatalog.GetItemDef(itemIndex).tier == ItemTier.NoTier)
         {
             Debug.LogWarning("Trash cannot be dropped :D");
             return;
         }
         if (NetworkServer.active)
         {
             ServerStuffDropper.DropItem(master, itemIndex);
             InventoryLimits limits = master.GetComponent <InventoryLimits>();
             if (!limits)
             {
                 return;
             }
             limits.Count(master.inventory);
         }
         else
         {
             if (ClientScene.readyConnection == null)
             {
                 Debug.LogError("Connection is not ready.");
             }
             ClientScene.readyConnection.Send(ConversionArtifactMod.msgItemDropType, new ItemDropMessage(itemIndex));
         }
     }
 }
Esempio n. 2
0
        private static void AttachZetDropHandler(ItemIcon icon)
        {
            if (icon.GetComponent <ZetDropHandler>() != null)
            {
                return;
            }
            var dropItemHandler = icon.transform.gameObject.AddComponent <ZetDropHandler>();

            dropItemHandler.GetItemIndex = () => icon.GetFieldValue <ItemIndex>("itemIndex");
            dropItemHandler.GetInventory = () => icon.rectTransform.parent.GetComponent <ItemInventoryDisplay>().GetFieldValue <Inventory>("inventory");
        }
Esempio n. 3
0
        public void TestReflectionGetAndSetFieldValueType()
        {
            var itemIcon = new ItemIcon();

            itemIcon.SetFieldValue("itemIndex", ItemIndex.AlienHead);

            var iIndex   = typeof(ItemIcon).GetField("itemIndex");
            var refIndex = (ItemIndex)iIndex.GetValue(itemIcon);

            var index = itemIcon.GetFieldValue <ItemIndex>("itemIndex");

            Assert.Equal(refIndex, index);
            Assert.Equal(ItemIndex.AlienHead, index);
        }