private void Initialize() { animationMap = new Dictionary <string, AnimationScales>(); AnimationScales[] array = scales; for (int i = 0; i < array.Length; i++) { AnimationScales value = array[i]; animationMap.Add(value.name, value); } }
public void PlayAnimation(string animationName, float delay = 0f) { if (animationMap == null || animationMap.Count == 0) { Initialize(); } if (animationMap.ContainsKey(animationName)) { if (animationCoroutine != null) { StopCoroutine(animationCoroutine); } currentAnimation = animationMap[animationName]; currentAnimation.currentScale = currentAnimation.startScale; base.transform.localScale = Vector3.one * currentAnimation.currentScale; animationCoroutine = StartCoroutine(ExecuteAnimation(delay)); } }