Torque3D/Templates/BaseGame/game/tools/assetBrowser/scripts/looseFileAudit.tscript

315 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 !$= "" )
{
//%filename = fileName(%file);
//%filePath = filePath(%file);
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);
}