mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
Fixed handling of TSStatics' materialSlot fields, where if the field has been changed, it properly loads the modified field and ensures the reskin action happens correctly. Changed text on some context popup menu to better indicate the action Views loose files, not imports them Makes the Loose File Viewer skip cached.dts files.
316 lines
9.3 KiB
Plaintext
316 lines
9.3 KiB
Plaintext
function LooseFileAuditWindow::buildPopupMenus(%this)
|
|
{
|
|
//
|
|
// Import Asset Actions
|
|
//
|
|
//done with any valid image format file
|
|
if( !isObject( ImageLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( ImageLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make an Image Asset" TAB "" TAB "LooseFileAuditWindow.importImage();";
|
|
};
|
|
}
|
|
|
|
//Done with .tscript files
|
|
if( !isObject( ScriptLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( ScriptLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Script Asset" TAB "" TAB "LooseFileAuditWindow.importScript();";
|
|
item[1] = "Make a PostFX Asset" TAB "" TAB "LooseFileAuditWindow.importPostFX();";
|
|
item[2] = "Make a Material Asset" TAB "" TAB "LooseFileAuditWindow.importMaterial();";
|
|
item[3] = "Make a Terrain Material Asset" TAB "" TAB "LooseFileAuditWindow.importTerrMat();";
|
|
item[4] = "Make a Particle Asset" TAB "" TAB "LooseFileAuditWindow.importParticle();";
|
|
item[5] = "Make a Explosion Asset" TAB "" TAB "LooseFileAuditWindow.importExplosion();";
|
|
item[6] = "Make a Forest Brush Asset" TAB "" TAB "LooseFileAuditWindow.importForest();";
|
|
};
|
|
}
|
|
|
|
ScriptLooseFilePopup.enableItem(4, false);
|
|
ScriptLooseFilePopup.enableItem(5, false);
|
|
ScriptLooseFilePopup.enableItem(6, false);
|
|
|
|
if( !isObject( ShapeLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( ShapeLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Shape Asset" TAB "" TAB "LooseFileAuditWindow.importShape();";
|
|
item[1] = "Make a Shape Animation Asset" TAB "" TAB "LooseFileAuditWindow.importShapeAnimation();";
|
|
};
|
|
}
|
|
|
|
if( !isObject( DecalLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( DecalLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Decal Asset" TAB "" TAB "LooseFileAuditWindow.importDecal();";
|
|
};
|
|
}
|
|
|
|
if( !isObject( TerrainLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( TerrainLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Terrain Data Asset" TAB "" TAB "LooseFileAuditWindow.importTerrain();";
|
|
};
|
|
}
|
|
|
|
if( !isObject(SoundLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( SoundLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Sound Asset" TAB "" TAB "LooseFileAuditWindow.importSound();";
|
|
};
|
|
}
|
|
|
|
if( !isObject(LevelLooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( LevelLooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a Level Asset" TAB "" TAB "LooseFileAuditWindow.importLevel();";
|
|
};
|
|
}
|
|
|
|
if( !isObject(GUILooseFilePopup ) )
|
|
{
|
|
%this.ImportAssetActions = new PopupMenu( GUILooseFilePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Make a GUI Asset" TAB "" TAB "LooseFileAuditWindow.importGUI();";
|
|
};
|
|
}
|
|
}
|
|
|
|
function LooseFileAuditWindow::showDialog(%this, %address)
|
|
{
|
|
LooseFileAuditWindow.buildPopupMenus();
|
|
|
|
Canvas.pushDialog(LooseFileAudit);
|
|
|
|
%this.currentAddress = %address;
|
|
|
|
%this.refresh();
|
|
}
|
|
|
|
function LooseFileAuditWindow::refresh(%this)
|
|
{
|
|
LooseFileList.clear();
|
|
LooseFileList.insertItem(0, "Loose Files");
|
|
|
|
//First, wipe out any files inside the folder first
|
|
%file = findFirstFileMultiExpr( %this.currentAddress @ "/*.*", false);
|
|
|
|
%aq = new AssetQuery();
|
|
|
|
while( %file !$= "" )
|
|
{
|
|
if(!endsWith(%file, ".cached.dts"))
|
|
{
|
|
if(!strIsMatchExpr("*.asset.taml", %file) && !strIsMatchExpr("*.taml", %file))
|
|
{
|
|
%assetsFound = AssetDatabase.findAssetLooseFile(%aq, %file);
|
|
|
|
if(%assetsFound == 0)
|
|
{
|
|
LooseFileList.insertItem(1, %file);
|
|
}
|
|
}
|
|
}
|
|
|
|
%file = findNextFileMultiExpr( %this.currentAddress @ "/*.*" );
|
|
}
|
|
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
|
|
%aq.delete();
|
|
}
|
|
|
|
function LooseFileList::onRightMouseDown(%this, %itemId)
|
|
{
|
|
LooseFileList.itemPath = %this.getItemText(%itemId);
|
|
LooseFileList.selectedItem = %itemId;
|
|
|
|
%ext = fileExt(LooseFileList.itemPath);
|
|
if(isImageFormat(%ext))
|
|
{
|
|
ImageLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(%ext $= "." @ $TorqueScriptFileExtension)
|
|
{
|
|
ScriptLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(isShapeFormat(%ext))
|
|
{
|
|
ShapeLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(%ext $= ".mis")
|
|
{
|
|
LevelLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(isSoundFormat(%ext))
|
|
{
|
|
SoundLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(%ext $= ".ter")
|
|
{
|
|
TerrainLooseFilePopup.showPopup(Canvas);
|
|
}
|
|
else if(%ext $= ".gui")
|
|
{
|
|
GUILooseFilePopup.showPopup(Canvas);
|
|
}
|
|
}
|
|
|
|
//
|
|
//
|
|
function LooseFileAuditWindow::importImage(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
%assetItem = AssetBrowser.addImportingAsset("ImageAsset", LooseFileList.itemPath, "", "");
|
|
ImportAssetItems.add(%assetItem);
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importScript(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("ScriptAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importGUI(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
ImportAssetWindow.allowAutoImport = false;
|
|
|
|
AssetBrowser.addImportingAsset("GUIAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importLevel(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
ImportAssetWindow.allowAutoImport = false;
|
|
|
|
AssetBrowser.addImportingAsset("LevelAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importSound(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("SoundAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importTerrain(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("TerrainAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
|
|
}
|
|
|
|
function LooseFileAuditWindow::importTerrMat(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("TerrainMaterialAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importShape(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("ShapeAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importShapeAnimation(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("ShapeAnimationAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importPostFX(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("PostEffectAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
}
|
|
|
|
function LooseFileAuditWindow::importMaterial(%this)
|
|
{
|
|
if(!ImportAssetWindow.isAwake())
|
|
ImportAssetWindow.showDialog();
|
|
|
|
AssetBrowser.addImportingAsset("MaterialAsset", LooseFileList.itemPath, "", "");
|
|
LooseFileList.removeItem(LooseFileList.selectedItem, false);
|
|
LooseFileList.buildVisibleTree(true);
|
|
LooseFileList.expandItem(0);
|
|
} |