1 public static void GetAllSkeletonName(Transform rootTrans,ref List<string> nameList)
2 {
3 SetChildSkeletonName(rootTrans, ref nameList);
4 }
5
6 public static void SetChildSkeletonName(Transform trans, ref List<string> nameList)
7 {
8 if (trans.childCount == 0)
9 {
10 return;
11 }
12 foreach (Transform childTrans in trans)
13 {
14 SetChildSkeletonName(childTrans,ref nameList);
15
16 SkeletonAnimation sA = childTrans.GetComponent<SkeletonAnimation>();
17 if (sA)
18 {
19 ExposedList<Spine.Animation> animations = sA.skeletonDataAsset.GetSkeletonData(false).Animations;
20 foreach (Spine.Animation anim in animations)
21 {
22 nameList.Add(anim.Name);
23 }
24 }
25
26 }
27 }
28
29 public static void GetAllAnimatorName(Transform rootTrans, ref List<string> nameList)
30 {
31 SetChildAnimatorName(rootTrans, ref nameList);
32 }
33
34 public static void SetChildAnimatorName(Transform trans, ref List<string> nameList)
35 {
36 if (trans.childCount == 0)
37 {
38 return;
39 }
40 foreach (Transform childTrans in trans)
41 {
42 SetChildAnimatorName(childTrans, ref nameList);
43
44 Animator sA = childTrans.GetComponent<Animator>();
45 if (sA)
46 {
47 // AnimationClip[] clips = sA.runtimeAnimatorController.animationClips;
48 AnimatorController co = sA.runtimeAnimatorController as AnimatorController;
49 if (co == null)
50 {
51 return;
52 }
53 foreach (var ly in co.layers)
54 {
55 AnimatorStateMachine stateMachine = ly.stateMachine;
56 foreach (var st in stateMachine.states)
57 {
58 nameList.Add(st.state.name);
59 }
60
61 }
62 }
63
64 }
65 }