Fenrisul 10 жил өмнө
parent
commit
9911183a3d

+ 1 - 0
spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs

@@ -42,6 +42,7 @@ public class AtlasAssetInspector : Editor {
 	private SerializedProperty atlasFile, materials;
 	private SerializedProperty atlasFile, materials;
 
 
 	void OnEnable () {
 	void OnEnable () {
+		SpineEditorUtilities.ConfirmInitialization();
 		atlasFile = serializedObject.FindProperty("atlasFile");
 		atlasFile = serializedObject.FindProperty("atlasFile");
 		materials = serializedObject.FindProperty("materials");
 		materials = serializedObject.FindProperty("materials");
 	}
 	}

+ 2 - 0
spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs

@@ -60,6 +60,8 @@ public class SkeletonDataAssetInspector : Editor {
 
 
 	void OnEnable() {
 	void OnEnable() {
 
 
+	SpineEditorUtilities.ConfirmInitialization();
+	
 		try {
 		try {
 			atlasAssets = serializedObject.FindProperty("atlasAssets");
 			atlasAssets = serializedObject.FindProperty("atlasAssets");
 			skeletonJSON = serializedObject.FindProperty("skeletonJSON");
 			skeletonJSON = serializedObject.FindProperty("skeletonJSON");

+ 1 - 0
spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs

@@ -36,6 +36,7 @@ public class SkeletonRendererInspector : Editor {
 	protected SerializedProperty skeletonDataAsset, initialSkinName, normals, tangents, meshes, immutableTriangles, submeshSeparators;
 	protected SerializedProperty skeletonDataAsset, initialSkinName, normals, tangents, meshes, immutableTriangles, submeshSeparators;
 
 
 	protected virtual void OnEnable () {
 	protected virtual void OnEnable () {
+		SpineEditorUtilities.ConfirmInitialization();
 		skeletonDataAsset = serializedObject.FindProperty("skeletonDataAsset");
 		skeletonDataAsset = serializedObject.FindProperty("skeletonDataAsset");
 		initialSkinName = serializedObject.FindProperty("initialSkinName");
 		initialSkinName = serializedObject.FindProperty("initialSkinName");
 		normals = serializedObject.FindProperty("calculateNormals");
 		normals = serializedObject.FindProperty("calculateNormals");

+ 11 - 0
spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs

@@ -146,8 +146,13 @@ public class SpineEditorUtilities : AssetPostprocessor {
 	public static float defaultScale = 0.01f;
 	public static float defaultScale = 0.01f;
 	public static float defaultMix = 0.2f;
 	public static float defaultMix = 0.2f;
 	public static string defaultShader = "Spine/Skeleton";
 	public static string defaultShader = "Spine/Skeleton";
+	public static bool initialized;
 
 
 	static SpineEditorUtilities() {
 	static SpineEditorUtilities() {
+		Initialize();
+	}
+	
+	static void Initialize(){
 		DirectoryInfo rootDir = new DirectoryInfo(Application.dataPath);
 		DirectoryInfo rootDir = new DirectoryInfo(Application.dataPath);
 		FileInfo[] files = rootDir.GetFiles("SpineEditorUtilities.cs", SearchOption.AllDirectories);
 		FileInfo[] files = rootDir.GetFiles("SpineEditorUtilities.cs", SearchOption.AllDirectories);
 		editorPath = Path.GetDirectoryName(files[0].FullName.Replace("\\", "/").Replace(Application.dataPath, "Assets"));
 		editorPath = Path.GetDirectoryName(files[0].FullName.Replace("\\", "/").Replace(Application.dataPath, "Assets"));
@@ -162,6 +167,12 @@ public class SpineEditorUtilities : AssetPostprocessor {
 		EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI;
 		EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI;
 
 
 		HierarchyWindowChanged();
 		HierarchyWindowChanged();
+		initialized = true;
+	}
+	
+	public static void ConfirmInitialization(){
+		if(!initialized || Icons.skeleton == null)
+		Initialize();
 	}
 	}
 
 
 	static void HierarchyWindowChanged() {
 	static void HierarchyWindowChanged() {