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

61 lines
1.5 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>()};
foreach (var item in mAnimators)
{
item.applyRootMotion = false;
}
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
}