50 lines
1.6 KiB
VB.net
50 lines
1.6 KiB
VB.net
Public Class PlayerStatistics
|
|
|
|
Shared Statistics As New Dictionary(Of String, Integer)
|
|
|
|
Public Shared Sub Load(ByVal data As String)
|
|
Statistics.Clear()
|
|
For Each line As String In data.SplitAtNewline()
|
|
If line.Contains(",") = True Then
|
|
Dim statName As String = line.Remove(line.IndexOf(","))
|
|
Dim statValue As Integer = CInt(line.Remove(0, line.IndexOf(",") + 1))
|
|
|
|
If Statistics.ContainsKey(statName) = True Then
|
|
Statistics.Remove(statName)
|
|
End If
|
|
Statistics.Add(statName, statValue)
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Public Shared Sub Track(ByVal statName As String, ByVal addition As Integer)
|
|
If Statistics.ContainsKey(statName) = True Then
|
|
Dim currentValue As Integer = Statistics(statName)
|
|
Statistics.Remove(statName)
|
|
|
|
Statistics.Add(statName, currentValue + addition)
|
|
Else
|
|
Statistics.Add(statName, addition)
|
|
End If
|
|
|
|
If GameJolt.API.LoggedIn = True Then
|
|
GameJolt.GameJoltStatistics.Track(statName, addition)
|
|
End If
|
|
End Sub
|
|
|
|
Public Shared Function GetData() As String
|
|
Dim s As String = ""
|
|
For i = 0 To Statistics.Count - 1
|
|
If s <> "" Then
|
|
s &= Environment.NewLine
|
|
End If
|
|
s &= Statistics.Keys(i) & "," & Statistics.Values(i).ToString()
|
|
Next
|
|
Return s
|
|
End Function
|
|
|
|
Public Shared Function CountStatistics() As Integer
|
|
Return Statistics.Count
|
|
End Function
|
|
|
|
End Class |