private void debugDrawRect( GKRect rect, Color color )
    {
        var bl = new Vector3( rect.xMin, rect.yMin, 0 );
        var br = new Vector3( rect.xMax, rect.yMin, 0 );
        var tl = new Vector3( rect.xMin, rect.yMax, 0 );
        var tr = new Vector3( rect.xMax, rect.yMax, 0 );

        bl = Camera.main.ScreenToWorldPoint( Camera.main.transform.InverseTransformPoint( bl ) );
        br = Camera.main.ScreenToWorldPoint( Camera.main.transform.InverseTransformPoint( br ) );
        tl = Camera.main.ScreenToWorldPoint( Camera.main.transform.InverseTransformPoint( tl ) );
        tr = Camera.main.ScreenToWorldPoint( Camera.main.transform.InverseTransformPoint( tr ) );

        // draw four sides
        Debug.DrawLine( bl, br, color );
        Debug.DrawLine( br, tr, color );
        Debug.DrawLine( tr, tl, color );
        Debug.DrawLine( tl, bl, color );

        // make an "x" at the midpoint
        Debug.DrawLine( tl, br, color );
        Debug.DrawLine( bl, tr, color );
    }
 public GKButtonRecognizer( GKRect defaultFrame, GKRect highlightedFrame )
 {
     _defaultFrame = defaultFrame;
     _highlightedFrame = highlightedFrame;
     boundaryFrame = _defaultFrame;
 }
 public GKButtonRecognizer( GKRect defaultFrame, float highlightedExpansion )
     : this(defaultFrame, defaultFrame.copyWithExpansion( highlightedExpansion ))
 {
 }
 /// <summary>
 /// the contstructors ensure we have a frame to work with for button recognizers
 /// </summary>
 public GKButtonRecognizer( GKRect defaultFrame )
     : this(defaultFrame, 40)
 {
 }