GeekyPayback
08-24-2010, 08:45 AM
Hi
There may be a good reason for this, but I really cant think of it
function UpdateListDataProvider()
{
local byte i;
local GFxObject DataProvider;
local GFxObject TempObj;
local String FriendlyGameModeName;
DataProvider = Outer.CreateArray();
for (i = 0; i < GameModeList.Length; i++)
{
TempObj = CreateObject("Object");
FriendlyGameModeName = class'GFxUDKFrontEnd_LaunchGame'.static.GetGameMod eFriendlyString(GameModeList[i].GameMode);
TempObj.SetString("label", Caps(FriendlyGameModeName));
/** Helper function for Game Mode conversion to friendly String. */
static function String GetGameModeFriendlyString(String InGameMode)
{
local string RetString;
switch(InGameMode)
{
case ("UTGame.UTDeathmatch"):
RetString = "Deathmatch";
break;
case ("UTGame.UTTeamGame"):
RetString = "Team Deathmatch";
break;
case ("UTGameContent.UTVehicleCTFGame_Content"):
RetString = "Capture the Flag";
break;
default:
RetString = InGameMode;
break;
}
return RetString;
}
The above code could be written as
function UpdateListDataProvider()
{
local byte i;
local GFxObject DataProvider;
local GFxObject TempObj;
DataProvider = Outer.CreateArray();
for (i = 0; i < GameModeList.Length; i++)
{
TempObj = CreateObject("Object");
TempObj.SetString("label", Caps(GameModeList[i].FriendlyName));
TempObj.SetString("image", "img://"$GameModeList[i].PreviewImageMarkup);
Then the game modes would automatically pick up the correct name without having to subclass GFxUDKFrontEnd_LaunchGame, and would also benefit from internationalization.
Or am I missing something really obvious that prevents this?
There may be a good reason for this, but I really cant think of it
function UpdateListDataProvider()
{
local byte i;
local GFxObject DataProvider;
local GFxObject TempObj;
local String FriendlyGameModeName;
DataProvider = Outer.CreateArray();
for (i = 0; i < GameModeList.Length; i++)
{
TempObj = CreateObject("Object");
FriendlyGameModeName = class'GFxUDKFrontEnd_LaunchGame'.static.GetGameMod eFriendlyString(GameModeList[i].GameMode);
TempObj.SetString("label", Caps(FriendlyGameModeName));
/** Helper function for Game Mode conversion to friendly String. */
static function String GetGameModeFriendlyString(String InGameMode)
{
local string RetString;
switch(InGameMode)
{
case ("UTGame.UTDeathmatch"):
RetString = "Deathmatch";
break;
case ("UTGame.UTTeamGame"):
RetString = "Team Deathmatch";
break;
case ("UTGameContent.UTVehicleCTFGame_Content"):
RetString = "Capture the Flag";
break;
default:
RetString = InGameMode;
break;
}
return RetString;
}
The above code could be written as
function UpdateListDataProvider()
{
local byte i;
local GFxObject DataProvider;
local GFxObject TempObj;
DataProvider = Outer.CreateArray();
for (i = 0; i < GameModeList.Length; i++)
{
TempObj = CreateObject("Object");
TempObj.SetString("label", Caps(GameModeList[i].FriendlyName));
TempObj.SetString("image", "img://"$GameModeList[i].PreviewImageMarkup);
Then the game modes would automatically pick up the correct name without having to subclass GFxUDKFrontEnd_LaunchGame, and would also benefit from internationalization.
Or am I missing something really obvious that prevents this?