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; }
// 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; } }
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; } }
// 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; } }