public bool CheckRot(ObjectCtrl _objectCtrl) { Vector3 zero1 = Vector3.get_zero(); Vector3 zero2 = Vector3.get_zero(); _objectCtrl.GetLocalMinMax(_objectCtrl.Position, _objectCtrl.Rotation, this.TransformRoot, ref zero1, ref zero2); Vector3Int vector3Int1; ((Vector3Int) ref vector3Int1).\u002Ector(this.FloorToInt((float)zero1.x), this.FloorToInt((float)zero1.y), this.FloorToInt((float)zero1.z)); Vector3Int vector3Int2; ((Vector3Int) ref vector3Int2).\u002Ector(this.FloorToInt((float)zero2.x), this.FloorToInt((float)zero2.y), this.FloorToInt((float)zero2.z)); Vector3 vector3 = Vector3.op_Multiply(this.GridArea, 0.5f); return(-vector3.x <= (double)((Vector3Int) ref vector3Int1).get_x() && vector3.x >= (double)((Vector3Int) ref vector3Int2).get_x() && 0 <= ((Vector3Int) ref vector3Int1).get_y() && (this.GridArea.y >= (double)((Vector3Int) ref vector3Int2).get_y() && -vector3.z <= (double)((Vector3Int) ref vector3Int1).get_z() && vector3.z >= (double)((Vector3Int) ref vector3Int2).get_z())); }
public bool CorrectPos(ObjectCtrl _objectCtrl, ref Vector3 _pos) { Vector3 zero1 = Vector3.get_zero(); Vector3 zero2 = Vector3.get_zero(); _objectCtrl.GetLocalMinMax(_pos, _objectCtrl.Rotation, this.TransformRoot, ref zero1, ref zero2); Vector3 vector3 = Vector3.op_Multiply(this.GridArea, 0.5f); Vector3 zero3 = Vector3.get_zero(); bool flag = false; if (-vector3.x > zero1.x) { zero3.x = vector3.x + zero1.x; flag = ((flag ? 1 : 0) | 1) != 0; } else if (vector3.x < zero2.x) { zero3.x = zero2.x - vector3.x; flag = ((flag ? 1 : 0) | 1) != 0; } if (0.0 > zero1.y) { zero3.y = zero1.y; flag = ((flag ? 1 : 0) | 1) != 0; } else if (this.GridArea.y < zero2.y) { zero3.y = zero2.y - this.GridArea.y; flag = ((flag ? 1 : 0) | 1) != 0; } if (-vector3.z > zero1.z) { zero3.z = vector3.z + zero1.z; flag = ((flag ? 1 : 0) | 1) != 0; } else if (vector3.z < zero2.z) { zero3.z = zero2.z - vector3.z; flag = ((flag ? 1 : 0) | 1) != 0; } _pos = Vector3.op_Subtraction(_pos, this.TransformRoot.TransformVector(zero3)); return(flag); }