void EditCommonItem(ISObject tempItem)
        {
            if(displayState == DisplayState.CreateDatabaseEntry)
            {

                tempItem.Name = EditorGUILayout.TextField("Name: ", tempItem.Name);
            }
            else
            {
                EditorGUILayout.LabelField("Name", tempItem.Name);
            }
            tempItem.Value 			= EditorGUILayout.IntField("Value", tempItem.Value);
            if(tempItem.Value < 0) 	tempItem.Value = 0;

            tempItem.Weight			= EditorGUILayout.IntField("Weight", tempItem.Weight);
            if(tempItem.Weight < 1) tempItem.Weight = 1;

            tempItem.Level 			= EditorGUILayout.IntField("Level", tempItem.Level);
            if(tempItem.Level < 1) tempItem.Level = 1;
            tempItem.Stackable 		= EditorGUILayout.Toggle ("Stackable", tempItem.Stackable);

            GUILayout.BeginHorizontal ();
            tempItem.InventorySprite= EditorGUILayout.ObjectField ("Inventory Sprite", tempItem.InventorySprite, typeof(Sprite), false) as Sprite;
            GUILayout.FlexibleSpace ();
            GUILayout.EndHorizontal ();

            DisplayItemQuality (true, tempItem);
        }
        bool IsItemFormComplete(ISObject tempItem)
        {
            if(tempItem.InventorySprite == null)
            {
                EditorUtility.DisplayDialog("Item not given an inventory sprite",
                                            "You must give the item an inventory sprite before saving.",
                                            "Okay");
                return false;
            }

            return true;
        }
        void ViewCommonItem(ISObject tempItem)
        {
            EditorGUILayout.LabelField("Name", tempItem.Name);
            EditorGUILayout.LabelField("Value", tempItem.Value.ToString());
            EditorGUILayout.LabelField("Weight", tempItem.Weight.ToString());
            EditorGUILayout.LabelField("Level", tempItem.Level.ToString());
            EditorGUILayout.LabelField("Stackable", tempItem.Stackable.ToString ());

            GUILayout.BeginHorizontal ();
            EditorGUILayout.ObjectField("Inventory Sprite", tempItem.InventorySprite, typeof(Sprite), false);
            GUILayout.FlexibleSpace ();
            GUILayout.EndHorizontal ();

            DisplayItemQuality (false, tempItem);
        }
        private void OnEnable()
        {
            if (itemDatabase == null)
            {
                if (!AssetDatabase.IsValidFolder("Assets/" + DATABASE_FOLDER_NAME))
                {
                    AssetDatabase.CreateFolder("Assets", DATABASE_FOLDER_NAME);
                }

                itemDatabase = ScriptableObject.CreateInstance <ISItemDatabase>();

                AssetDatabase.CreateAsset(itemDatabase, DATABASE_FULL_PATH);
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
            }

            itemDatabase = AssetDatabase.LoadAssetAtPath(DATABASE_FULL_PATH, typeof(ISItemDatabase)) as ISItemDatabase;
            selectedItem = new ISObject();
        }
        void NullTempEntries()
        {
            _tempWeapon 					= null;
            _tempArmor						= null;
            _tempItem						= null;

            _tempQuality					= null;
            _tempQualityOld					= null;

            _tempWeaponType					= null;
            _tempWeaponTypeOld				= null;

            _tempAttackType					= null;
            _tempAttackTypeOld				= null;

            _tempArmorType					= null;
            _tempArmorTypeOld				= null;

            _tempArmorLocation				= null;
            _tempArmorLocationOld			= null;
        }
        void DisplayItemQuality(bool isModifiable, ISObject tempItem)
        {
            if(!_qualityOptionsLoaded && isModifiable)
            {
                return;
            }

            int itemIndex = 0;

            if(tempItem.Quality != null)
            {
                itemIndex = _qualityDatabase.GetIndex(tempItem.Quality.Name);
            }

            if(itemIndex == -1)
            {
                itemIndex = 0;
            }

            if(isModifiable)
            {
                _qualitySelectedIndex = EditorGUILayout.Popup ("Quality", itemIndex, _qualityOptions);
                tempItem.Quality = _qualityDatabase.Get (_qualitySelectedIndex);
            }
            else
            {
                EditorGUILayout.LabelField("Quality", tempItem.Quality.Name);
            }
        }
 void ListCommonItems()
 {
     for(int i = 0; i < _commonItemDatabase.Count; i++)
     {
         if(GUILayout.Button(_commonItemDatabase.Get(i).Name, GUILayout.Width(_listViewButtonWidth), GUILayout.Height(_listViewButtonHeight)))
         {
             _selectedIndex = i;
             _tempItem  = new ISObject(_commonItemDatabase.Get(i));
             displayState = DisplayState.DisplayDatabaseEntry;
         }
     }
 }