39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using Data.ScriptableObjects;
|
|
using Data.ScriptableObjects.Items;
|
|
using Types.Items;
|
|
using UnityEditor;
|
|
|
|
namespace Editor
|
|
{
|
|
[CustomEditor(typeof(GameItem))]
|
|
public class GameItemEditor : UnityEditor.Editor
|
|
{
|
|
public override void OnInspectorGUI()
|
|
{
|
|
var scriptableGameItem = (GameItemSo)target;
|
|
var item = scriptableGameItem.Clone();
|
|
|
|
if (item.ID == 0)
|
|
{
|
|
var database =
|
|
AssetDatabase.LoadAssetAtPath<ItemDatabase>("Assets/Resources/GameItems/ItemDatabase.asset");
|
|
if (database != null)
|
|
{
|
|
item.ID = database.GetNextId();
|
|
database.AddItem(item);
|
|
EditorUtility.SetDirty(database);
|
|
EditorUtility.SetDirty(scriptableGameItem);
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
else
|
|
{
|
|
EditorGUILayout.HelpBox(
|
|
"ItemDatabase not found. Please create one at Assets/Resources/GameItems/ItemDatabase.asset",
|
|
MessageType.Error);
|
|
}
|
|
}
|
|
|
|
base.OnInspectorGUI();
|
|
}
|
|
}
|
|
} |