using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; using UnityEditor.ProjectWindowCallback; using System; namespace IronHorse { public class CreateIronHorseDataHolder { [MenuItem("Assets/Create/IronHorseDataHolder", priority = 201)] static void CreateDataAsset() { var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon"); ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance(), "IronHorseDataHolder.asset", icon, null); } internal static IronHorseDataHolder CreateIronHorseDataHolderProfileAtPath(string path) { var profile = ScriptableObject.CreateInstance(); profile.name = Path.GetFileName(path); AssetDatabase.CreateAsset(profile, path); return profile; } } class DoCreateIronHorseProfile : EndNameEditAction { public override void Action(int instanceId, string pathName, string resourceFile) { IronHorseDataHolder holder = CreateIronHorseDataHolder.CreateIronHorseDataHolderProfileAtPath(pathName); ProjectWindowUtil.ShowCreatedAsset(holder); } } }