A game about forced loneliness, made by TACStudios
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}