Ejemplo n.º 1
0
    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;
    }
Ejemplo n.º 2
0
 public static void setpercent(ModelAnimation.AnimationInfo ai, float pct)
 {
     if (ai != null)
     {
         ModelAnimation.playingstartframe = (int)(pct * (float)ai.iFrameCount);
     }
 }
Ejemplo n.º 3
0
    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;
    }
Ejemplo n.º 4
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);
        }
    }