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);
    }