57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| public class AvatarGroup : MonoBehaviour
 | |
| {
 | |
|     private Animator[] mAnimators;
 | |
| 
 | |
|     List<string> mExcludeResetACs = new List<string>();
 | |
| 
 | |
|     private void Awake()
 | |
|     {
 | |
|         //mAnimators = GetComponentsInChildren<Animator>();
 | |
|         mAnimators = new Animator[1] { GetComponentInChildren<Animator>()};
 | |
| 
 | |
|         if (GameConfig.Instance.IsSimpleAni)
 | |
|         {
 | |
|             mExcludeResetACs = new List<string>() { "TriggerPickUp", "TriggerPutDown", "TriggerHappy", "TriggerAttack2", "TriggerAttack3" };
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     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 (!mExcludeResetACs.Contains(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,
 | |
|     TriggerHappy,
 | |
|     TriggerPickUp,
 | |
|     TriggerPutDown,
 | |
|     TriggerAttack,
 | |
|     TriggerAttack2,
 | |
|     TriggerAttack3,
 | |
|     TriggerWin,
 | |
|     TriggerDie
 | |
| } |