Fixed JoinServerScreen related bugs, and some other minor fixes

This commit is contained in:
CaptainSegis 2017-04-28 12:44:20 -05:00
parent 5b40b2fa9d
commit e03c5d1285
5 changed files with 53 additions and 14 deletions

View File

@ -396,7 +396,7 @@
Private IniMusic As String = ""
Private DefeatMusic As String = ""
Private BattleMusic As String = ""
Private InSightMusic As String = "battle/encounter/trainer"
Private InSightMusic As String = "encounter\trainer"
Public Function GetIniMusicName() As String
If IniMusic <> "" Then

View File

@ -208,7 +208,7 @@
End Select
If Controls.Dismiss(True, False, True) = True Then
Core.SetScreen(Me.PreScreen)
ButtonCancel()
End If
End Sub
@ -236,18 +236,43 @@
Private Sub ButtonDone()
If IsValid() = "" Then
Dim data As List(Of String) = System.IO.File.ReadAllLines(GameController.GamePath & "\Save\server_list.dat").ToList()
data.Add(Me.IdentifyName & "," & Me.Address)
System.IO.File.WriteAllLines(GameController.GamePath & "\Save\server_list.dat", data.ToArray())
Dim jsonData As String = File.ReadAllText(GameController.GamePath & "\Save\server_list.dat")
Dim dModel As New DataModel.Json.PlayerData.ServerListModel
dModel = DataModel.Json.JsonDataModel.FromString(Of DataModel.Json.PlayerData.ServerListModel)(jsonData)
Dim sList As New List(Of JoinServerScreen.Server)
For Each serverModel In dModel.Servers
Dim listedServer As New JoinServerScreen.Server(serverModel.ListName, serverModel.IpAddress & ":" & serverModel.Port.ToString())
sList.Add(listedServer)
Next
sList.Add(New JoinServerScreen.Server(Me.IdentifyName, Me.Address))
JoinServerScreen.SaveServerlist(sList, dModel)
'Dim data As List(Of String) = System.IO.File.ReadAllLines(GameController.GamePath & "\Save\server_list.dat").ToList()
'data.Add(Me.IdentifyName & "," & Me.Address)
'System.IO.File.WriteAllLines(GameController.GamePath & "\Save\server_list.dat", data.ToArray())
Core.SetScreen(Me.PreScreen)
End If
End Sub
Private Sub ButtonCancel()
If NewServer = False Then
Dim data As List(Of String) = System.IO.File.ReadAllLines(GameController.GamePath & "\Save\server_list.dat").ToList()
data.Add(EditServer.ToString())
System.IO.File.WriteAllLines(GameController.GamePath & "\Save\server_list.dat", data.ToArray())
Dim jsonData As String = File.ReadAllText(GameController.GamePath & "\Save\server_list.dat")
Dim dModel As New DataModel.Json.PlayerData.ServerListModel
dModel = DataModel.Json.JsonDataModel.FromString(Of DataModel.Json.PlayerData.ServerListModel)(jsonData)
Dim sList As New List(Of JoinServerScreen.Server)
For Each serverModel In dModel.Servers
Dim listedServer As New JoinServerScreen.Server(serverModel.ListName, serverModel.IpAddress & ":" & serverModel.Port.ToString())
sList.Add(listedServer)
Next
sList.Add(EditServer)
JoinServerScreen.SaveServerlist(sList, dModel)
'Dim data As List(Of String) = System.IO.File.ReadAllLines(GameController.GamePath & "\Save\server_list.dat").ToList()
'data.Add(EditServer.ToString())
'System.IO.File.WriteAllLines(GameController.GamePath & "\Save\server_list.dat", data.ToArray())
End If
Core.SetScreen(Me.PreScreen)

View File

@ -60,7 +60,17 @@ Public Class JoinServerScreen
Try
_dataModel = DataModel.Json.JsonDataModel.FromString(Of DataModel.Json.PlayerData.ServerListModel)(jsonData)
For Each serverModel In _dataModel.Servers
ServerList.Add(New Server(serverModel.ListName, serverModel.IpAddress & ":" & serverModel.Port.ToString()))
Dim listedServer As New Server(serverModel.ListName, serverModel.IpAddress & ":" & serverModel.Port.ToString())
Dim addToList As Boolean = True
For Each Server In ServerList
If Server.IdentifierName = listedServer.IdentifierName AndAlso Server.IP = listedServer.IP AndAlso Server.Port = listedServer.Port Then
addToList = False
Exit For
End If
Next
If addToList Then
ServerList.Add(listedServer)
End If
Next
Catch ex As Exception
Logger.Log("300", Logger.LogTypes.Message, "Failed to load server_list.dat. Create default content.")
@ -699,18 +709,22 @@ Public Class JoinServerScreen
End Sub
Private Sub SaveServerlist()
SaveServerlist(ServerList, _dataModel)
End Sub
Public Shared Sub SaveServerlist(ByRef sList As List(Of Server), ByRef dModel As DataModel.Json.PlayerData.ServerListModel)
Dim serverModels As New List(Of DataModel.Json.PlayerData.ServerListModel.ServerModel)
For Each server In ServerList
For Each server In sList
serverModels.Add(New DataModel.Json.PlayerData.ServerListModel.ServerModel() With {
.IpAddress = server.IP,
.ListName = server.IdentifierName,
.Port = CInt(server.Port)})
Next
_dataModel.Servers = serverModels.ToArray()
dModel.Servers = serverModels.ToArray()
Dim jsonData As String = _dataModel.ToString(" ")
Dim jsonData As String = dModel.ToString(" ")
File.WriteAllText(GameController.GamePath & "\Save\server_list.dat", jsonData)
End Sub
End Class

View File

@ -142,7 +142,7 @@
Camera = New BattleSystem.BattleCamera()
Level = New Level()
Level.Load("indigo\halloffame_interface.dat")
Level.Load("shared\indigo\halloffame_interface.dat")
ResetCamera()
Me.loadedLevel = True

View File

@ -1,6 +1,6 @@
listen channels (range)|overwrite channels (range)|channel name|Region|TimeOfDay (range)|Card Requirements (range)|Music|[SPECIAL]/(Script)/Text|CanBeOverwritten|Activation (0=Always,1=LevelChannel)|Activation Register (0=no register)
{4.5|4.5|Pokédex Show|Johto|0,3|RADIO|event\show_me_around|[POKEDEXENTRY]|1|0|0}
{4.5|4.5|Pokédex Show|Johto|0,3|RADIO|event\showmearound|[POKEDEXENTRY]|1|0|0}
{4.5|4.5|Pokémon Talk|Johto|1,2|RADIO|building\oakslab|[RANDOMPOKEMON]|1|0|0}
{7.5|7.5|Pokémon Music|Johto|0,3|RADIO|radio\lullaby|Hi there, folks.~This is DJ Ben. And you are listening to Pokémon Music.~We are bringing you the song that fits this time of the day:~The Pokémon Lullaby.|1|0|0}
{7.5|7.5|Pokémon Music|Johto|1,2|RADIO|radio\march|Hi there, folks.~This is DJ Ben. And you are listening to Pokémon Music.~We are bringing you the song that fits this time of the day:~The Pokémon March.|1|0|0}