예제 #1
0
        public static void Init(Inventory inventory)
        {
            window = GetWindow(typeof(AddItemWindow)) as AddItemWindow;
            window.titleContent.text = "Item Search";
            window.position          = windowRect;
            window.Show();

            AddItemWindow.inventory = inventory;

            itemId           = 0;
            itemName         = "";
            isPreviewingItem = false;
        }
예제 #2
0
        public override void OnInspectorGUI()
        {
            GUI.changed = false;

            Item.LoadItemPool();
            inventory = target as Inventory;

            EditorGUILayout.BeginVertical();

            EditorUtil.AddSpace(2);

            if (GUILayout.Button("Add Item", EditorStyles.toolbarButton))
            {
                AddItemWindow.Init(inventory);
            }

            EditorUtil.AddSpace(1);

            inventory.fileName = EditorGUILayout.TextField(new GUIContent("File Name: "), inventory.fileName);

            //Make sure file extensions is NOT included
            if (inventory.fileName.Contains(".json"))
            {
                inventory.fileName = Util.RemoveAfter(inventory.fileName, ".");
            }

            inventory.MaxItems = EditorGUILayout.IntField(new GUIContent("Max Items in Inventory: "), inventory.MaxItems);

            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("Refresh"))
            {
                inventory.Load();
            }

            if (GUILayout.Button("Save"))
            {
                inventory.Save();
            }

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.LabelField(new GUIContent("Inventory Contents:"), EditorStyles.boldLabel);

            for (int i = 0; i < inventory.TakenSpace; i++)
            {
                Item item = inventory.InventoryList[i];

                SetActiveItems();

                EditorGUILayout.BeginVertical();

                itemActive[i] = EditorGUILayout.Foldout(itemActive[i], new GUIContent(item.Name));

                if (itemActive[i])
                {
                    EditorUtil.Indent();

                    EditorGUILayout.LabelField(new GUIContent("ID: " + item.ID));
                    item.Name         = EditorGUILayout.TextField(new GUIContent("Name: "), item.Name);
                    item.IconName     = EditorGUILayout.TextField(new GUIContent("Icon Name: "), item.IconName);
                    item.StackSize    = EditorGUILayout.IntSlider(new GUIContent("Current Stack Size: "), item.StackSize, 0, item.MaxStackSize);
                    item.MaxStackSize = EditorGUILayout.IntField(new GUIContent("Max Stack Size: "), item.MaxStackSize);

                    if (GUILayout.Button("Remove"))
                    {
                        inventory.Remove(item);

                        for (int b = 0; b < itemActive.Length; b++)
                        {
                            itemActive[b] = false;
                        }
                    }

                    EditorUtil.Indent(0);
                }

                EditorGUILayout.EndVertical();
            }

            EditorGUILayout.EndVertical();
        }