// Token: 0x060004F7 RID: 1271 RVA: 0x0002AAE4 File Offset: 0x00028CE4 private static AppMain.OBS_OBJECT_WORK GmBoss5LandInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO gms_BOSS5_LAND_PLACEMENT_INFO = new AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO(); if (AppMain.gmBoss5LandGetPlacementInfo(gms_BOSS5_LAND_PLACEMENT_INFO) == 0) { return(null); } AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, gms_BOSS5_LAND_PLACEMENT_INFO.pos_x, gms_BOSS5_LAND_PLACEMENT_INFO.pos_y, () => new AppMain.GMS_BOSS5_LAND_WORK(), "BOSS5_LAND"); AppMain.GMS_BOSS5_LAND_WORK land_work = (AppMain.GMS_BOSS5_LAND_WORK)obs_OBJECT_WORK; obs_OBJECT_WORK.pos.z = -524288; obs_OBJECT_WORK.flag |= 16U; obs_OBJECT_WORK.flag &= 4294966271U; obs_OBJECT_WORK.disp_flag &= 4294967263U; obs_OBJECT_WORK.disp_flag |= 4194304U; obs_OBJECT_WORK.move_flag |= 8448U; obs_OBJECT_WORK.move_flag &= 4294967167U; for (int i = 0; i < gms_BOSS5_LAND_PLACEMENT_INFO.part_num; i++) { uint num = (uint)((long)i % 3L); AppMain.gmBoss5LandCreateLdPart(land_work, AppMain.gm_boss5_land_place_pattern_tbl[( int )(( UIntPtr )num)], i); } AppMain.gmBoss5LandSetObjCollisionRect(land_work, gms_BOSS5_LAND_PLACEMENT_INFO.part_num); obs_OBJECT_WORK.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss5LandMain); AppMain.gmBoss5LandProcInit(land_work); return(obs_OBJECT_WORK); }
private static int gmBoss5LandGetPlacementInfo(AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO place_info) { AppMain.GMS_EVE_RECORD_EVENT gmsEveRecordEvent = (AppMain.GMS_EVE_RECORD_EVENT)null; AppMain.OBS_OBJECT_WORK obj_work; for (obj_work = AppMain.ObjObjectSearchRegistObject((AppMain.OBS_OBJECT_WORK)null, (ushort)3); obj_work != null; obj_work = AppMain.ObjObjectSearchRegistObject(obj_work, (ushort)3)) { AppMain.GMS_ENEMY_COM_WORK gmsEnemyComWork = (AppMain.GMS_ENEMY_COM_WORK)obj_work; if (gmsEnemyComWork.eve_rec != null && gmsEnemyComWork.eve_rec.id == (ushort)282) { gmsEveRecordEvent = gmsEnemyComWork.eve_rec; break; } } if (obj_work == null) { AppMain.mppAssertNotImpl(); return(0); } place_info.pos_x = obj_work.pos.x; place_info.pos_y = obj_work.pos.y; int num = (int)gmsEveRecordEvent.left + (int)gmsEveRecordEvent.width << 3; place_info.part_num = (int)((long)num / (long)AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_INT); return(1); }
// Token: 0x060004F9 RID: 1273 RVA: 0x0002AC60 File Offset: 0x00028E60 private static int gmBoss5LandGetPlacementInfo(AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO place_info) { AppMain.GMS_EVE_RECORD_EVENT gms_EVE_RECORD_EVENT = null; AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK; for (obs_OBJECT_WORK = AppMain.ObjObjectSearchRegistObject(null, 3); obs_OBJECT_WORK != null; obs_OBJECT_WORK = AppMain.ObjObjectSearchRegistObject(obs_OBJECT_WORK, 3)) { AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)obs_OBJECT_WORK; if (gms_ENEMY_COM_WORK.eve_rec != null && gms_ENEMY_COM_WORK.eve_rec.id == 282) { gms_EVE_RECORD_EVENT = gms_ENEMY_COM_WORK.eve_rec; break; } } if (obs_OBJECT_WORK == null) { AppMain.mppAssertNotImpl(); return(0); } place_info.pos_x = obs_OBJECT_WORK.pos.x; place_info.pos_y = obs_OBJECT_WORK.pos.y; int num = (int)(gms_EVE_RECORD_EVENT.left + (sbyte)gms_EVE_RECORD_EVENT.width); num <<= 3; place_info.part_num = ( int )(( long )num / ( long )(( ulong )AppMain.GMD_BOSS5_LAND_LDPART_WIDTH_INT)); return(1); }
private static AppMain.OBS_OBJECT_WORK GmBoss5LandInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO place_info = new AppMain.GMS_BOSS5_LAND_PLACEMENT_INFO(); if (AppMain.gmBoss5LandGetPlacementInfo(place_info) == 0) { return((AppMain.OBS_OBJECT_WORK)null); } AppMain.OBS_OBJECT_WORK work = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, place_info.pos_x, place_info.pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_BOSS5_LAND_WORK()), "BOSS5_LAND"); AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work; AppMain.GMS_BOSS5_LAND_WORK land_work = (AppMain.GMS_BOSS5_LAND_WORK)work; work.pos.z = -524288; work.flag |= 16U; work.flag &= 4294966271U; work.disp_flag &= 4294967263U; work.disp_flag |= 4194304U; work.move_flag |= 8448U; work.move_flag &= 4294967167U; for (int part_index = 0; part_index < place_info.part_num; ++part_index) { uint num = (uint)((ulong)part_index % 3UL); AppMain.gmBoss5LandCreateLdPart(land_work, AppMain.gm_boss5_land_place_pattern_tbl[(int)num], part_index); } AppMain.gmBoss5LandSetObjCollisionRect(land_work, place_info.part_num); work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmBoss5LandMain); AppMain.gmBoss5LandProcInit(land_work); return(work); }