public InventoryItemBaseFieldData Copy()
        {
            var c = new InventoryItemBaseFieldData();

            c.item = item;
            return(c);
        }
        public override object GetCopy(object obj)
        {
            InventoryItemBaseFieldData target = obj as InventoryItemBaseFieldData;

            if (target != null)
            {
                return(target.Copy());
            }
            return(new InventoryItemBaseFieldData());
        }
        public override bool DrawField(ref object obj, plyBlock fieldOfBlock)
        {
            bool ret = (obj == null);
            InventoryItemBaseFieldData target = obj == null ? new InventoryItemBaseFieldData() : obj as InventoryItemBaseFieldData;


            if (GUILayout.Button((target.item == null) ? "(No item selected)" : target.item.name, EditorStyles.objectField))
            {
                var picker = InventoryItemPicker.Get();
                picker.Show(InventoryEditorUtil.GetItemDatabase(true, false));
                picker.OnPickObject += (item) =>
                {
                    target.item = item;

                    GUI.changed = true;
                    ed.ForceSerialise();
                    ed.Repaint();
                };
            }

            obj = target;
            return(ret);
        }
 public InventoryItemBaseFieldData Copy()
 {
     var c = new InventoryItemBaseFieldData();
     c.item = item;
     return c;
 }