Exemplo n.º 1
0
    // Token: 0x06001956 RID: 6486 RVA: 0x000E51CC File Offset: 0x000E33CC
    public static void ObjAction3dNNMaterialMotionLoad(AppMain.OBS_ACTION3D_NN_WORK obj_3d, int reg_file_id, AppMain.OBS_DATA_WORK data_work, string filename, int index, AMS_AMB_HEADER archive, int motion_num, int mmotion_num)
    {
        object obj = null;

        if ((obj_3d.flag & 1073741824U) == 0U)
        {
            obj_3d.flag |= 268435456U;
            AppMain.OBS_ACTION3D_MTN_LOAD_SETTING obs_ACTION3D_MTN_LOAD_SETTING = obj_3d.mat_mtn_load_setting[reg_file_id];
            obs_ACTION3D_MTN_LOAD_SETTING.enable    = true;
            obs_ACTION3D_MTN_LOAD_SETTING.marge     = false;
            obs_ACTION3D_MTN_LOAD_SETTING.data_work = data_work;
            obs_ACTION3D_MTN_LOAD_SETTING.filename  = "";
            if (filename != null && filename != "")
            {
                obs_ACTION3D_MTN_LOAD_SETTING.filename = filename;
            }
            obs_ACTION3D_MTN_LOAD_SETTING.index   = index;
            obs_ACTION3D_MTN_LOAD_SETTING.archive = archive;
            return;
        }
        if (archive != null)
        {
            obj_3d.flag |= 4096U << reg_file_id;
        }
        if (filename != null && filename != "")
        {
            obj = AppMain.ObjDataLoad(data_work, filename, archive);
            if (archive != null && obj == null)
            {
                obj_3d.flag &= ~(4096U << reg_file_id);
                obj          = AppMain.ObjDataLoad(data_work, filename, null);
            }
        }
        else if (archive != null)
        {
            obj = AppMain.ObjDataLoadAmbIndex(data_work, index, archive);
            if (archive != null && obj == null)
            {
                obj_3d.flag &= ~(4096U << reg_file_id);
            }
        }
        else if (data_work != null)
        {
            obj = AppMain.ObjDataGetInc(data_work);
        }
        if (obj == null)
        {
            return;
        }
        obj_3d.mat_mtn[reg_file_id] = obj;
        if (data_work != null)
        {
            obj_3d.mat_mtn_data_work[reg_file_id] = data_work;
        }
        if (obj_3d.motion == null)
        {
            obj_3d.motion = AppMain.amMotionCreate(obj_3d._object, motion_num, mmotion_num, 0);
        }
        if (obj is AMS_AMB_HEADER || obj is AMS_FS)
        {
            AMS_AMB_HEADER amb = AmFs.readAMBFile(obj);
            AppMain.amMotionMaterialRegistFile(obj_3d.motion, reg_file_id, amb);
            return;
        }
        AppMain.amMotionMaterialRegistFile(obj_3d.motion, reg_file_id, obj);
    }
Exemplo n.º 2
0
    private static void ObjAction3dNNMaterialMotionLoad(
        AppMain.OBS_ACTION3D_NN_WORK obj_3d,
        int reg_file_id,
        AppMain.OBS_DATA_WORK data_work,
        string filename,
        int index,
        AppMain.AMS_AMB_HEADER archive,
        int motion_num,
        int mmotion_num)
    {
        object obj = (object)null;

        if (((int)obj_3d.flag & 1073741824) == 0)
        {
            obj_3d.flag |= 268435456U;
            AppMain.OBS_ACTION3D_MTN_LOAD_SETTING n3DMtnLoadSetting = obj_3d.mat_mtn_load_setting[reg_file_id];
            n3DMtnLoadSetting.enable    = true;
            n3DMtnLoadSetting.marge     = false;
            n3DMtnLoadSetting.data_work = data_work;
            n3DMtnLoadSetting.filename  = "";
            if (filename != null && filename != "")
            {
                n3DMtnLoadSetting.filename = filename;
            }
            n3DMtnLoadSetting.index   = index;
            n3DMtnLoadSetting.archive = archive;
        }
        else
        {
            if (archive != null)
            {
                obj_3d.flag |= (uint)(4096 << reg_file_id);
            }
            if (filename != null && filename != "")
            {
                obj = (object)AppMain.ObjDataLoad(data_work, filename, (object)archive);
                if (archive != null && obj == null)
                {
                    obj_3d.flag &= (uint)~(4096 << reg_file_id);
                    obj          = (object)AppMain.ObjDataLoad(data_work, filename, (object)null);
                }
            }
            else if (archive != null)
            {
                obj = AppMain.ObjDataLoadAmbIndex(data_work, index, archive);
                if (archive != null && obj == null)
                {
                    obj_3d.flag &= (uint)~(4096 << reg_file_id);
                }
            }
            else if (data_work != null)
            {
                obj = AppMain.ObjDataGetInc(data_work);
            }
            if (obj == null)
            {
                return;
            }
            obj_3d.mat_mtn[reg_file_id] = obj;
            if (data_work != null)
            {
                obj_3d.mat_mtn_data_work[reg_file_id] = data_work;
            }
            if (obj_3d.motion == null)
            {
                obj_3d.motion = AppMain.amMotionCreate(obj_3d._object, motion_num, mmotion_num, 0);
            }
            switch (obj)
            {
            case AppMain.AMS_AMB_HEADER _:
            case AppMain.AMS_FS _:
                AppMain.AMS_AMB_HEADER amb = AppMain.readAMBFile(obj);
                AppMain.amMotionMaterialRegistFile(obj_3d.motion, reg_file_id, amb);
                break;

            default:
                AppMain.amMotionMaterialRegistFile(obj_3d.motion, reg_file_id, obj);
                break;
            }
        }
    }