Better implementation of the ChooseBox texture
This commit is contained in:
parent
9058caa13a
commit
249a93bc3f
Binary file not shown.
Before Width: | Height: | Size: 738 B After Width: | Height: | Size: 312 B |
|
@ -147,11 +147,7 @@
|
|||
With Core.SpriteBatch
|
||||
'Bounding box
|
||||
If DrawBox Then
|
||||
.Draw(TextureManager.GetTexture("GUI\Overworld\ChooseBox"), New Rectangle(CInt(Position.X), CInt(Position.Y), 288, 48), New Rectangle(0, 0, 96, 16), Color.White)
|
||||
For i = 0 To Options.Count - 2
|
||||
.Draw(TextureManager.GetTexture("GUI\Overworld\ChooseBox"), New Rectangle(CInt(Position.X), CInt(Position.Y) + 48 + i * 48, 288, 48), New Rectangle(0, 16, 96, 16), Color.White)
|
||||
Next
|
||||
.Draw(TextureManager.GetTexture("GUI\Overworld\ChooseBox"), New Rectangle(CInt(Position.X), CInt(Position.Y) + 96 + (Options.Count - 2) * 48, 288, 48), New Rectangle(0, 32, 96, 16), Color.White)
|
||||
Canvas.DrawImageBorder(TextureManager.GetTexture("GUI\Overworld\ChooseBox", New Rectangle(0, 0, 72, 48), ""), 3, New Rectangle(CInt(Position.X), CInt(Position.Y), 360, CInt(48 * Options.Count)), True)
|
||||
End If
|
||||
'Text
|
||||
For i = 0 To Options.Count - 1
|
||||
|
@ -160,10 +156,10 @@
|
|||
Case "textfont", "braille"
|
||||
useSize = 2 * Size
|
||||
End Select
|
||||
.DrawString(Me.TextFont.SpriteFont, Options(i).Replace("[POKE]", "Poké"), New Vector2(CInt(Position.X + 40), CInt(Position.Y) + 32 + i * 48 * Size), Color.Black, 0.0F, Vector2.Zero, useSize, SpriteEffects.None, 0.0F)
|
||||
.DrawString(Me.TextFont.SpriteFont, Options(i).Replace("[POKE]", "Poké"), New Vector2(CInt(Position.X + 48), CInt(Position.Y) + 32 + i * 48 * Size), Color.Black, 0.0F, Vector2.Zero, useSize, SpriteEffects.None, 0.0F)
|
||||
Next
|
||||
'Cursor
|
||||
.Draw(TextureManager.GetTexture("GUI\Overworld\ChooseBox"), New Rectangle(CInt(Position.X + 20), CInt(Position.Y) + 36 + CInt(index * 48 * Size), CInt(10 * Size), CInt(20 * Size)), New Rectangle(96, 0, 3, 6), Color.White)
|
||||
.Draw(TextureManager.GetTexture("GUI\Overworld\ChooseBox"), New Rectangle(CInt(Position.X + 24), CInt(Position.Y) + 34 + CInt(index * 48 * Size), CInt(24 * Size), CInt(24 * Size)), New Rectangle(72, 0, 8, 8), Color.White)
|
||||
End With
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -36,11 +36,11 @@
|
|||
DrawRectangle(New Rectangle(Rectangle.X, Rectangle.Y, borderLength, Rectangle.Height - borderLength), color, ScaleToScreen)
|
||||
End Sub
|
||||
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMulitiplier As Integer, ByVal Rectangle As Rectangle, ByVal Color As Color, ByVal ScaleToScreen As Boolean)
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMultiplier As Integer, ByVal Rectangle As Rectangle, ByVal Color As Color, ByVal ScaleToScreen As Boolean)
|
||||
Dim borderSize As New Vector2(Rectangle.Width, Rectangle.Height)
|
||||
|
||||
For x = 0 To borderSize.X Step CInt(Math.Floor(Texture.Width / 3)) * SizeMulitiplier
|
||||
For y = 0 To borderSize.Y Step CInt(Math.Floor(Texture.Height / 3)) * SizeMulitiplier
|
||||
For x = 0 To borderSize.X Step CInt(Math.Floor(Texture.Width / 3)) * SizeMultiplier
|
||||
For y = 0 To borderSize.Y Step CInt(Math.Floor(Texture.Height / 3)) * SizeMultiplier
|
||||
|
||||
Dim width As Integer = CInt(Math.Floor(Texture.Width / 3))
|
||||
Dim height As Integer = CInt(Math.Floor(Texture.Height / 3))
|
||||
|
@ -65,20 +65,20 @@
|
|||
End If
|
||||
|
||||
If ScaleToScreen = True Then
|
||||
Core.SpriteBatch.DrawInterface(Texture, New Rectangle(CInt(Math.Floor(x)) + Rectangle.X, CInt(Math.Floor(y)) + Rectangle.Y, SizeMulitiplier * width, SizeMulitiplier * height), Tile, Color.White)
|
||||
Core.SpriteBatch.DrawInterface(Texture, New Rectangle(CInt(Math.Floor(x)) + Rectangle.X, CInt(Math.Floor(y)) + Rectangle.Y, SizeMultiplier * width, SizeMultiplier * height), Tile, Color.White)
|
||||
Else
|
||||
Core.SpriteBatch.Draw(Texture, New Rectangle(CInt(Math.Floor(x)) + Rectangle.X, CInt(Math.Floor(y)) + Rectangle.Y, SizeMulitiplier * width, SizeMulitiplier * height), Tile, Color.White)
|
||||
Core.SpriteBatch.Draw(Texture, New Rectangle(CInt(Math.Floor(x)) + Rectangle.X, CInt(Math.Floor(y)) + Rectangle.Y, SizeMultiplier * width, SizeMultiplier * height), Tile, Color.White)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMulitiplier As Integer, ByVal Rectangle As Rectangle)
|
||||
DrawImageBorder(Texture, SizeMulitiplier, Rectangle, Color.White, False)
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMultiplier As Integer, ByVal Rectangle As Rectangle)
|
||||
DrawImageBorder(Texture, SizeMultiplier, Rectangle, Color.White, False)
|
||||
End Sub
|
||||
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMulitiplier As Integer, ByVal Rectangle As Rectangle, ByVal ScaleToScreen As Boolean)
|
||||
DrawImageBorder(Texture, SizeMulitiplier, Rectangle, Color.White, ScaleToScreen)
|
||||
Public Shared Sub DrawImageBorder(ByVal Texture As Texture2D, ByVal SizeMultiplier As Integer, ByVal Rectangle As Rectangle, ByVal ScaleToScreen As Boolean)
|
||||
DrawImageBorder(Texture, SizeMultiplier, Rectangle, Color.White, ScaleToScreen)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
|
Loading…
Reference in New Issue