63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | // EasyTouch library is copyright (c) of Hedgehog Team | ||
|  | // Please send feedback or bug reports to the.hedgehog.team@gmail.com | ||
|  | 
 | ||
|  | using UnityEngine; | ||
|  | using UnityEditor; | ||
|  | using System; | ||
|  | using HedgehogTeam.EasyTouch; | ||
|  | 
 | ||
|  | [InitializeOnLoad] | ||
|  | public class EasytouchHierachyCallBack{ | ||
|  | 	 | ||
|  | 	private static readonly EditorApplication.HierarchyWindowItemCallback hiearchyItemCallback; | ||
|  | 	private static Texture2D hierarchyIcon; | ||
|  | 	private static Texture2D HierarchyIcon { | ||
|  | 		get { | ||
|  | 			if (EasytouchHierachyCallBack.hierarchyIcon==null){ | ||
|  | 				EasytouchHierachyCallBack.hierarchyIcon = (Texture2D)Resources.Load( "EasyTouch_Icon"); | ||
|  | 			} | ||
|  | 			return EasytouchHierachyCallBack.hierarchyIcon; | ||
|  | 		} | ||
|  | 	}	 | ||
|  | 
 | ||
|  | 	private static Texture2D hierarchyEventIcon; | ||
|  | 	private static Texture2D HierarchyEventIcon { | ||
|  | 		get { | ||
|  | 			if (EasytouchHierachyCallBack.hierarchyEventIcon==null){ | ||
|  | 				EasytouchHierachyCallBack.hierarchyEventIcon = (Texture2D)Resources.Load( "EasyTouchTrigger_Icon"); | ||
|  | 			} | ||
|  | 			return EasytouchHierachyCallBack.hierarchyEventIcon; | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 
 | ||
|  | 	// constructor | ||
|  | 	static EasytouchHierachyCallBack() | ||
|  | 	{ | ||
|  | 		EasytouchHierachyCallBack.hiearchyItemCallback = new EditorApplication.HierarchyWindowItemCallback(EasytouchHierachyCallBack.DrawHierarchyIcon); | ||
|  | 		EditorApplication.hierarchyWindowItemOnGUI = (EditorApplication.HierarchyWindowItemCallback)Delegate.Combine(EditorApplication.hierarchyWindowItemOnGUI, EasytouchHierachyCallBack.hiearchyItemCallback); | ||
|  | 		 | ||
|  | 	} | ||
|  | 	 | ||
|  | 	private static void DrawHierarchyIcon(int instanceID, Rect selectionRect) | ||
|  | 	{ | ||
|  | 		GameObject gameObject = EditorUtility.InstanceIDToObject(instanceID) as GameObject; | ||
|  | 
 | ||
|  | 		if (gameObject != null){ | ||
|  | 			Rect rect = new Rect(selectionRect.x + selectionRect.width - 16f, selectionRect.y, 16f, 16f); | ||
|  | 			if ( gameObject.GetComponent<EasyTouch>() != null){ | ||
|  | 				GUI.DrawTexture( rect,EasytouchHierachyCallBack.HierarchyIcon); | ||
|  | 			} | ||
|  | 			else if (gameObject.GetComponent<QuickBase>() != null){ | ||
|  | 				GUI.DrawTexture( rect,EasytouchHierachyCallBack.HierarchyEventIcon); | ||
|  | 			} | ||
|  | #if FALSE | ||
|  | 			else if (gameObject.GetComponent<EasyTouchSceneProxy>() != null){ | ||
|  | 				GUI.DrawTexture( rect,EasytouchHierachyCallBack.HierarchyIcon); | ||
|  | 			} | ||
|  | #endif | ||
|  | 		} | ||
|  | 	} | ||
|  | 		 | ||
|  | } |