void UpdateBindInfo() { curAnimBindInfo = config.events.Find((a) => a.name == _curAnimName); if (curAnimBindInfo == null) { curAnimBindInfo = AnimBindInfo.Empty; } }
public void Play(string name, bool isCrossfade = false) { if (CurAnimName == name) { return; } var idx = animNames.IndexOf(name); if (idx == -1) { UnityEngine.Debug.LogError("miss animation " + name); return; } Debug.Trace($"{owner.EntityId} PlayAnim {name} rawName {CurAnimName}"); var hasChangedAnim = CurAnimName != name; CurAnimName = name; animState = animComp[CurAnimName]; CurAnimInfo = animInfos[idx]; CurAnimBindInfo = config.events.Find((a) => a.name == name); if (CurAnimBindInfo == null) { CurAnimBindInfo = AnimBindInfo.Empty; } if (hasChangedAnim) { //owner.TakeDamage(0, owner.transform2D.Pos3); ResetAnim(); } var state = animComp[CurAnimName]; if (state != null) { if (isCrossfade) { animComp.CrossFade(CurAnimName); } else { animComp.Play(CurAnimName); } } }