Beispiel #1
0
 // Token: 0x06001A21 RID: 6689 RVA: 0x000EA398 File Offset: 0x000E8598
 private static AMS_MOTION amMotionCreate(NNS_OBJECT _object, int motion_num, int mmotion_num)
 {
     return(amMotionCreate(_object, motion_num, mmotion_num, 0));
 }
Beispiel #2
0
 // Token: 0x06001A1F RID: 6687 RVA: 0x000EA382 File Offset: 0x000E8582
 private static AMS_MOTION amMotionCreate(NNS_OBJECT _object)
 {
     return(amMotionCreate(_object, 0));
 }
Beispiel #3
0
 // Token: 0x06001A20 RID: 6688 RVA: 0x000EA38B File Offset: 0x000E858B
 private static AMS_MOTION amMotionCreate(NNS_OBJECT _object, int flag)
 {
     return(amMotionCreate(_object, 64, 16, flag));
 }
Beispiel #4
0
    // Token: 0x06001A22 RID: 6690 RVA: 0x000EA3A4 File Offset: 0x000E85A4
    public static AMS_MOTION amMotionCreate(NNS_OBJECT _object, int motion_num, int mmotion_num, int flag)
    {
        motion_num  = (motion_num + 3 & -4);
        mmotion_num = (mmotion_num + 3 & -4);
        int        nNode      = _object.nNode;
        AMS_MOTION ams_MOTION = new AMS_MOTION();

        ams_MOTION.mtnbuf   = new NNS_MOTION[motion_num];
        ams_MOTION.mmtn     = new NNS_MOTION[mmotion_num];
        ams_MOTION.data     = New <NNS_TRS>(((flag & 1) != 0) ? (4 * nNode) : (2 * nNode));
        ams_MOTION._object  = _object;
        ams_MOTION.node_num = nNode;
        int i;

        for (i = 0; i < 4; i++)
        {
            ams_MOTION.mtnfile[i].file       = null;
            ams_MOTION.mtnfile[i].motion     = null;
            ams_MOTION.mtnfile[i].motion_num = 0;
        }

        ams_MOTION.motion_num = motion_num;
        for (i = 0; i < motion_num; i++)
        {
            ams_MOTION.mtnbuf[i] = null;
        }

        ArrayPointer <AMS_MOTION_BUF> pointer = ams_MOTION.mbuf;

        i = 0;
        while (i < 2)
        {
            (~pointer).motion_id = 0;
            (~pointer).frame     = 0f;
            if (i == 0)
            {
                (~pointer).mbuf = new ArrayPointer <NNS_TRS>(ams_MOTION.data, nNode);
            }
            else if ((flag & 1) != 0)
            {
                (~pointer).mbuf  = ams_MOTION.mbuf[0].mbuf + nNode;
                ams_MOTION.mmbuf = ams_MOTION.mbuf[1].mbuf + nNode;
                nnCalcTRSList(ams_MOTION.mbuf[1].mbuf.array, ams_MOTION.mbuf[1].mbuf.offset, _object);
            }
            else
            {
                (~pointer).mbuf  = null;
                ams_MOTION.mmbuf = null;
            }

            i++;
            pointer = ++pointer;
        }

        nnCalcTRSList(ams_MOTION.mbuf[0].mbuf.array, ams_MOTION.mbuf[0].mbuf.offset, _object);
        nnCalcTRSList(ams_MOTION.data, 0, _object);
        ams_MOTION.mmobject    = null;
        ams_MOTION.mmobj_size  = 0U;
        ams_MOTION.mmotion_num = mmotion_num;
        return(ams_MOTION);
    }