43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.1 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].HasState(0, Animator.StringToHash("Base Layer." + tTriggerName))) | |||
|  |                     mAnimators[i].ResetTrigger(tTriggerName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         for (int i = 0; i < mAnimators.Length; i++) | |||
|  |         { | |||
|  |             mAnimators[i].speed = pSpeed; | |||
|  |             mAnimators[i].SetTrigger(pTrigger.ToString()); | |||
|  |         } | |||
|  |     } | |||
|  | } | |||
|  | 
 | |||
|  | public enum SoldierACTrigger | |||
|  | { | |||
|  |     TriggerIdle, | |||
|  |     TriggerRun, | |||
|  |     TriggerAttack, | |||
|  |     TriggerWin, | |||
|  |     TriggerDie | |||
|  | } |