示例#1
0
 private static void drawModernButton(int myID, int x, int y, int width, int height, string text,
     Color? selectedColor, Texture2D tex)
 {
     var num1 = width > 65 ? 13 : 0;
     if (!selectedColor.HasValue)
         selectedColor = GuiData.Default_Trans_Grey_Strong;
     var destinationRectangle = GuiData.tmpRect;
     destinationRectangle.X = x;
     destinationRectangle.Y = y;
     destinationRectangle.Width = width;
     destinationRectangle.Height = height;
     if (tex.Equals(Utils.white))
     {
         if (!outlineOnly)
         {
             GuiData.spriteBatch.Draw(Utils.white, destinationRectangle,
                 GuiData.hot == myID
                     ? (GuiData.active == myID
                         ? GuiData.Default_Trans_Grey_Dark
                         : GuiData.Default_Trans_Grey_Bright)
                     : GuiData.Default_Trans_Grey);
             destinationRectangle.Width = num1;
             GuiData.spriteBatch.Draw(Utils.white, destinationRectangle, selectedColor.Value);
         }
         RenderedRectangle.doRectangleOutline(x, y, width, height, 1,
             outlineOnly ? selectedColor : GuiData.Default_Trans_Grey_Solid);
     }
     else
         GuiData.spriteBatch.Draw(tex, destinationRectangle,
             GuiData.hot == myID
                 ? (GuiData.active == myID ? GuiData.Default_Unselected_Color : GuiData.Default_Lit_Backing_Color)
                 : selectedColor.Value);
     var spriteFont = smallButtonDraw ? GuiData.detailfont : GuiData.tinyfont;
     var scale = spriteFont.MeasureString(text);
     var num2 = scale.Y;
     scale.X = scale.X <= (double) (width - 4) ? 1f : (width - (4 + num1 + 5))/scale.X;
     scale.Y = scale.Y <= (double) height ? 1f : height/scale.Y;
     scale.X = Math.Min(scale.X, scale.Y);
     scale.Y = scale.X;
     var num3 = num1 + 4;
     var num4 = num2*scale.Y;
     var y1 = (float) (y + height/2.0 - num4/2.0 + 1.0);
     GuiData.spriteBatch.DrawString(spriteFont, text, new Vector2(x + 2 + num3, y1), Color.White, 0.0f,
         Vector2.Zero, scale, SpriteEffects.None, 0.5f);
 }
示例#2
0
 public static bool tracing(Texture2D tok, int row)
 {
     for (int c = 0; c < token[row].Count; c++)
         if (tok.Equals(token[row][c]))
         {
             Pox[row, c] = c;
             amount[row, c]++; return false;
         }
     return true;
 }