A game about forced loneliness, made by TACStudios
at master 68 lines 1.8 kB view raw
1using System; 2using UnityEngine; 3 4namespace UnityEditor.U2D.Animation 5{ 6 internal class SkeletonToolWrapper : BaseTool 7 { 8 private SkeletonTool m_SkeletonTool; 9 private SkeletonMode m_Mode; 10 11 public SkeletonTool skeletonTool 12 { 13 get { return m_SkeletonTool; } 14 set { m_SkeletonTool = value; } 15 } 16 17 public SkeletonMode mode 18 { 19 get { return m_Mode; } 20 set { m_Mode = value; } 21 } 22 23 public bool editBindPose { get; set; } 24 25 public override int defaultControlID 26 { 27 get 28 { 29 Debug.Assert(skeletonTool != null); 30 31 return skeletonTool.defaultControlID; 32 } 33 } 34 35 protected override void OnActivate() 36 { 37 Debug.Assert(skeletonTool != null); 38 skeletonTool.enableBoneInspector = true; 39 skeletonTool.Activate(); 40 } 41 42 protected override void OnDeactivate() 43 { 44 skeletonTool.enableBoneInspector = false; 45 skeletonTool.Deactivate(); 46 } 47 48 private SkeletonMode OverrideMode() 49 { 50 var modeOverride = mode; 51 52 //Disable SkeletonManipulation if character exists and we are in SpriteSheet mode 53 if (skinningCache.mode == SkinningMode.SpriteSheet && skinningCache.hasCharacter && editBindPose) 54 modeOverride = SkeletonMode.Selection; 55 56 return modeOverride; 57 } 58 59 protected override void OnGUI() 60 { 61 Debug.Assert(skeletonTool != null); 62 63 skeletonTool.mode = OverrideMode(); 64 skeletonTool.editBindPose = editBindPose; 65 skeletonTool.DoGUI(); 66 } 67 } 68}