public override bool DoCheck(Construction.Placement place) { if ((double)Vector3Ex.DotDegrees(this.worldNormal, Quaternion.op_Multiply(place.rotation, Vector3.get_up())) < (double)this.withinDegrees) { return(true); } Construction.lastPlacementError = "Failed Check: AngleCheck (" + this.hierachyName + ")"; return(false); }
public bool IsWeakspot(Transform tx, HitInfo info) { if (Vector3.op_Equality(((Bounds) ref this.bounds).get_size(), Vector3.get_zero())) { return(false); } Matrix4x4 worldToLocalMatrix = tx.get_worldToLocalMatrix(); double num = (double)Vector3Ex.DotDegrees(this.worldForward, ((Matrix4x4) ref worldToLocalMatrix).MultiplyPoint3x4(info.PointStart)); OBB obb; ((OBB) ref obb).\u002Ector(Vector3.op_Addition(tx.get_position(), Quaternion.op_Multiply(tx.get_rotation(), Vector3.op_Addition(Quaternion.op_Multiply(this.worldRotation, ((Bounds) ref this.bounds).get_center()), this.worldPosition))), ((Bounds) ref this.bounds).get_size(), Quaternion.op_Multiply(tx.get_rotation(), this.worldRotation)); if (num > 100.0) { return(((OBB) ref obb).Contains(info.HitPositionWorld)); } return(false); }