48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using UnityEngine; | |||
|  | using UnityEditor; | |||
|  | using System.IO; | |||
|  | 
 | |||
|  | 
 | |||
|  | namespace TMPro.EditorUtilities | |||
|  | { | |||
|  |     public static class TMP_StyleAssetMenu | |||
|  |     { | |||
|  |         [MenuItem("Assets/Create/TextMeshPro/Style Sheet", false, 210)] | |||
|  |         internal static void CreateTextMeshProObjectPerform() | |||
|  |         { | |||
|  |             string filePath; | |||
|  |             if (Selection.assetGUIDs.Length == 0) | |||
|  |             { | |||
|  |                 // No asset selected. | |||
|  |                 filePath = "Assets"; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 // Get the path of the selected folder or asset. | |||
|  |                 filePath = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]); | |||
|  | 
 | |||
|  |                 // Get the file extension of the selected asset as it might need to be removed. | |||
|  |                 string fileExtension = Path.GetExtension(filePath); | |||
|  |                 if (fileExtension != "") | |||
|  |                 { | |||
|  |                     filePath = Path.GetDirectoryName(filePath); | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             string filePathWithName = AssetDatabase.GenerateUniqueAssetPath(filePath + "/Text StyleSheet.asset"); | |||
|  | 
 | |||
|  |             // Create new Style Sheet Asset. | |||
|  |             TMP_StyleSheet styleSheet = ScriptableObject.CreateInstance<TMP_StyleSheet>(); | |||
|  | 
 | |||
|  |             AssetDatabase.CreateAsset(styleSheet, filePathWithName); | |||
|  | 
 | |||
|  |             EditorUtility.SetDirty(styleSheet); | |||
|  | 
 | |||
|  |             AssetDatabase.SaveAssets(); | |||
|  | 
 | |||
|  |             EditorUtility.FocusProjectWindow(); | |||
|  |             EditorGUIUtility.PingObject(styleSheet); | |||
|  |         } | |||
|  |     } | |||
|  | } |