Exemplo n.º 1
0
 public static void gmScoreMainFunc(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_SCORE_DISP_WORK gmsScoreDispWork = (AppMain.GMS_SCORE_DISP_WORK)obj_work;
     gmsScoreDispWork.base_pos.y += gmsScoreDispWork.rise_spd;
     gmsScoreDispWork.rise_spd   += gmsScoreDispWork.rise_dec;
     if (gmsScoreDispWork.rise_spd > 0)
     {
         gmsScoreDispWork.rise_spd = 0;
     }
     obj_work.pos.Assign(gmsScoreDispWork.base_pos);
     if (gmsScoreDispWork.rise_spd != 0)
     {
         gmsScoreDispWork.vib_timer = AppMain.ObjTimeCountUp(gmsScoreDispWork.vib_timer);
         int index = gmsScoreDispWork.vib_timer >> 12 & 7;
         obj_work.pos.x += AppMain.FX_Mul(AppMain.gm_score_vib_tbl[index][0], AppMain.gm_score_vib_scale_tbl[gmsScoreDispWork.vib_level]);
         obj_work.pos.y += AppMain.FX_Mul(AppMain.gm_score_vib_tbl[index][1], AppMain.gm_score_vib_scale_tbl[gmsScoreDispWork.vib_level]);
     }
     gmsScoreDispWork.timer = AppMain.ObjTimeCountDown(gmsScoreDispWork.timer);
     if (gmsScoreDispWork.timer > 0)
     {
         return;
     }
     for (int index = 0; index < 5; ++index)
     {
         if (gmsScoreDispWork.efct_work[index] != null)
         {
             gmsScoreDispWork.efct_work[index].efct_com.obj_work.flag |= 8U;
         }
     }
     obj_work.flag |= 4U;
 }
Exemplo n.º 2
0
 // Token: 0x06000850 RID: 2128 RVA: 0x00048BB0 File Offset: 0x00046DB0
 public static void gmScoreMainFunc(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_SCORE_DISP_WORK gms_SCORE_DISP_WORK  = (AppMain.GMS_SCORE_DISP_WORK)obj_work;
     AppMain.GMS_SCORE_DISP_WORK gms_SCORE_DISP_WORK2 = gms_SCORE_DISP_WORK;
     gms_SCORE_DISP_WORK2.base_pos.y = gms_SCORE_DISP_WORK2.base_pos.y + gms_SCORE_DISP_WORK.rise_spd;
     gms_SCORE_DISP_WORK.rise_spd   += gms_SCORE_DISP_WORK.rise_dec;
     if (gms_SCORE_DISP_WORK.rise_spd > 0)
     {
         gms_SCORE_DISP_WORK.rise_spd = 0;
     }
     obj_work.pos.Assign(gms_SCORE_DISP_WORK.base_pos);
     if (gms_SCORE_DISP_WORK.rise_spd != 0)
     {
         gms_SCORE_DISP_WORK.vib_timer = AppMain.ObjTimeCountUp(gms_SCORE_DISP_WORK.vib_timer);
         int num = gms_SCORE_DISP_WORK.vib_timer >> 12 & 7;
         obj_work.pos.x = obj_work.pos.x + AppMain.FX_Mul(AppMain.gm_score_vib_tbl[num][0], AppMain.gm_score_vib_scale_tbl[gms_SCORE_DISP_WORK.vib_level]);
         obj_work.pos.y = obj_work.pos.y + AppMain.FX_Mul(AppMain.gm_score_vib_tbl[num][1], AppMain.gm_score_vib_scale_tbl[gms_SCORE_DISP_WORK.vib_level]);
     }
     gms_SCORE_DISP_WORK.timer = AppMain.ObjTimeCountDown(gms_SCORE_DISP_WORK.timer);
     if (gms_SCORE_DISP_WORK.timer <= 0)
     {
         for (int i = 0; i < 5; i++)
         {
             if (gms_SCORE_DISP_WORK.efct_work[i] != null)
             {
                 gms_SCORE_DISP_WORK.efct_work[i].efct_com.obj_work.flag |= 8U;
             }
         }
         obj_work.flag |= 4U;
     }
 }
Exemplo n.º 3
0
    public static void GmScoreCreateScore(
        int score,
        int pos_x,
        int pos_y,
        int scale,
        int vib_level)
    {
        int[] numArray1 = new int[5];
        int[] numArray2 = new int[5] {
            10000, 1000, 100, 10, 1
        };
        if (score <= 0)
        {
            return;
        }
        AppMain.OBS_OBJECT_WORK     parent_obj       = AppMain.OBM_OBJECT_TASK_DETAIL_INIT((ushort)18432, (byte)5, (byte)0, (byte)0, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_SCORE_DISP_WORK()), (string)null);
        AppMain.GMS_SCORE_DISP_WORK gmsScoreDispWork = (AppMain.GMS_SCORE_DISP_WORK)parent_obj;
        parent_obj.pos.x           = pos_x;
        parent_obj.pos.y           = pos_y - 65536;
        parent_obj.pos.z           = 1179648;
        parent_obj.flag           |= 18U;
        parent_obj.move_flag      |= 256U;
        parent_obj.ppFunc          = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmScoreMainFunc);
        gmsScoreDispWork.vib_level = vib_level;
        gmsScoreDispWork.base_pos.Assign(parent_obj.pos);
        gmsScoreDispWork.scale     = scale;
        gmsScoreDispWork.rise_dist = -8 * (scale - 4096) - 131072;
        gmsScoreDispWork.rise_spd  = gmsScoreDispWork.rise_dist * 2 / 30;
        gmsScoreDispWork.rise_dec  = -gmsScoreDispWork.rise_spd / 30;
        gmsScoreDispWork.timer     = 184320;
        if (score > 99999)
        {
            score = 99999;
        }
        int  num1 = score;
        bool flag = false;
        int  num2 = 0;

        for (int index = 0; index < 5; ++index)
        {
            numArray1[4 - index] = num1 / numArray2[index];
            num1 -= numArray1[4 - index] * numArray2[index];
            if (!flag)
            {
                if (numArray1[4 - index] == 0)
                {
                    numArray1[4 - index] = -1;
                }
                else
                {
                    flag = true;
                    ++num2;
                }
            }
            else
            {
                ++num2;
            }
        }
        int ofst_x = ((num2 * 11 + (num2 - 1)) * 4096 >> 1) - 22528;
        int num3   = -49152;
        int index1 = 0;

        while (index1 < 5 && numArray1[index1] != -1)
        {
            gmsScoreDispWork.efct_work[index1] = AppMain.GmEfctCmnEsCreate(parent_obj, 56 + numArray1[index1]);
            gmsScoreDispWork.efct_work[index1].efct_com.obj_work.scale.x = gmsScoreDispWork.efct_work[index1].efct_com.obj_work.scale.y = gmsScoreDispWork.efct_work[index1].efct_com.obj_work.scale.z = scale;
            gmsScoreDispWork.efct_work[index1].obj_3des.command_state    = 10U;
            AppMain.GmComEfctSetDispOffset(gmsScoreDispWork.efct_work[index1], ofst_x, 0, 0);
            ++index1;
            ofst_x += num3;
        }
    }
Exemplo n.º 4
0
    // Token: 0x0600084F RID: 2127 RVA: 0x00048944 File Offset: 0x00046B44
    public static void GmScoreCreateScore(int score, int pos_x, int pos_y, int scale, int vib_level)
    {
        int[] array  = new int[5];
        int[] array2 = new int[]
        {
            10000,
            1000,
            100,
            10,
            1
        };
        if (score <= 0)
        {
            return;
        }
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.OBM_OBJECT_TASK_DETAIL_INIT(18432, 5, 0, 0, () => new AppMain.GMS_SCORE_DISP_WORK(), "GMSCORE_CREATE_SCORE");

        AppMain.GMS_SCORE_DISP_WORK gms_SCORE_DISP_WORK = (AppMain.GMS_SCORE_DISP_WORK)obs_OBJECT_WORK;
        obs_OBJECT_WORK.pos.x         = pos_x;
        obs_OBJECT_WORK.pos.y         = pos_y + -65536;
        obs_OBJECT_WORK.pos.z         = 1179648;
        obs_OBJECT_WORK.flag         |= 18U;
        obs_OBJECT_WORK.move_flag    |= 256U;
        obs_OBJECT_WORK.ppFunc        = AppMain.gmScoreMainFunc;
        gms_SCORE_DISP_WORK.vib_level = vib_level;
        gms_SCORE_DISP_WORK.base_pos.Assign(obs_OBJECT_WORK.pos);
        gms_SCORE_DISP_WORK.scale     = scale;
        gms_SCORE_DISP_WORK.rise_dist = -131072 + -8 * (scale - 4096);
        gms_SCORE_DISP_WORK.rise_spd  = gms_SCORE_DISP_WORK.rise_dist * 2 / 30;
        gms_SCORE_DISP_WORK.rise_dec  = -gms_SCORE_DISP_WORK.rise_spd / 30;
        gms_SCORE_DISP_WORK.timer     = 184320;
        if (score > 99999)
        {
            score = 99999;
        }
        int  num  = score;
        bool flag = false;
        int  num2 = 0;
        int  i;

        for (i = 0; i < 5; i++)
        {
            array[4 - i] = num / array2[i];
            num         -= array[4 - i] * array2[i];
            if (!flag)
            {
                if (array[4 - i] == 0)
                {
                    array[4 - i] = -1;
                }
                else
                {
                    flag = true;
                    num2++;
                }
            }
            else
            {
                num2++;
            }
        }
        int num3 = ((num2 * 11 + (num2 - 1)) * 4096 >> 1) - 22528;
        int num4 = -49152;

        i = 0;
        while (i < 5 && array[i] != -1)
        {
            gms_SCORE_DISP_WORK.efct_work[i] = AppMain.GmEfctCmnEsCreate(obs_OBJECT_WORK, 56 + array[i]);
            OBS_OBJECT_WORK obj_work  = gms_SCORE_DISP_WORK.efct_work[i].efct_com.obj_work;
            OBS_OBJECT_WORK obj_work2 = gms_SCORE_DISP_WORK.efct_work[i].efct_com.obj_work;
            gms_SCORE_DISP_WORK.efct_work[i].efct_com.obj_work.scale.z = scale;
            obj_work2.scale.y = scale;
            obj_work.scale.x  = scale;
            gms_SCORE_DISP_WORK.efct_work[i].obj_3des.command_state = 10U;
            AppMain.GmComEfctSetDispOffset(gms_SCORE_DISP_WORK.efct_work[i], num3, 0, 0);
            i++;
            num3 += num4;
        }
    }