public void Clear()
 {
     this.prev          = this.next = this.draw_prev = this.draw_next = (AppMain.OBS_OBJECT_WORK)null;
     this.tcb           = (AppMain.MTS_TASK_TCB)null;
     this.pause_level   = 0;
     this.obj_type      = (ushort)0;
     this.vib_timer     = this.hitstop_timer = this.invincible_timer = 0;
     this.view_out_ofst = (short)0;
     Array.Clear((Array)this.view_out_ofst_plus, 0, this.view_out_ofst_plus.Length);
     this.user_work_OBJECT = (object)null;
     this.user_flag_OBJECT = (object)null;
     this.flag             = 0U;
     this.move_flag        = 0U;
     this.disp_flag        = 0U;
     this.gmk_flag         = 0U;
     this.sys_flag         = 0U;
     this.user_timer       = 0;
     this.dir.Clear();
     this.scale.Clear();
     this.pos.Clear();
     this.ofst.Clear();
     this.prev_ofst.Clear();
     this.parent_ofst.Clear();
     this.lock_obj = (AppMain.OBS_OBJECT_WORK)null;
     this.prev_pos.Clear();
     this.spd.Clear();
     this.spd_add.Clear();
     this.flow.Clear();
     this.move.Clear();
     this.spd_m     = 0;
     this.dir_slope = this.dir_fall = (ushort)0;
     this.spd_slope = this.spd_slope_max = this.spd_fall = this.spd_fall_max = this.push_max = 0;
     this.col_flag  = this.col_flag_prev = 0U;
     Array.Clear((Array)this.field_rect, 0, this.field_rect.Length);
     this.field_ajst_w_db_f = this.field_ajst_w_db_b = this.field_ajst_w_dl_f = this.field_ajst_w_dl_b = (sbyte)0;
     this.field_ajst_w_dt_f = this.field_ajst_w_dt_b = this.field_ajst_w_dr_f = this.field_ajst_w_dr_b = (sbyte)0;
     this.field_ajst_h_db_r = this.field_ajst_h_db_l = this.field_ajst_h_dl_r = this.field_ajst_h_dl_l = (sbyte)0;
     this.field_ajst_h_dt_r = this.field_ajst_h_dt_l = this.field_ajst_h_dr_r = this.field_ajst_h_dr_l = (sbyte)0;
     this.ppFunc            = this.ppIn = this.ppOut = this.ppOutSub = this.ppMove = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     this.ppActCall         = (AppMain.OBS_OBJECT_WORK_Delegate2)null;
     this.ppRec             = this.ppLast = this.ppCol = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
     this.ppViewCheck       = (AppMain.OBS_OBJECT_WORK_Delegate3)null;
     this.ppUserRelease     = this.ppUserReleaseWait;
     this.ride_obj          = this.touch_obj = this.lock_obj = this.locker_obj = (AppMain.OBS_OBJECT_WORK)null;
     this.parent_obj        = (AppMain.OBS_OBJECT_WORK)null;
     this.ex_work           = (object)null;
     this.obj_3d            = (AppMain.OBS_ACTION3D_NN_WORK)null;
     this.obj_3des          = (AppMain.OBS_ACTION3D_ES_WORK)null;
     this.obj_2d            = (AppMain.OBS_ACTION2D_AMA_WORK)null;
     this.col_work          = (AppMain.OBS_COLLISION_WORK)null;
     this.tbl_work          = (AppMain.OBS_TBL_WORK)null;
     this.temp_ofst.Clear();
     this.prev_temp_ofst.Clear();
     this.rect_num  = 0U;
     this.rect_work = (AppMain.ArrayPointer <AppMain.OBS_RECT_WORK>)(AppMain.OBS_RECT_WORK[]) null;
 }
 public AppMain.OBS_OBJECT_WORK Assign(AppMain.OBS_OBJECT_WORK objectWork)
 {
     if (this != objectWork)
     {
         this.prev             = objectWork.prev;
         this.next             = objectWork.next;
         this.draw_prev        = objectWork.draw_prev;
         this.draw_next        = objectWork.draw_next;
         this.tcb              = objectWork.tcb;
         this.pause_level      = objectWork.pause_level;
         this.obj_type         = objectWork.obj_type;
         this.vib_timer        = objectWork.vib_timer;
         this.hitstop_timer    = objectWork.hitstop_timer;
         this.invincible_timer = objectWork.invincible_timer;
         this.view_out_ofst    = objectWork.view_out_ofst;
         for (int index = 0; index < this.view_out_ofst_plus.Length; ++index)
         {
             this.view_out_ofst_plus[index] = objectWork.view_out_ofst_plus[index];
         }
         this.flag       = objectWork.flag;
         this.move_flag  = objectWork.move_flag;
         this.disp_flag  = objectWork.disp_flag;
         this.gmk_flag   = objectWork.gmk_flag;
         this.sys_flag   = objectWork.sys_flag;
         this.user_flag  = objectWork.user_flag;
         this.user_work  = objectWork.user_work;
         this.user_timer = objectWork.user_timer;
         this.dir.Assign(objectWork.dir);
         this.scale.Assign(objectWork.scale);
         this.pos.Assign(objectWork.pos);
         this.ofst.Assign(objectWork.ofst);
         this.prev_ofst.Assign(objectWork.prev_ofst);
         this.parent_ofst.Assign(objectWork.parent_ofst);
         this.lock_ofst.Assign(objectWork.lock_ofst);
         this.prev_pos.Assign(objectWork.prev_pos);
         this.spd.Assign(objectWork.spd);
         this.spd_add.Assign(objectWork.spd_add);
         this.flow.Assign(objectWork.flow);
         this.move.Assign(objectWork.move);
         this.spd_m         = objectWork.spd_m;
         this.dir_slope     = objectWork.dir_slope;
         this.dir_fall      = objectWork.dir_fall;
         this.spd_slope     = objectWork.spd_slope;
         this.spd_slope_max = objectWork.spd_slope_max;
         this.spd_fall      = objectWork.spd_fall;
         this.spd_fall_max  = objectWork.spd_fall_max;
         this.push_max      = objectWork.push_max;
         this.col_flag      = objectWork.col_flag;
         this.col_flag_prev = objectWork.col_flag_prev;
         for (int index = 0; index < this.field_rect.Length; ++index)
         {
             this.field_rect[index] = objectWork.field_rect[index];
         }
         this.field_ajst_w_db_f = objectWork.field_ajst_w_db_f;
         this.field_ajst_w_db_b = objectWork.field_ajst_w_db_b;
         this.field_ajst_w_dl_f = objectWork.field_ajst_w_dl_f;
         this.field_ajst_w_dl_b = objectWork.field_ajst_w_dl_b;
         this.field_ajst_w_dt_f = objectWork.field_ajst_w_dt_f;
         this.field_ajst_w_dt_b = objectWork.field_ajst_w_dt_b;
         this.field_ajst_w_dr_f = objectWork.field_ajst_w_dr_f;
         this.field_ajst_w_dr_b = objectWork.field_ajst_w_dr_b;
         this.field_ajst_h_db_r = objectWork.field_ajst_h_db_r;
         this.field_ajst_h_db_l = objectWork.field_ajst_h_db_l;
         this.field_ajst_h_dl_r = objectWork.field_ajst_h_dl_r;
         this.field_ajst_h_dl_l = objectWork.field_ajst_h_dl_l;
         this.field_ajst_h_dt_r = objectWork.field_ajst_h_dt_r;
         this.field_ajst_h_dt_l = objectWork.field_ajst_h_dt_l;
         this.field_ajst_h_dr_r = objectWork.field_ajst_h_dr_r;
         this.field_ajst_h_dr_l = objectWork.field_ajst_h_dr_l;
         this.ppFunc            = objectWork.ppFunc;
         this.ppIn              = objectWork.ppIn;
         this.ppOut             = objectWork.ppOut;
         this.ppOutSub          = objectWork.ppOutSub;
         this.ppMove            = objectWork.ppMove;
         this.ppActCall         = objectWork.ppActCall;
         this.ppRec             = objectWork.ppRec;
         this.ppLast            = objectWork.ppLast;
         this.ppCol             = objectWork.ppCol;
         this.ppViewCheck       = objectWork.ppViewCheck;
         this.ppUserRelease     = objectWork.ppUserRelease;
         this.ppUserReleaseWait = objectWork.ppUserReleaseWait;
         this.ride_obj          = objectWork.ride_obj;
         this.touch_obj         = objectWork.touch_obj;
         this.parent_obj        = objectWork.parent_obj;
         this.lock_obj          = objectWork.lock_obj;
         this.locker_obj        = objectWork.locker_obj;
         this.ex_work           = objectWork.ex_work;
         this.obj_3d            = objectWork.obj_3d;
         this.obj_3des          = objectWork.obj_3des;
         this.obj_2d            = objectWork.obj_2d;
         this.col_work          = objectWork.col_work;
         this.tbl_work          = objectWork.tbl_work;
         this.temp_ofst.Assign(objectWork.temp_ofst);
         this.prev_temp_ofst.Assign(objectWork.prev_temp_ofst);
         this.rect_num  = objectWork.rect_num;
         this.rect_work = objectWork.rect_work;
     }
     return(this);
 }