using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(Animator))] public class IdleAnimationDistributor : MonoBehaviour { [Range(0,1)] [SerializeField] float idleAnimationProb = 0.3f; public List idleTriggers = new List(); private List tempIdleTriggers = new List(); public void _distributeIdleState() { //проверяем верояность. Не проходим - отсекаем float rand = Random.Range(0.0f, 1.0f); if (rand > idleAnimationProb) return; //пустой список - копируем if (tempIdleTriggers.Count == 0) tempIdleTriggers = new List(idleTriggers); string trigger = tempIdleTriggers[Random.Range(0, tempIdleTriggers.Count)]; tempIdleTriggers.Remove(trigger); GetComponent().SetTrigger(trigger); } }