A game about forced loneliness, made by TACStudios
at master 99 lines 2.3 kB view raw
1using System; 2using System.Collections.Generic; 3using UnityEngine; 4 5namespace UnityEditor.U2D.Animation 6{ 7 [Serializable] 8 internal class CharacterGroupCache : SkinningObject, ICharacterOrder 9 { 10 [SerializeField] 11 public int parentGroup; 12 [SerializeField] 13 bool m_IsVisible = true; 14 [SerializeField] 15 int m_Order = -1; 16 17 public bool isVisible 18 { 19 get => m_IsVisible; 20 set 21 { 22 m_IsVisible = value; 23 skinningCache.GroupVisibilityChanged(this); 24 } 25 } 26 27 public virtual int order 28 { 29 get => m_Order; 30 set => m_Order = value; 31 } 32 } 33 34 internal class CharacterPartCache : TransformCache, ICharacterOrder 35 { 36 [SerializeField] 37 SpriteCache m_Sprite; 38 [SerializeField] 39 List<BoneCache> m_Bones = new List<BoneCache>(); 40 [SerializeField] 41 bool m_IsVisible = true; 42 [SerializeField] 43 int m_ParentGroup = -1; 44 [SerializeField] 45 int m_Order = -1; 46 47 public virtual int order 48 { 49 get => m_Order; 50 set => m_Order = value; 51 } 52 53 public int parentGroup 54 { 55 get => m_ParentGroup; 56 set => m_ParentGroup = value; 57 } 58 59 public virtual bool isVisible 60 { 61 get => m_IsVisible; 62 set 63 { 64 m_IsVisible = value; 65 if (skinningCache != null) 66 skinningCache.SpriteVisibilityChanged(this); 67 } 68 } 69 70 public int boneCount => m_Bones.Count; 71 72 public virtual SpriteCache sprite 73 { 74 get => m_Sprite; 75 set => m_Sprite = value; 76 } 77 78 public virtual BoneCache[] bones 79 { 80 get => m_Bones.ToArray(); 81 set => m_Bones = new List<BoneCache>(value); 82 } 83 84 public BoneCache GetBone(int index) 85 { 86 return m_Bones[index]; 87 } 88 89 public int IndexOf(BoneCache bone) 90 { 91 return m_Bones.IndexOf(bone); 92 } 93 94 public bool Contains(BoneCache bone) 95 { 96 return m_Bones.Contains(bone); 97 } 98 } 99}