public float GetCurrentAttackEvent(eAnimationEvent evt, int layer = 0) { AnimationClip clip = _animController.GetPrimaryAnimationClip(layer); if (clip == null) { return(1.0f); } string animName = clip.name; AnimationMetadata animMetadata = AnimationMetadataCatalog.Instance.GetAnimationMetadata(animName); float attackTime; if (animMetadata == null) { EB.Debug.LogWarning("Failed to find animation metadata for {0}. Did you forget to reload it?", animName); attackTime = clip.length; } else { attackTime = animMetadata.GetEventTime(evt); if (animMetadata.GetEventTime(eAnimationEvent.Hit) == -1) { //Not an attack animation, don't scale it. return(1.0f); } if (attackTime == -1) { attackTime = clip.length; } } return(attackTime); }
public void AddMetadata(AnimationMetadata metadata) { bool found = false; for (int i = 0; i < _allMetadata.Count; i++) { if (_allMetadata[i].name == metadata.name) { _allMetadata[i] = metadata; found = true; } } if (!found) { _allMetadata.Add(metadata); } }