mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-27 07:44:31 +02:00
Remember dex order/filter select menu indexes
This commit is contained in:
parent
84f200af4a
commit
a43d9d8354
@ -363,6 +363,14 @@ Public Class PokedexScreen
|
|||||||
Public PokemonList As New List(Of Pokemon)
|
Public PokemonList As New List(Of Pokemon)
|
||||||
Dim menu As SelectMenu
|
Dim menu As SelectMenu
|
||||||
|
|
||||||
|
Public SelectIndexMain As Integer = 0
|
||||||
|
Public OrderIndexMain As Integer = 0
|
||||||
|
Public OrderIndexType As Integer = 0
|
||||||
|
Public FilterIndexMain As Integer = 0
|
||||||
|
Public FilterIndexName As Integer = 0
|
||||||
|
Public FilterIndexType1 As Integer = 0
|
||||||
|
Public FilterIndexType2 As Integer = 0
|
||||||
|
|
||||||
Public Sub New(ByVal currentScreen As Screen, ByVal Profile As PokedexSelectScreen.PokedexProfile, ByVal Habitat As Habitat)
|
Public Sub New(ByVal currentScreen As Screen, ByVal Profile As PokedexSelectScreen.PokedexProfile, ByVal Habitat As Habitat)
|
||||||
Me.Identification = Identifications.PokedexScreen
|
Me.Identification = Identifications.PokedexScreen
|
||||||
Me.PreScreen = currentScreen
|
Me.PreScreen = currentScreen
|
||||||
@ -886,7 +894,7 @@ Public Class PokedexScreen
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If KeyBoardHandler.KeyPressed(KeyBindings.SpecialKey) = True Or ControllerHandler.ButtonPressed(Buttons.Back) = True Then
|
If KeyBoardHandler.KeyPressed(KeyBindings.SpecialKey) = True Or ControllerHandler.ButtonPressed(Buttons.Back) = True Then
|
||||||
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), 0, AddressOf SelectMenu1, 3)
|
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), SelectIndexMain, AddressOf SelectMenu1, 3, "selectmain")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Controls.Dismiss(True, True, True) = True Then
|
If Controls.Dismiss(True, True, True) = True Then
|
||||||
@ -940,9 +948,9 @@ Public Class PokedexScreen
|
|||||||
Private Sub SelectMenu1(ByVal s As SelectMenu)
|
Private Sub SelectMenu1(ByVal s As SelectMenu)
|
||||||
Select Case s.SelectedItem.ToLower()
|
Select Case s.SelectedItem.ToLower()
|
||||||
Case "order"
|
Case "order"
|
||||||
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), 0, AddressOf SelectMenuOrder, 2)
|
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), OrderIndexMain, AddressOf SelectMenuOrder, 2, "ordermain")
|
||||||
Case "filter"
|
Case "filter"
|
||||||
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), 0, AddressOf SelectMenuFilter, 4)
|
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), FilterIndexMain, AddressOf SelectMenuFilter, 4, "filtermain")
|
||||||
Case "reset"
|
Case "reset"
|
||||||
Me.Filters.Clear()
|
Me.Filters.Clear()
|
||||||
Me.ReverseOrder = False
|
Me.ReverseOrder = False
|
||||||
@ -954,16 +962,16 @@ Public Class PokedexScreen
|
|||||||
Private Sub SelectMenuFilter(ByVal s As SelectMenu)
|
Private Sub SelectMenuFilter(ByVal s As SelectMenu)
|
||||||
Select Case s.SelectedItem.ToLower()
|
Select Case s.SelectedItem.ToLower()
|
||||||
Case "name"
|
Case "name"
|
||||||
Me.menu = New SelectMenu({"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Back"}.ToList(), 0, AddressOf SelectMenuNameFilter, -1)
|
Me.menu = New SelectMenu({"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Back"}.ToList(), FilterIndexName, AddressOf SelectMenuNameFilter, -1, "filtername")
|
||||||
Case "type1"
|
Case "type1"
|
||||||
Me.menu = New SelectMenu({"Normal", "Fire", "Fighting", "Water", "Flying", "Grass", "Poison", "Electric", "Ground", "Psychic", "Rock", "Ice", "Bug", "Dragon", "Ghost", "Dark", "Steel", "Fairy", "Blank", "Back"}.ToList(), 0, AddressOf SelectMenuType1Filter, -1)
|
Me.menu = New SelectMenu({"Normal", "Fire", "Fighting", "Water", "Flying", "Grass", "Poison", "Electric", "Ground", "Psychic", "Rock", "Ice", "Bug", "Dragon", "Ghost", "Dark", "Steel", "Fairy", "Blank", "Back"}.ToList(), FilterIndexType1, AddressOf SelectMenuType1Filter, -1, "filtertype1")
|
||||||
Case "type2"
|
Case "type2"
|
||||||
Me.menu = New SelectMenu({"Normal", "Fire", "Fighting", "Water", "Flying", "Grass", "Poison", "Electric", "Ground", "Psychic", "Rock", "Ice", "Bug", "Dragon", "Ghost", "Dark", "Steel", "Fairy", "Blank", "Back"}.ToList(), 0, AddressOf SelectMenuType2Filter, -1)
|
Me.menu = New SelectMenu({"Normal", "Fire", "Fighting", "Water", "Flying", "Grass", "Poison", "Electric", "Ground", "Psychic", "Rock", "Ice", "Bug", "Dragon", "Ghost", "Dark", "Steel", "Fairy", "Blank", "Back"}.ToList(), FilterIndexType2, AddressOf SelectMenuType2Filter, -1, "filtertype2")
|
||||||
Case "clear"
|
Case "clear"
|
||||||
Me.Filters.Clear()
|
Me.Filters.Clear()
|
||||||
Me.SetList()
|
Me.SetList()
|
||||||
Case "back"
|
Case "back"
|
||||||
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), 0, AddressOf SelectMenu1, 3)
|
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), SelectIndexMain, AddressOf SelectMenu1, 3, "selectmain")
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -979,7 +987,7 @@ Public Class PokedexScreen
|
|||||||
Filters.Add(New Filter With {.FilterType = FilterType.Type1, .FilterValue = s.SelectedItem})
|
Filters.Add(New Filter With {.FilterType = FilterType.Type1, .FilterValue = s.SelectedItem})
|
||||||
SetList()
|
SetList()
|
||||||
Else
|
Else
|
||||||
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), 0, AddressOf SelectMenuFilter, 4)
|
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), FilterIndexMain, AddressOf SelectMenuFilter, 4, "filtermain")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -995,7 +1003,7 @@ Public Class PokedexScreen
|
|||||||
Filters.Add(New Filter With {.FilterType = FilterType.Type2, .FilterValue = s.SelectedItem})
|
Filters.Add(New Filter With {.FilterType = FilterType.Type2, .FilterValue = s.SelectedItem})
|
||||||
SetList()
|
SetList()
|
||||||
Else
|
Else
|
||||||
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), 0, AddressOf SelectMenuFilter, 4)
|
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), FilterIndexMain, AddressOf SelectMenuFilter, 4, "filtermain")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -1011,20 +1019,20 @@ Public Class PokedexScreen
|
|||||||
Filters.Add(New Filter With {.FilterType = FilterType.Name, .FilterValue = s.SelectedItem})
|
Filters.Add(New Filter With {.FilterType = FilterType.Name, .FilterValue = s.SelectedItem})
|
||||||
SetList()
|
SetList()
|
||||||
Else
|
Else
|
||||||
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), 0, AddressOf SelectMenuFilter, 4)
|
Me.menu = New SelectMenu({"Name", "Type1", "Type2", "Clear", "Back"}.ToList(), FilterIndexMain, AddressOf SelectMenuFilter, 4, "filtermain")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub SelectMenuOrder(ByVal s As SelectMenu)
|
Private Sub SelectMenuOrder(ByVal s As SelectMenu)
|
||||||
Select Case s.SelectedItem.ToLower()
|
Select Case s.SelectedItem.ToLower()
|
||||||
Case "type"
|
Case "type"
|
||||||
Me.menu = New SelectMenu({"Numeric", "A-Z", "Weight", "Height", "Back"}.ToList(), 0, AddressOf SelectMenuOrderType, 4)
|
Me.menu = New SelectMenu({"Numeric", "A-Z", "Weight", "Height", "Back"}.ToList(), OrderIndexType, AddressOf SelectMenuOrderType, 4, "ordertype")
|
||||||
Case "reverse: " & Me.ReverseOrder.ToString().ToLower()
|
Case "reverse: " & Me.ReverseOrder.ToString().ToLower()
|
||||||
Me.ReverseOrder = Not Me.ReverseOrder
|
Me.ReverseOrder = Not Me.ReverseOrder
|
||||||
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), 0, AddressOf SelectMenuOrder, 2)
|
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), OrderIndexMain, AddressOf SelectMenuOrder, 2, "ordermain")
|
||||||
Me.SetList()
|
Me.SetList()
|
||||||
Case "back"
|
Case "back"
|
||||||
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), 0, AddressOf SelectMenu1, 3)
|
Me.menu = New SelectMenu({"Order", "Filter", "Reset", "Back"}.ToList(), SelectIndexMain, AddressOf SelectMenu1, 3, "selectmain")
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -1043,7 +1051,7 @@ Public Class PokedexScreen
|
|||||||
Me.Order = OrderType.Height
|
Me.Order = OrderType.Height
|
||||||
Me.SetList()
|
Me.SetList()
|
||||||
Case "back"
|
Case "back"
|
||||||
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), 0, AddressOf SelectMenuOrder, 2)
|
Me.menu = New SelectMenu({"Type", "Reverse: " & Me.ReverseOrder.ToString(), "Back"}.ToList(), OrderIndexMain, AddressOf SelectMenuOrder, 2, "ordermain")
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -1053,6 +1061,7 @@ Public Class PokedexScreen
|
|||||||
|
|
||||||
Dim Items As New List(Of String)
|
Dim Items As New List(Of String)
|
||||||
Dim Index As Integer = 0
|
Dim Index As Integer = 0
|
||||||
|
Dim RememberVar As String = ""
|
||||||
Public Delegate Sub ClickEvent(ByVal s As SelectMenu)
|
Public Delegate Sub ClickEvent(ByVal s As SelectMenu)
|
||||||
Dim ClickHandler As ClickEvent = Nothing
|
Dim ClickHandler As ClickEvent = Nothing
|
||||||
Dim BackIndex As Integer = 0
|
Dim BackIndex As Integer = 0
|
||||||
@ -1062,11 +1071,14 @@ Public Class PokedexScreen
|
|||||||
Dim t1 As Texture2D
|
Dim t1 As Texture2D
|
||||||
Dim t2 As Texture2D
|
Dim t2 As Texture2D
|
||||||
|
|
||||||
Public Sub New(ByVal Items As List(Of String), ByVal Index As Integer, ByVal ClickHandle As ClickEvent, ByVal BackIndex As Integer)
|
Public Sub New(ByVal Items As List(Of String), ByVal Index As Integer, ByVal ClickHandle As ClickEvent, ByVal BackIndex As Integer, Optional ByRef RememberVar As String = "")
|
||||||
Me.Items = Items
|
Me.Items = Items
|
||||||
Me.Index = Index
|
Me.Index = Index
|
||||||
Me.ClickHandler = ClickHandle
|
Me.ClickHandler = ClickHandle
|
||||||
Me.BackIndex = BackIndex
|
Me.BackIndex = BackIndex
|
||||||
|
If RememberVar <> "" Then
|
||||||
|
Me.RememberVar = RememberVar
|
||||||
|
End If
|
||||||
If Me.BackIndex < 0 Then
|
If Me.BackIndex < 0 Then
|
||||||
Me.BackIndex = Me.Items.Count + Me.BackIndex
|
Me.BackIndex = Me.Items.Count + Me.BackIndex
|
||||||
End If
|
End If
|
||||||
@ -1086,6 +1098,23 @@ Public Class PokedexScreen
|
|||||||
End If
|
End If
|
||||||
Me.Index = Me.Index.Clamp(0, Me.Items.Count - 1)
|
Me.Index = Me.Index.Clamp(0, Me.Items.Count - 1)
|
||||||
|
|
||||||
|
Select Case Me.RememberVar.ToLower
|
||||||
|
Case "selectmain"
|
||||||
|
CType(CurrentScreen, PokedexScreen).SelectIndexMain = Me.Index
|
||||||
|
Case "ordermain"
|
||||||
|
CType(CurrentScreen, PokedexScreen).OrderIndexMain = Me.Index
|
||||||
|
Case "ordertype"
|
||||||
|
CType(CurrentScreen, PokedexScreen).OrderIndexType = Me.Index
|
||||||
|
Case "filtermain"
|
||||||
|
CType(CurrentScreen, PokedexScreen).FilterIndexMain = Me.Index
|
||||||
|
Case "filtername"
|
||||||
|
CType(CurrentScreen, PokedexScreen).FilterIndexName = Me.Index
|
||||||
|
Case "filtertype1"
|
||||||
|
CType(CurrentScreen, PokedexScreen).FilterIndexType1 = Me.Index
|
||||||
|
Case "filtertype2"
|
||||||
|
CType(CurrentScreen, PokedexScreen).FilterIndexType2 = Me.Index
|
||||||
|
End Select
|
||||||
|
|
||||||
For i = Scroll To Me.Scroll + 8
|
For i = Scroll To Me.Scroll + 8
|
||||||
If i <= Me.Items.Count - 1 Then
|
If i <= Me.Items.Count - 1 Then
|
||||||
If Controls.Accept(True, False, False) = True And i = Me.Index And New Rectangle(Core.windowSize.Width - 270, 66 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True Or
|
If Controls.Accept(True, False, False) = True And i = Me.Index And New Rectangle(Core.windowSize.Width - 270, 66 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True Or
|
||||||
|
Loading…
x
Reference in New Issue
Block a user