mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
Modifies the chooslLevelDlg in the UI module to utilize LevelAssets for the non editor template level selection.
This commit is contained in:
parent
649aed23ac
commit
db0360cf48
2 changed files with 49 additions and 7 deletions
|
|
@ -46,7 +46,7 @@ function ClientServer::destroy( %this )
|
||||||
disconnect();
|
disconnect();
|
||||||
|
|
||||||
// Destroy the physics plugin.
|
// Destroy the physics plugin.
|
||||||
physicsDestroy();
|
//physicsDestroy();
|
||||||
|
|
||||||
sfxShutdown();
|
sfxShutdown();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,11 @@ function ChooseLevelDlg::onWake( %this )
|
||||||
%this->LevelDescriptionLabel.visible = false;
|
%this->LevelDescriptionLabel.visible = false;
|
||||||
%this->LevelDescription.visible = false;
|
%this->LevelDescription.visible = false;
|
||||||
|
|
||||||
%count = LevelFilesList.count();
|
%assetQuery = new AssetQuery();
|
||||||
|
if(!AssetDatabase.findAssetType(%assetQuery, "LevelAsset"))
|
||||||
|
return; //if we didn't find ANY, just exit
|
||||||
|
|
||||||
|
%count = %assetQuery.getCount();
|
||||||
|
|
||||||
if(%count == 0)
|
if(%count == 0)
|
||||||
{
|
{
|
||||||
|
|
@ -39,7 +43,7 @@ function ChooseLevelDlg::onWake( %this )
|
||||||
if(IsDirectory("tools"))
|
if(IsDirectory("tools"))
|
||||||
{
|
{
|
||||||
MessageBoxYesNo("Error", "No levels were found in any modules. Do you want to load the editor and start a new level?",
|
MessageBoxYesNo("Error", "No levels were found in any modules. Do you want to load the editor and start a new level?",
|
||||||
"fastLoadWorldEdit(1);",
|
"EditorOpenMission();",
|
||||||
"Canvas.popDialog(ChooseLevelDlg); if(isObject(ChooseLevelDlg.returnGui) && ChooseLevelDlg.returnGui.isMethod(\"onReturnTo\")) ChooseLevelDlg.returnGui.onReturnTo();");
|
"Canvas.popDialog(ChooseLevelDlg); if(isObject(ChooseLevelDlg.returnGui) && ChooseLevelDlg.returnGui.isMethod(\"onReturnTo\")) ChooseLevelDlg.returnGui.onReturnTo();");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -48,12 +52,18 @@ function ChooseLevelDlg::onWake( %this )
|
||||||
"Canvas.popDialog(ChooseLevelDlg); if(isObject(ChooseLevelDlg.returnGui) && ChooseLevelDlg.returnGui.isMethod(\"onReturnTo\")) ChooseLevelDlg.returnGui.onReturnTo();");
|
"Canvas.popDialog(ChooseLevelDlg); if(isObject(ChooseLevelDlg.returnGui) && ChooseLevelDlg.returnGui.isMethod(\"onReturnTo\")) ChooseLevelDlg.returnGui.onReturnTo();");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%assetQuery.delete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( %i=0; %i < %count; %i++ )
|
for(%i=0; %i < %count; %i++)
|
||||||
{
|
{
|
||||||
%file = LevelFilesList.getKey( %i );
|
%assetId = %assetQuery.getAsset(%i);
|
||||||
|
|
||||||
|
%levelAsset = AssetDatabase.acquireAsset(%assetId);
|
||||||
|
|
||||||
|
%file = %levelAsset.LevelFile;
|
||||||
|
|
||||||
if ( !isFile(%file @ ".mis") && !isFile(%file) )
|
if ( !isFile(%file @ ".mis") && !isFile(%file) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
@ -66,7 +76,7 @@ function ChooseLevelDlg::onWake( %this )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
%this.addMissionFile( %file );
|
%this.addLevelAsset( %levelAsset );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Also add the new level mission as defined in the world editor settings
|
// Also add the new level mission as defined in the world editor settings
|
||||||
|
|
@ -218,6 +228,38 @@ function ChooseLevelDlg::addMissionFile( %this, %file )
|
||||||
CL_levelList.addRow( CL_levelList.rowCount(), %levelName TAB %file TAB %levelDesc TAB %levelPreview );
|
CL_levelList.addRow( CL_levelList.rowCount(), %levelName TAB %file TAB %levelDesc TAB %levelPreview );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ChooseLevelDlg::addLevelAsset( %this, %levelAsset )
|
||||||
|
{
|
||||||
|
%file = %levelAsset.LevelFile;
|
||||||
|
|
||||||
|
/*%levelName = fileBase(%file);
|
||||||
|
%levelDesc = "A Torque level";
|
||||||
|
|
||||||
|
%LevelInfoObject = getLevelInfo(%file);
|
||||||
|
|
||||||
|
if (%LevelInfoObject != 0)
|
||||||
|
{
|
||||||
|
if(%LevelInfoObject.levelName !$= "")
|
||||||
|
%levelName = %LevelInfoObject.levelName;
|
||||||
|
else if(%LevelInfoObject.name !$= "")
|
||||||
|
%levelName = %LevelInfoObject.name;
|
||||||
|
|
||||||
|
if (%LevelInfoObject.desc0 !$= "")
|
||||||
|
%levelDesc = %LevelInfoObject.desc0;
|
||||||
|
|
||||||
|
if (%LevelInfoObject.preview !$= "")
|
||||||
|
%levelPreview = %LevelInfoObject.preview;
|
||||||
|
|
||||||
|
%LevelInfoObject.delete();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
%levelName = %levelAsset.friendlyName;
|
||||||
|
%levelDesc = %levelAsset.description;
|
||||||
|
%levelPreview = %levelAsset.levelPreviewImage;
|
||||||
|
|
||||||
|
CL_levelList.addRow( CL_levelList.rowCount(), %levelName TAB %file TAB %levelDesc TAB %levelPreview );
|
||||||
|
}
|
||||||
|
|
||||||
function ChooseLevelDlg::onSleep( %this )
|
function ChooseLevelDlg::onSleep( %this )
|
||||||
{
|
{
|
||||||
// This is set from the outside, only stays true for a single wake/sleep
|
// This is set from the outside, only stays true for a single wake/sleep
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue