public void SetData(Tapestry_ItemStack data) { this.data = data.item; if (data.item.size == Tapestry_ItemSize.Large) { size.text = "L"; } else if (data.item.size == Tapestry_ItemSize.Small) { size.text = "S"; } else if (data.item.size == Tapestry_ItemSize.Negligible) { size.text = "–"; } quantity.text = data.quantity.ToString(); title.text = data.item.displayName; }
public void DrawInspector() { GUIStyle title = new GUIStyle(); title.fontStyle = FontStyle.Bold; title.fontSize = 14; int indexToRemove = -1; GUILayout.BeginVertical("box"); GUILayout.Label("Inventory", title); GUILayout.BeginVertical("box"); if (items.Count == 0) { GUILayout.Label("No items in inventory."); } else { for (int i = 0; i < items.Count; i++) { Tapestry_ItemStack stack = items[i]; GUILayout.BeginHorizontal(); if (GUILayout.Button("-", GUILayout.Width(20))) { indexToRemove = i; } GUILayout.FlexibleSpace(); stack.quantity = EditorGUILayout.DelayedIntField(stack.quantity, GUILayout.Width(36)); GUILayout.FlexibleSpace(); GUILayout.Label("x", GUILayout.Width(12)); GUILayout.FlexibleSpace(); EditorGUILayout.TextField(stack.item.displayName, GUILayout.Width(270)); GUILayout.EndHorizontal(); } } if (indexToRemove != -1) { if (items.Count == 1) { items.Clear(); } else { items.RemoveAt(indexToRemove); } } GUILayout.EndVertical(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("+", GUILayout.Width(20))) { if (itemToAdd != null) { AddItem(itemToAdd, 1); itemToAdd = null; } } itemToAdd = (Tapestry_Item)EditorGUILayout.ObjectField(itemToAdd, typeof(Tapestry_Item), true, GUILayout.Width(300)); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }