public int GetAnimDispatchCase(TR_STATE id) { var anim = Bf.Animations.Model.Animations[(int) Bf.Animations.CurrentAnimation]; foreach (var stc in anim.StateChange) { if(stc.ID == id) { for (var j = 0; j < stc.AnimDispatch.Count; j++) { var disp = stc.AnimDispatch[j]; if (disp.FrameHigh >= disp.FrameLow && Bf.Animations.CurrentFrame.IsBetween(disp.FrameLow, disp.FrameHigh)) { return j; } } } } return -1; }
public static StateChange Anim_FindStateChangeByID(AnimationFrame anim, TR_STATE id) { return anim.StateChange.FirstOrDefault(x => x.ID == id); }