rott/kf_sources/KFGui/Classes/KFUT2K4Tab_ServerRulesPanel.uc
2026-07-14 20:27:09 +07:00

161 lines
4.2 KiB
Ucode

//-----------------------------------------------------------
//
//-----------------------------------------------------------
class KFUT2K4Tab_ServerRulesPanel extends UT2K4Tab_ServerRulesPanel;
var automated GUISectionBackground sb_background;
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
super(IAMultiColumnRulesPanel).InitComponent(MyController, MyOwner);
RemoveComponent(b_Symbols);
sb_background.ManageComponent(lb_Rules);
sb_background.ManageComponent(nu_Port);
sb_background.ManageComponent(ch_Webadmin);
sb_background.ManageComponent(ch_LANServer);
sb_background.ManageComponent(ch_Advanced);
}
protected function bool ShouldDisplayRule(int Index)
{
if ( GamePI.Settings[Index].bAdvanced && !Controller.bExpertMode )
return false;
// Only multiplayer-specific setting on this page
return GamePI.Settings[Index].bMPOnly;
}
function Refresh()
{
Super.Refresh();
sb_background.ManageComponent(lb_Rules);
}
function InternalOnChange(GUIComponent Sender)
{
if (Sender == ch_Advanced)
{
// Save our preference
Controller.bExpertMode = ch_Advanced.IsChecked();
Controller.SaveConfig();
// Reload the playinfo settings and repopulate the MultiOptionList
p_Anchor.SetRuleInfo();
//reload maplist
p_Anchor.p_Main.InitMaps();
return;
}
else
{
super.InternalOnChange(Sender);
}
}
defaultproperties
{
/*Begin Object Class=GUIImage Name=Bk1
Image=Texture'ROInterfaceArt.button_normal'
ImageStyle=ISTY_Stretched
WinTop=0.014733
WinLeft=0.000505
WinWidth=0.996997
WinHeight=0.907930
End Object*/
i_bk=none //GUIImage'ROInterface.ROUT2K4Tab_ServerRulesPanel.Bk1'
Begin Object Class=ROGUIProportionalContainer Name=myBackgroundGroup
bNoCaption=true
WinTop=0
WinLeft=0
WinWidth=1
WinHeight=1
End Object
sb_background=myBackgroundGroup
Begin Object Class=GUIMultiOptionListBox Name=RuleListBox
OnChange=InternalOnChange
OnCreateComponent=ListBoxCreateComponent
bBoundToParent=True
bScaleToParent=True
WinWidth=1.000000
WinHeight=0.85
WinLeft=0.000000
WinTop=0.000000
TabOrder=0
bVisibleWhenEmpty=True
End Object
lb_Rules=RuleListBox
Begin Object Class=moCheckBox Name=AdvancedButton
OnChange=InternalOnChange
Caption="View Advanced Options"
Hint="Toggles whether advanced properties are displayed"
WinWidth=0.400000
WinHeight=0.040000
WinLeft=0.05
WinTop=0.9
TabOrder=1
RenderWeight=1.0
bSquare=True
bBoundToParent=True
bScaleToParent=True
bAutoSizeCaption=True
End Object
ch_Advanced=AdvancedButton
Begin Object Class=moCheckbox Name=LANServer
Caption="LAN Server"
Hint="Optimizes various engine and network settings for LAN-based play. Enabling this option when running an internet server will cause EXTREME lag during the match!"
WinWidth=0.4
WinHeight=0.04
WinLeft=0.05
WinTop=0.95
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=Change
TabOrder=3
bAutoSizeCaption=True
End Object
ch_LANServer=LANServer
Begin Object Class=moCheckbox Name=EnableWebadmin
Caption="Enable WebAdmin"
Hint="Enables remote web-based administration of the server"
WinWidth=0.4
WinHeight=0.04
WinLeft=0.55
WinTop=0.9
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=Change
TabOrder=4
bAutoSizeCaption=True
End Object
ch_Webadmin=EnableWebAdmin
Begin Object Class=moNumericEdit Name=WebadminPort
Caption="WebAdmin Port"
Hint="Select which port should be used to connect to the remote web-based administration"
WinWidth=0.4
WinHeight=0.04
WinLeft=0.55
WinTop=0.95
MinValue=1
MaxValue=65536
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=Change
CaptionWidth=0.7
ComponentWidth=0.3
TabOrder=5
bAutoSizeCaption=True
End Object
nu_Port=WebadminPort
}