102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System; | ||
|  | using UnityEngine; | ||
|  | 
 | ||
|  | namespace UnityEditor.U2D.Animation | ||
|  | { | ||
|  |     internal class MeshToolWrapper : BaseTool | ||
|  |     { | ||
|  |         private MeshTool m_MeshTool; | ||
|  |         private SkeletonTool m_SkeletonTool; | ||
|  |         private SpriteMeshViewMode m_MeshMode; | ||
|  |         private bool m_Disable = false; | ||
|  |         private SkeletonMode m_SkeletonMode; | ||
|  |         protected MeshPreviewBehaviour m_MeshPreviewBehaviour = new MeshPreviewBehaviour(); | ||
|  | 
 | ||
|  |         public MeshTool meshTool | ||
|  |         { | ||
|  |             get { return m_MeshTool; } | ||
|  |             set { m_MeshTool = value; } | ||
|  |         } | ||
|  | 
 | ||
|  |         public SkeletonTool skeletonTool | ||
|  |         { | ||
|  |             get { return m_SkeletonTool; } | ||
|  |             set { m_SkeletonTool = value; } | ||
|  |         } | ||
|  | 
 | ||
|  |         public SpriteMeshViewMode meshMode | ||
|  |         { | ||
|  |             get { return m_MeshMode; } | ||
|  |             set { m_MeshMode = value; } | ||
|  |         } | ||
|  | 
 | ||
|  |         public bool disableMeshEditor | ||
|  |         { | ||
|  |             get { return m_Disable; } | ||
|  |             set { m_Disable = value; } | ||
|  |         } | ||
|  | 
 | ||
|  |         public SkeletonMode skeletonMode | ||
|  |         { | ||
|  |             get { return m_SkeletonMode; } | ||
|  |             set { m_SkeletonMode = value; } | ||
|  |         } | ||
|  | 
 | ||
|  |         public override int defaultControlID | ||
|  |         { | ||
|  |             get | ||
|  |             { | ||
|  |                 Debug.Assert(meshTool != null); | ||
|  | 
 | ||
|  |                 return meshTool.defaultControlID; | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         public override IMeshPreviewBehaviour previewBehaviour | ||
|  |         { | ||
|  |             get { return m_MeshPreviewBehaviour; } | ||
|  |         } | ||
|  | 
 | ||
|  |         protected override void OnActivate() | ||
|  |         { | ||
|  |             Debug.Assert(meshTool != null); | ||
|  |             skeletonTool.enableBoneInspector = false; | ||
|  |             skeletonTool.Activate(); | ||
|  |             meshTool.Activate(); | ||
|  |             m_MeshPreviewBehaviour.drawWireframe = true; | ||
|  |             m_MeshPreviewBehaviour.showWeightMap = false; | ||
|  |             m_MeshPreviewBehaviour.overlaySelected = false; | ||
|  |         } | ||
|  | 
 | ||
|  |         protected override void OnDeactivate() | ||
|  |         { | ||
|  |             skeletonTool.Deactivate(); | ||
|  |             meshTool.Deactivate(); | ||
|  |         } | ||
|  | 
 | ||
|  |         protected override void OnGUI() | ||
|  |         { | ||
|  |             DoSkeletonGUI(); | ||
|  |             DoMeshGUI(); | ||
|  |         } | ||
|  | 
 | ||
|  |         protected void DoSkeletonGUI() | ||
|  |         { | ||
|  |             Debug.Assert(skeletonTool != null); | ||
|  | 
 | ||
|  |             skeletonTool.mode = skeletonMode; | ||
|  |             skeletonTool.editBindPose = false; | ||
|  |             skeletonTool.DoGUI(); | ||
|  |         } | ||
|  | 
 | ||
|  |         protected void DoMeshGUI() | ||
|  |         { | ||
|  |             Debug.Assert(meshTool != null); | ||
|  | 
 | ||
|  |             meshTool.disable = disableMeshEditor; | ||
|  |             meshTool.mode = meshMode; | ||
|  |             meshTool.DoGUI(); | ||
|  |         } | ||
|  |     } | ||
|  | } |