mergemilitary/Assets/Scripts/Game/Wars/Soldiers/AvatarGroup.cs

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
}