Hello my friends.
Just a small help needed here.
How can I change the order of the maps selection list in UDK (I am using UTGame). I want that the maps be listed ordered by name in ascendance, like:
Mission 1
Mission 2
Mission 3
Mission 4
But it is listing inverted, as you can see here on this screenshot:
I have been reading through GFxUDKFrontEnd_MapSelect but I could not find anything related to order listing.
The closest I found was this function:
function UpdateListDataProvider()
{
local int i, ListCounter;
local GFxObject DataProvider;
local GFxObject TempObj;
local array<UDKUIResourceDataProvider> ProviderList;
local array<UTUIDataProvider_MapInfo> LocalMapList;
// fill the local map list
MapList.Length = 0;
LocalMapList.Length = 0;
class'UTUIDataStore_MenuItems'.static.GetAllResourceDataProviders(class'UTUIDataProvider_MapInfo', ProviderList);
for (i = 0; i < ProviderList.length; i++)
{
LocalMapList.AddItem(UTUIDataProvider_MapInfo(ProviderList*));
}
// No need to create an object if no maps are available.
if (LocalMapList.Length == 0)
{
return;
}
// Use a counter for the current list index so that items that are filtered are not added in
// the incorrect position.
ListCounter = 0;
DataProvider = Outer.CreateArray();
for (i = 0; i < LocalMapList.Length; i++)
{
if (!LocalMapList*.ShouldBeFiltered())
{
TempObj = CreateObject("Object");
TempObj.SetString("label", Caps(GetMapFriendlyName(LocalMapList*.MapName)));
TempObj.SetString("players", LocalMapList*.NumPlayers);
// If a preview image exists, use that.
if (LocalMapList*.PreviewImageMarkup != "")
{
TempObj.SetString("image", "img://" $ LocalMapList*.PreviewImageMarkup);
}
else
{
// Otherwise, use a placeholder "UDK" map image.
TempObj.SetString("image", "img://" $ class'GFxUDKFrontEnd_LaunchGame'.const.MarkupForNoMapImage);
}
DataProvider.SetElementObject(ListCounter++, TempObj);
MapList.AddItem(LocalMapList*);
}
}
ListMC.SetObject("dataProvider", DataProvider);
ListDataProvider = ListMC.GetObject("dataProvider");
ImgScrollerMC.SetObject("dataProvider", DataProvider);
ImgScrollerMC.SetFloat("selectedIndex", ListMC.GetFloat("selectedIndex"));
}
But anyway there is no reference to listing order.
Any help is welcome.
Thanks!