// ==================================================================== // Class: xVoting.DefaultMapListLoader // // The DefaultMapListLoader is used by the VotingHandler to // load the list of map names. // // Written by Bruce Bickar // (c) 2003, Epic Games, Inc. All Rights Reserved // ==================================================================== class DefaultMapListLoader extends MapListLoader; var() config bool bUseMapList; var() config array MapListTypeList; var() config string MapNamePrefixes; var localized string UseMapListPropsDisplayText; var localized string UserMapListPropDescription; //------------------------------------------------------------------------------------------------ function LoadMapList(xVotingHandler VotingHandler) { local int p, i; local array PrefixList; local class GameClass; if(bUseMapList) { log("Loading Maps from the following MapLists",'MapVote'); if(MapListTypeList.Length == 0) { // Use default MapLists from each of MapVotes GameConfig settings for(i=0; i < VotingHandler.GameConfig.Length; i++) { GameClass = class(DynamicLoadObject(VotingHandler.GameConfig[i].GameClass, class'Class')); if(GameClass != none) { log(GameClass.default.MapListType,'MapVote'); LoadFromMapList(GameClass.default.MapListType, VotingHandler); } } } else { // Use the listed MapList classes for(i=0; i 0) { for(i=0; i < PrefixList.Length; i++) LoadFromPrefix(PrefixList[i],VotingHandler); } } } //------------------------------------------------------------------------------------------------ function LoadFromPreFix(string Prefix, xVotingHandler VotingHandler) { local string FirstMap,NextMap,MapName,TestMap; local int z; FirstMap = Level.GetMapName(PreFix, "", 0); NextMap = FirstMap; while(!(FirstMap ~= TestMap)) { MapName = NextMap; z = InStr(Caps(MapName), ".UT2"); if(z != -1) MapName = Left(MapName, z); // remove ".UT2" VotingHandler.AddMap(MapName, "", ""); NextMap = Level.GetMapName(PreFix, NextMap, 1); TestMap = NextMap; } } //------------------------------------------------------------------------------------------------ function LoadFromMapList(string MapListType, xVotingHandler VotingHandler) { local string Mutators,GameOptions; local class MapListClass; local string MapName; local array Parts; local array Maps; local int z,x,p,i; MapListClass = class(DynamicLoadObject(MapListType, class'Class')); if(MapListClass == none) { Log("___Couldn't load maplist type:"$MaplistType,'MapVote'); return; } Maps = MapListClass.static.StaticGetMaps(); for(i=0;i 1) { MapName = Parts[0]; for(x=1;x