This commit is contained in:
okvdai
2023-04-29 19:13:33 +02:00
parent 2a7d5d3ac6
commit 33def04dda
3 changed files with 54 additions and 6 deletions
+33 -1
View File
@@ -8,6 +8,7 @@ global function getMapKillFromToneAPI
global function getMapDeathFromToneAPI global function getMapDeathFromToneAPI
global function getMapDistFromToneAPI global function getMapDistFromToneAPI
global function getMapMDistFromToneAPI global function getMapMDistFromToneAPI
global function getGamemodeStatsFromToneAPI
global table globalToneAPIKillData = {} global table globalToneAPIKillData = {}
global table globalToneAPIDeathData = {} global table globalToneAPIDeathData = {}
@@ -16,11 +17,13 @@ global table globalToneAPIMapDeathData = {}
global table globalToneAPIMapDistData = {} global table globalToneAPIMapDistData = {}
global table globalToneAPIMapKillData = {} global table globalToneAPIMapKillData = {}
global table globalToneAPIMapMDistData = {} global table globalToneAPIMapMDistData = {}
global table globalToneAPIGamemodeData = {}
string prefix = "default" string prefix = "default"
string HTTPrequestURL = "default" string HTTPrequestURL = "default"
int weaponEntries = 0 int weaponEntries = 0
int mapEntries = 0 int mapEntries = 0
int mapGamemodeEntries = 0
void function pulseInit() void function pulseInit()
{ {
@@ -90,6 +93,35 @@ void function GetMapStatsFromToneAPI()
NSHttpRequest(getMapStats, onSuccess, onFailure) NSHttpRequest(getMapStats, onSuccess, onFailure)
} }
void function getGamemodeStatsFromToneAPI(string mapName)
{
print(prefix + "test")
mapGamemodeEntries = 0
string mapNameSliced = mapName.slice(3)
HttpRequest getMapGamemodeStats
getMapGamemodeStats.method = HttpRequestMethod.GET
getMapGamemodeStats.url = HTTPrequestURL + "/gamemodes"
getMapGamemodeStats.queryParameters["map"] <- [mapNameSliced]
getMapGamemodeStats.queryParameters["player"] <- [NSGetLocalPlayerUID()]
void functionref(HttpRequestResponse) onSuccess = void function(HttpRequestResponse response)
{
table JSONForConversion = DecodeJSON(response.body)
foreach (var key, var value in JSONForConversion) {
table test = expect table(value)
globalToneAPIGamemodeData[string(key)] <- test.kills
mapGamemodeEntries += 1
}
print(prefix + "Map gamemode data has been processed with a total of " + string(mapGamemodeEntries) + " entries.")
}
void functionref(HttpRequestFailure) onFailure = void function(HttpRequestFailure failure)
{
print(prefix + "Encountered an error getting map gamemode data...")
}
NSHttpRequest(getMapGamemodeStats, onSuccess, onFailure)
}
int function getWeaponKillsFromToneAPI(string weaponRef){ int function getWeaponKillsFromToneAPI(string weaponRef){
if(weaponRef in globalToneAPIKillData){ if(weaponRef in globalToneAPIKillData){
@@ -148,4 +180,4 @@ int function getMapDistFromToneAPI(string mapName){
return expect int(globalToneAPIMapDistData[mapName]) return expect int(globalToneAPIMapDistData[mapName])
} }
return 0 return 0
} }
+8
View File
@@ -1,6 +1,10 @@
global function InitViewStatsMenu global function InitViewStatsMenu
struct{
array<string> allMaps
} file
void function InitViewStatsMenu() void function InitViewStatsMenu()
{ {
var menu = GetMenu( "ViewStatsMenu" ) var menu = GetMenu( "ViewStatsMenu" )
@@ -37,6 +41,10 @@ void function InitViewStatsMenu()
void function OnViewStats_Open() void function OnViewStats_Open()
{ {
foreach(elemNum in file.allMaps){
string mapName = expect string(file.allMaps[ elemNum ])
getGamemodeStatsFromToneAPI(mapName)
}
GetWeaponStatsFromToneAPI() GetWeaponStatsFromToneAPI()
GetMapStatsFromToneAPI() GetMapStatsFromToneAPI()
UI_SetPresentationType( ePresentationType.DEFAULT ) UI_SetPresentationType( ePresentationType.DEFAULT )
+13 -5
View File
@@ -141,6 +141,8 @@ void function UpdateStatsForMap( string mapName )
Hud_SetText( Hud_GetChild( file.menu, "WeaponName" ), GetMapDisplayName( mapName ) ) Hud_SetText( Hud_GetChild( file.menu, "WeaponName" ), GetMapDisplayName( mapName ) )
getGamemodeStatsFromToneAPI(mapName)
// Image // Image
var imageElem = Hud_GetRui( Hud_GetChild( file.menu, "WeaponImageLarge" ) ) var imageElem = Hud_GetRui( Hud_GetChild( file.menu, "WeaponImageLarge" ) )
RuiSetImage( imageElem, "basicImage", GetMapImageForMapName( mapName ) ) RuiSetImage( imageElem, "basicImage", GetMapImageForMapName( mapName ) )
@@ -178,13 +180,19 @@ void function UpdateStatsForMap( string mapName )
array<string> gameModesArray = GetPersistenceEnumAsArray( "gameModes" ) array<string> gameModesArray = GetPersistenceEnumAsArray( "gameModes" )
array<PieChartEntry> modes array<PieChartEntry> modes
foreach ( modeName in gameModesArray ) int enumCount = PersistenceGetEnumCount( "gameModes" )
for ( int modeId = 0; modeId < enumCount; modeId++ )
{ {
float modePlayedTime = GetGameStatForMapAndModeFloat( "hoursPlayed", mapName, modeName ) string modeName = PersistenceGetEnumItemNameForIndex( "gameModes", modeId )
if ( modePlayedTime > 0 ) if ( modeName in globalToneAPIGamemodeData )
AddPieChartEntry( modes, GameMode_GetName( modeName ), modePlayedTime, GetGameModeDisplayColor( modeName ) ) {
float modePlayedTime = float(globalToneAPIGamemodeData[modeName])
print(modePlayedTime)
if ( modePlayedTime > 0 ) {
AddPieChartEntry( modes, GameMode_GetName( modeName ), modePlayedTime, GetGameModeDisplayColor( modeName ) )
}
}
} }
const MAX_MODE_ROWS = 8 const MAX_MODE_ROWS = 8
if ( modes.len() > 0 ) if ( modes.len() > 0 )