From 9a96d0bff56f1969c68bb52a2f33296095bdc67d Mon Sep 17 00:00:00 2001 From: BobTheBob <32057864+BobTheBob9@users.noreply.github.com> Date: Tue, 31 Aug 2021 23:14:58 +0100 Subject: move to new mod format --- .../menu_ns_custom_match_settings_categories.nut | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Northstar.Client/mod/scripts/vscripts/ui/menu_ns_custom_match_settings_categories.nut (limited to 'Northstar.Client/mod/scripts/vscripts/ui/menu_ns_custom_match_settings_categories.nut') diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_custom_match_settings_categories.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_custom_match_settings_categories.nut new file mode 100644 index 000000000..711cbbbcf --- /dev/null +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_custom_match_settings_categories.nut @@ -0,0 +1,68 @@ +global function AddNorthstarCustomMatchSettingsCategoryMenu + +void function AddNorthstarCustomMatchSettingsCategoryMenu() +{ + AddMenu( "CustomMatchSettingsCategoryMenu", $"resource/ui/menus/custom_match_settings_categories.menu", InitNorthstarCustomMatchSettingsCategoryMenu, "#MENU_MATCH_SETTINGS" ) +} + +void function InitNorthstarCustomMatchSettingsCategoryMenu() +{ + AddMenuEventHandler( GetMenu( "CustomMatchSettingsCategoryMenu" ), eUIEvent.MENU_OPEN, OnNorthstarCustomMatchSettingsCategoryMenuOpened ) + AddMenuFooterOption( GetMenu( "CustomMatchSettingsCategoryMenu" ), BUTTON_B, "#B_BUTTON_BACK", "#BACK" ) + AddMenuFooterOption( GetMenu( "CustomMatchSettingsCategoryMenu" ), BUTTON_Y, "#Y_BUTTON_RESTORE_DEFAULTS", "#RESTORE_DEFAULTS", ResetMatchSettingsToDefault ) + + foreach ( var button in GetElementsByClassname( GetMenu( "CustomMatchSettingsCategoryMenu" ), "MatchSettingCategoryButton" ) ) + { + AddButtonEventHandler( button, UIE_CLICK, SelectPrivateMatchSettingsCategory ) + + Hud_SetEnabled( button, false ) + Hud_SetVisible( button, false ) + } +} + +void function OnNorthstarCustomMatchSettingsCategoryMenuOpened() +{ + array categories = GetPrivateMatchSettingCategories() + array buttons = GetElementsByClassname( GetMenu( "CustomMatchSettingsCategoryMenu" ), "MatchSettingCategoryButton" ) + + for ( int i = 0, j = 0; j < categories.len() && i < buttons.len(); i++, j++ ) + { + Hud_SetEnabled( buttons[ i ], false ) + Hud_SetVisible( buttons[ i ], false ) + + // skip gamemode/playlist categories for modes that aren't the current one + // todo this fucking breaks everything lmao + //bool gamemode = categories[ j ].find( "#GAMEMODE_" ) == 0 + //if ( gamemode || categories[ j ].find( "#PL_" ) == 0 ) + //{ + // if ( gamemode ) + // { + // if ( categories[ j ].slice( 10 ) != PrivateMatch_GetSelectedMode() ) + // { + // i-- + // continue + // } + // } + // else if ( categories[ j ].slice( 4 ) != PrivateMatch_GetSelectedMode() ) + // { + // i-- + // continue + // } + //} + + Hud_SetText( buttons[ i ], Localize( categories[ j ] ) + " ->" ) + Hud_SetEnabled( buttons[ i ], true ) + Hud_SetVisible( buttons[ i ], true ) + } +} + +void function SelectPrivateMatchSettingsCategory( var button ) +{ + SetNextMatchSettingsCategory( GetPrivateMatchSettingCategories()[ int( Hud_GetScriptID( button ) ) ] ) + AdvanceMenu( GetMenu( "CustomMatchSettingsMenu" ) ) +} + +void function ResetMatchSettingsToDefault( var button ) +{ + ClientCommand( "ResetMatchSettingsToDefault" ) +} \ No newline at end of file -- cgit v1.2.3