private static void GmBoss4UtilInitTurnGently( AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive) { AppMain.MTM_ASSERT(frame > 0); _work.orig_angle = _work.cur_angle; _work.turn_angle = 0; _work.turn_spd = 0; if (is_positive) { ushort num = (ushort)((uint)dest_angle - (uint)_work.cur_angle); _work.turn_amount = (int)num; } else { ushort num = (ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360))); _work.turn_amount = (int)num - AppMain.AKM_DEGtoA32(360); } _work.turn_gen_var = 0; float num1 = 180f / (float)frame; AppMain.MTM_ASSERT((double)AppMain.MTM_MATH_ABS(num1) <= 2147483648.0); _work.turn_gen_factor = AppMain.AKM_DEGtoA32(num1); AppMain.GmBoss4UtilSetDirection(_work, (short)((int)_work.orig_angle + _work.turn_angle)); }
// Token: 0x060006FC RID: 1788 RVA: 0x0003E4E0 File Offset: 0x0003C6E0 private static bool GmBoss4UtilUpdateTurn(AppMain.GMS_BOSS4_DIRECTION _work, float spd_rate) { bool flag = false; AppMain.MTM_ASSERT(spd_rate >= 0f); float num = spd_rate * (float)_work.turn_spd; AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num) <= 2.1474836E+09f); _work.turn_angle += ( int )num; if (_work.turn_spd > 0) { if (_work.turn_angle >= _work.turn_amount) { flag = true; } } else if (_work.turn_spd < 0 && _work.turn_angle <= _work.turn_amount) { flag = true; } if (flag) { _work.turn_angle = _work.turn_amount; } AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle)); return(flag); }
// Token: 0x060006FA RID: 1786 RVA: 0x0003E42C File Offset: 0x0003C62C private static void GmBoss4UtilInitTurn(AppMain.GMS_BOSS4_DIRECTION _work, int turn_amount, int turn_spd) { AppMain.MTM_ASSERT(0 == (int.MinValue & (turn_amount ^ turn_spd))); _work.orig_angle = _work.cur_angle; _work.turn_angle = 0; _work.turn_amount = turn_amount; _work.turn_spd = turn_spd; AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle)); }
private static void GmBoss4UtilInitTurn( AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive) { AppMain.MTM_ASSERT(frame > 0); int turn_amount = !is_positive ? (int)(ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360))) - AppMain.AKM_DEGtoA32(360) : (int)(ushort)((uint)dest_angle - (uint)_work.cur_angle); int turn_spd = turn_amount / frame; AppMain.GmBoss4UtilInitTurn(_work, turn_amount, turn_spd); }
// Token: 0x060006F8 RID: 1784 RVA: 0x0003E3F1 File Offset: 0x0003C5F1 private static void GmBoss4UtilSetDirectionNormal(AppMain.GMS_BOSS4_DIRECTION _work) { if (_work.direction == 1) { AppMain.GmBoss4UtilSetDirection(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE); } else { AppMain.GmBoss4UtilSetDirection(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE); } _work.orig_angle = 0; _work.turn_angle = 0; }
// Token: 0x06000701 RID: 1793 RVA: 0x0003E7C8 File Offset: 0x0003C9C8 private static bool GmBoss4UtilLookAtCenter(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, int time) { if (AppMain.GMM_BOSS4_AREA_CENTER_X() < obj_work.pos.x) { _work.direction = 1; AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE, time, false); } else { _work.direction = 0; AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE, time, true); } return(AppMain.GmBoss4UtilUpdateTurnGently(_work)); }
// Token: 0x060006F7 RID: 1783 RVA: 0x0003E3B1 File Offset: 0x0003C5B1 private static void GmBoss4UtilUpdateDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, bool flag) { if (_work.direction == 1) { obj_work.disp_flag |= 1U; } else { obj_work.disp_flag &= 4294967294U; } if (flag) { return; } obj_work.dir.y = ( ushort )_work.cur_angle; }
// Token: 0x06000700 RID: 1792 RVA: 0x0003E75C File Offset: 0x0003C95C private static bool GmBoss4UtilLookAtPlayerCheckDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work, int time) { if (AppMain.GmBsCmnGetPlayerObj().pos.x < obj_work.pos.x) { if (_work.direction != 1) { _work.direction = 1; AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_LEFTWARD_ANGLE, time, false); } } else if (_work.direction != 0) { _work.direction = 0; AppMain.GmBoss4UtilInitTurnGently(_work, AppMain.GMD_BOSS4_RIGHTWARD_ANGLE, time, true); } return(AppMain.GmBoss4UtilUpdateTurnGently(_work)); }
// Token: 0x060006FB RID: 1787 RVA: 0x0003E480 File Offset: 0x0003C680 private static void GmBoss4UtilInitTurn(AppMain.GMS_BOSS4_DIRECTION _work, short dest_angle, int frame, bool is_positive) { AppMain.MTM_ASSERT(frame > 0); int num2; if (is_positive) { ushort num = (ushort)(dest_angle - _work.cur_angle); num2 = ( int )num; } else { ushort num = (ushort)((int)dest_angle - AppMain.AKM_DEGtoA32(360) - ((int)_work.cur_angle - AppMain.AKM_DEGtoA32(360))); num2 = ( int )num - AppMain.AKM_DEGtoA32(360); } int turn_spd = num2 / frame; AppMain.GmBoss4UtilInitTurn(_work, num2, turn_spd); }
// Token: 0x060006FE RID: 1790 RVA: 0x0003E648 File Offset: 0x0003C848 private static bool GmBoss4UtilUpdateTurnGently(AppMain.GMS_BOSS4_DIRECTION _work) { bool flag = false; AppMain.MTM_ASSERT(_work.turn_gen_factor > 0); _work.turn_gen_var += _work.turn_gen_factor; if (_work.turn_gen_var >= AppMain.AKM_DEGtoA32(180)) { _work.turn_gen_var = AppMain.AKM_DEGtoA32(180); flag = true; } float num = (float)_work.turn_amount * 0.5f * (1f - AppMain.nnCos(_work.turn_gen_var)); AppMain.MTM_ASSERT(AppMain.MTM_MATH_ABS(num) <= 2.1474836E+09f); _work.turn_angle = ( int )num; if (flag) { _work.turn_angle = _work.turn_amount; } AppMain.GmBoss4UtilSetDirection(_work, ( short )(( int )_work.orig_angle + _work.turn_angle)); return(flag); }
// Token: 0x06000702 RID: 1794 RVA: 0x0003E817 File Offset: 0x0003CA17 private static bool GmBoss4UtilLookAt(AppMain.GMS_BOSS4_DIRECTION _work) { return(AppMain.GmBoss4UtilUpdateTurnGently(_work)); }
// Token: 0x060006F9 RID: 1785 RVA: 0x0003E422 File Offset: 0x0003C622 private static void GmBoss4UtilSetDirection(AppMain.GMS_BOSS4_DIRECTION _work, short deg) { _work.cur_angle = deg; }
// Token: 0x060006F6 RID: 1782 RVA: 0x0003E3A7 File Offset: 0x0003C5A7 private static void GmBoss4UtilUpdateDirection(AppMain.GMS_BOSS4_DIRECTION _work, AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GmBoss4UtilUpdateDirection(_work, obj_work, false); }
// Token: 0x060006F5 RID: 1781 RVA: 0x0003E378 File Offset: 0x0003C578 private static bool GmBoss4UtilIsDirectionPositiveFromCurrent(AppMain.GMS_BOSS4_DIRECTION _work, short target_angle) { int num = (int)(65535L & (long)(_work.cur_angle - target_angle)); return(num >= AppMain.AKM_DEGtoA32(180)); }
private static bool GmBoss4UtilIsDirectionPositiveFromCurrent( AppMain.GMS_BOSS4_DIRECTION _work, short target_angle) { return((int)((long)ushort.MaxValue & (long)((int)_work.cur_angle - (int)target_angle)) >= AppMain.AKM_DEGtoA32(180)); }