// // TestClass 에 대한 커스텀 인스펙터를 정의하는 예 // // 포함해야할 using using UnityEngine; using UnityEditor; // CustomEditor : 어떤 클래스에 대응 되는 인스펙터인가 [CustomEditor(typeof(TestClass))] // TestClassEditor : [ClassName]Editor 형식상 원래 클래스 이름에 'Editor'를 붙이는 듯 public class TestClassEditor : Editor { // 인스펙터에 요소들을 표시하는 방법을 코딩한다. public override void OnInspectorGUI() { // 이 인스펙터에 대응되는 타켓 스크립트 TestClass test_class = target as TestClass; } }
클래스 이름은 “<Target Class>Editor” or “<Target Class>Inspector” 아무거나 선택.
편하게, 도움을 주는
아직 모르는 개념들
UnityEvent 로 public 변수를 선언하면 알맞게 표시된다.
using UnityEngine.Events; public class SampleClass : MonoBehaviour { public UnityEvent onMoveFowardDone; public UnityEvent onMoveBackwardDone; }
// Create a new prefab for the atlas Object prefab = (go != null) ? go : PrefabUtility.CreateEmptyPrefab(prefabPath); // Create a new game object for the atlas string atlasName = prefabPath.Replace(".prefab", ""); atlasName = atlasName.Substring(prefabPath.LastIndexOfAny(new char[] { '/', '\\' }) + 1); go = new GameObject(atlasName); go.AddComponent<UIAtlas>().spriteMaterial = mat; // Update the prefab PrefabUtility.ReplacePrefab(go, prefab); DestroyImmediate(go); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport);
using UnityEngine; using UnityEditor; // 에디터 이름 public class UIAtlasMaker : EditorWindow { }