49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| public class AvatarGroup : MonoBehaviour
 | |
| {
 | |
|     private Animator[] mAnimators;
 | |
| 
 | |
|     private void Awake()
 | |
|     {
 | |
|         //mAnimators = GetComponentsInChildren<Animator>();
 | |
|         mAnimators = new Animator[1] { GetComponentInChildren<Animator>()};
 | |
|     }
 | |
| 
 | |
|     public void SetACTrigger(SoldierACTrigger pTrigger, float pSpeed = 1)
 | |
|     {
 | |
|         //reset all trigger
 | |
|         foreach (string tTriggerName in Enum.GetNames(typeof(SoldierACTrigger)))
 | |
|         {
 | |
|             for (int i = 0; i < mAnimators.Length; i++)
 | |
|             {
 | |
|                 if (!mAnimators[i].enabled)
 | |
|                     continue;
 | |
| 
 | |
|                 if (mAnimators[i].HasState(0, Animator.StringToHash("Base Layer." + tTriggerName)))
 | |
|                     mAnimators[i].ResetTrigger(tTriggerName);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         for (int i = 0; i < mAnimators.Length; i++)
 | |
|         {
 | |
|             if (!mAnimators[i].enabled)
 | |
|                 continue;
 | |
| 
 | |
|             mAnimators[i].speed = pSpeed;
 | |
|             mAnimators[i].SetTrigger(pTrigger.ToString());
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| public enum SoldierACTrigger
 | |
| {
 | |
|     TriggerIdle,
 | |
|     TriggerRun,
 | |
|     TriggerAttack,
 | |
|     TriggerWin,
 | |
|     TriggerDie
 | |
| } |