//============================================================================== // KFInvWaveConfig //============================================================================== class KFInvWaveConfig extends GUICustomPropertyPage; var array Waves; var automated GUIImage i_Background; var automated moNumericEdit nu_Wave; var automated GUIMultiOptionListBox lb_Waves; var GUIMultiOptionList li_waves; var localized string WaveConfigTitle; var localized string DiffHint, MaxInvaderHint; struct WaveSquadType { var string SName; var int Mask; var moCheckBox CheckButton; }; var int ActiveWave; // Wave currently being edited var array WaveSquad; var Invasion.WaveInfo EditedWaves[16]; var moSlider sl_Diff; var moNumericEdit nu_MaxMonster; function string GetResult() { return ""; } function InitActiveSquads() { local int i,l,m,j,z,n; local byte c; local array AS; local string S; AS = Class'KFGameType'.Default.MonsterSquad; l = AS.Length; WaveSquad.Length = l; m = 1; z = Class'KFGameType'.default.MonsterCollection.Default.MonsterClasses.Length; For( i=0; i1 ) { S = Mid(AS[i],1,1); n = int(Left(AS[i],1)); AS[i] = Mid(AS[i],2); for( j=0; j75 ) { WaveSquad[i].SName$="..."; Break; } } } } function string GetMonsterName( string InS ) { local Class MC; MC = Class(DynamicLoadObject(InS,Class'Class')); if( MC==None ) Return "Invalid"; else if( MC.Default.MenuName!="" ) Return MC.Default.MenuName; Return string(MC.Name); } function InitComponent(GUIController MyController, GUIComponent MyOwner) { local int i; Super.InitComponent(MyController, MyOwner); li_Waves = lb_Waves.List; li_Waves.OnChange = InternalOnChange; li_Waves.bDrawSelectionBorder = False; li_Waves.ItemPadding=0.15; li_Waves.ColumnWidth=0.95; li_Waves.bHotTrackSound = False; sl_Diff = moSlider(li_Waves.AddItem( "XInterface.moSlider", None, "Difficulty", true )); nu_MaxMonster = moNumericEdit(li_Waves.AddItem( "XInterface.moNumericEdit", None, "Number of monsters (X players count)", true )); sl_Diff.Hint = DiffHint; nu_MaxMonster.Hint=MaxInvaderHint; for ( i = 0; i < li_Waves.NumColumns; i++ ) li_Waves.AddItem( "XInterface.GUIListSpacer" ); for( i=0; i