private void UnequipOtherItemsInCategory() { if (Category != null) { System.Collections.Generic.List <VirtualItem> items = Category.GetItems(false); for (int i = 0; i < items.Count; i++) { LifeTimeItem itemInCategory = items[i] as LifeTimeItem; if (itemInCategory != null && itemInCategory.IsEquippable && itemInCategory != this) { itemInCategory.Unequip(); } } } }
private float DrawVirtualItem(Rect position, VirtualItem item) { float yOffset = 0; float width = position.width; _isVirtualItemPropertiesExpanded = EditorGUI.Foldout(new Rect(0, 0, width, 20), _isVirtualItemPropertiesExpanded, "Item"); yOffset += 20; if (_isVirtualItemPropertiesExpanded) { //EditorGUI.LabelField(new Rect(0, yOffset, width, 20), "Internal ID", item.InternalID); //yOffset += 20; DrawIDField(new Rect(0, yOffset, width, 20), item, !(item is UpgradeItem), true); yOffset += 20; item.Name = EditorGUI.TextField(new Rect(0, yOffset, width, 20), "Name", item.Name); yOffset += 20; item.Description = EditorGUI.TextField(new Rect(0, yOffset, width, 20), "Desription", item.Description); yOffset += 20; if (!(item is UpgradeItem)) { EditorGUI.LabelField(new Rect(0, yOffset, width, 20), "Category", item.Category == null ? "None" : item.Category.ID); yOffset += 20; } item.Icon = EditorGUI.ObjectField(new Rect(0, yOffset, width, 50), "Icon", item.Icon, typeof(Texture2D), false) as Texture2D; yOffset += 55; item.Extend = EditorGUI.ObjectField(new Rect(0, yOffset, width, 20), "Extend", item.Extend, typeof(ScriptableObject), false) as ScriptableObject; yOffset += 20; } if (item is LifeTimeItem) { yOffset += 20; LifeTimeItem lifetimeItem = item as LifeTimeItem; lifetimeItem.IsEquippable = EditorGUI.Toggle(new Rect(0, yOffset, width, 20), "Is Equippable", lifetimeItem.IsEquippable); yOffset += 20; } else if (item is VirtualItemPack) { yOffset += 20; _isPackInfoExpanded = EditorGUI.Foldout(new Rect(0, yOffset, width, 20), _isPackInfoExpanded, "Pack Info"); yOffset += 20; if (_isPackInfoExpanded) { _packListView.Draw(new Rect(0, yOffset, width, 100)); yOffset += 100; } } if (item is PurchasableItem) { yOffset += 20; _isPurchaseInfoExpanded = EditorGUI.Foldout(new Rect(0, yOffset, width, 20), _isPurchaseInfoExpanded, "Purchase Info"); yOffset += 20; if (_isPurchaseInfoExpanded) { _purchaseListView.Draw(new Rect(0, yOffset, width, 100)); yOffset += 100; } } if (item is SingleUseItem || item is LifeTimeItem) { yOffset += 20; _isUpgradeInfoExpanded = EditorGUI.Foldout(new Rect(0, yOffset, width, 20), _isUpgradeInfoExpanded, "Upgrade Info (" + item.Upgrades.Count + " levels)"); yOffset += 20; if (_isUpgradeInfoExpanded) { float height = _upgradeListControl.CalculateListHeight(_upgradeListAdaptor); _upgradeListControl.Draw(new Rect(0, yOffset, width, height), _upgradeListAdaptor); yOffset += height; } } if (item is UpgradeItem) { yOffset += 20; VirtualItem relatedItem = (item as UpgradeItem).RelatedItem; EditorGUI.LabelField(new Rect(0, yOffset, 250, 20), "Related Item", relatedItem == null ? "NULL" : relatedItem.ID); if (GUI.Button(new Rect(255, yOffset, 50, 20), "Edit")) { _treeExplorer.SelectItem(relatedItem); } yOffset += 20; } return(yOffset); }