public static void Play(GameObject gm, MeshAnimation[] tma, string res, string name, WrapMode mode, float fSpeed, bool bRandomFrameIndex) { ModelAnimation.m_AnimationInfo = ModelAnimation.GetAnimationInfo(res + "/" + name); if (ModelAnimation.m_AnimationInfo == null) { return; } ModelAnimation.m_WarpMode = mode; ModelAnimation.m_fSpeed = fSpeed; ModelAnimation.m_iEventPostIndex = -1; int num = 0; if (bRandomFrameIndex) { num = UnityEngine.Random.Range(0, ModelAnimation.m_AnimationInfo.iFrameCount); } ModelAnimation.m_fCurPlayTime = (float)num * (1f / (float)ModelAnimation.m_AnimationInfo.iFrameRate); for (int i = 0; i < ModelAnimation.m_AnimationInfo.listEvent.Count; i++) { AnimationEvent animationEvent = ModelAnimation.m_AnimationInfo.listEvent[i]; if (animationEvent.time >= ModelAnimation.m_fCurPlayTime) { ModelAnimation.m_listEvent.Add(animationEvent); } } for (int j = 0; j < tma.Length; j++) { tma[j].PlayAnimation(res, name, ModelAnimation.m_AnimationInfo.iFrameRate, mode, fSpeed, ModelAnimation.playingstartframe); } ModelAnimation.playingstartframe = 0; }
public static void setpercent(ModelAnimation.AnimationInfo ai, float pct) { if (ai != null) { ModelAnimation.playingstartframe = (int)(pct * (float)ai.iFrameCount); } }
public static void Play(ModelAnimation.AnimationInfo ai, GameObject gm, MeshAnimation[] tma, string res, string name, WrapMode mode, float time) { if (gm.animation.enabled) { return; } ModelAnimation.m_AnimationInfo = ai; if (ModelAnimation.m_AnimationInfo == null) { return; } float num = 1f / (float)ModelAnimation.m_AnimationInfo.iFrameRate; if (time < 0.1f) { time = 0.1f; } float num2 = num * (float)ModelAnimation.m_AnimationInfo.iFrameCount; float fSpeed = num2 / time; ModelAnimation.m_WarpMode = mode; ModelAnimation.m_fSpeed = fSpeed; ModelAnimation.m_iEventPostIndex = -1; int num3 = 0; ModelAnimation.m_fCurPlayTime = (float)num3 * num; for (int i = 0; i < ModelAnimation.m_AnimationInfo.listEvent.Count; i++) { AnimationEvent animationEvent = ModelAnimation.m_AnimationInfo.listEvent[i]; if (animationEvent.time >= ModelAnimation.m_fCurPlayTime) { ModelAnimation.m_listEvent.Add(animationEvent); } } for (int j = 0; j < tma.Length; j++) { tma[j].PlayAnimation(res, name, ModelAnimation.m_AnimationInfo.iFrameRate, mode, fSpeed, ModelAnimation.playingstartframe); } ModelAnimation.playingstartframe = 0; }
public static void Stop(GameObject gm, MeshAnimation[] tma, string res, string name) { if (gm.animation.enabled) { return; } ModelAnimation.m_AnimationInfo = ModelAnimation.GetAnimationInfo(res + "/" + name); if (ModelAnimation.m_AnimationInfo == null) { return; } ModelAnimation.m_WarpMode = WrapMode.Once; ModelAnimation.m_fSpeed = 1.2f; ModelAnimation.m_iEventPostIndex = -1; int num = 1000; ModelAnimation.m_fCurPlayTime = (float)num * (1f / (float)ModelAnimation.m_AnimationInfo.iFrameRate); for (int i = 0; i < tma.Length; i++) { tma[i].PlayAnimation(res, name, ModelAnimation.m_AnimationInfo.iFrameRate, ModelAnimation.m_WarpMode, ModelAnimation.m_fSpeed, num); } }