Exemple #1
0
        private void AddRarity()
        {
            // Name
            // Tooltip
            // Color
            // Statboost
            // Sprite

            selectedItem.Name      = EditorGUILayout.TextField("Name: ", selectedItem.Name);
            selectedItem.ToolTip   = EditorGUILayout.TextField("ToolTip: ", selectedItem.ToolTip);
            selectedItem.StatBoost = EditorGUILayout.DoubleField("StatBoost: ", selectedItem.StatBoost);
            selectedItem.Color     = EditorGUILayout.ColorField("Text Color: ", selectedItem.Color);

            if (selectedItem.Icon != null)
            {
                selectedTexture = selectedItem.Icon.texture;
            }
            else
            {
                selectedTexture = null;
            }

            if (GUILayout.Button(selectedTexture, GUILayout.Width(SPRITE_BUTTON_SIZE), GUILayout.Height(SPRITE_BUTTON_SIZE)))
            {
                int controllerID = EditorGUIUtility.GetControlID(FocusType.Passive);
                EditorGUIUtility.ShowObjectPicker <Sprite>(null, true, null, controllerID);
            }

            string commandName = Event.current.commandName;

            if (commandName == "ObjectSelectorUpdated")
            {
                selectedItem.Icon = (Sprite)EditorGUIUtility.GetObjectPickerObject();
                Repaint();
            }

            if (GUILayout.Button("Save"))
            {
                if (selectedItem == null)
                {
                    return;
                }

                rarityDatabase.Add(selectedItem);
                selectedItem = new ISRarity();
            }
        }
Exemple #2
0
        private void OnEnable()
        {
            if (rarityDatabase == null)
            {
                if (!AssetDatabase.IsValidFolder("Assets/" + DATABASE_FOLDER_NAME))
                {
                    AssetDatabase.CreateFolder("Assets", DATABASE_FOLDER_NAME);
                }

                rarityDatabase = ScriptableObject.CreateInstance <ISRarityDatabase>();

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

            rarityDatabase = AssetDatabase.LoadAssetAtPath(DATABASE_FULL_PATH, typeof(ISRarityDatabase)) as ISRarityDatabase;
            selectedItem   = new ISRarity();
        }