Torque3D/Engine/source/T3D/assets/assetImporter_ScriptBinding.h
JeffR b3cd08520e Disables generation of the materials script files by the internal shape import processor. Material script files are now only generated by the AssetImporter as part of the shape injest process.
Renames validateImportingAssets to hasImportIssues for AssetImporter console method for clarity
Updated console method documentation for AssetImporter methods
Fixed logical error for material asset generation if the import config was set to use existing materials but one was not found.
Fixed logical error when a shapeFile has a material with a texture mapped to it is not in the same directory as the shape, it would not correctly find the texture
Adjusts AssetImport window logic so it will display the window in the event of import issues being detected, or the asset is being re-imported.
Updates the AssetImport window activity log to use the new AssetImporter's log for consistency.
2021-11-05 17:49:48 -05:00

149 lines
5.7 KiB
C

#pragma once
#include "console/engineAPI.h"
#include "assetImporter.h"
//Console Functions
DefineEngineMethod(AssetImportConfig, loadImportConfig, void, (Settings* configSettings, String configName), (nullAsType<Settings*>(), ""),
"Loads the provided import config to the importer.\n"
"@param configSettings A Settings object containing the import configs.\n"
"@param configName The specific name of the config to be used.")
{
return object->loadImportConfig(configSettings, configName);
}
DefineEngineMethod(AssetImporter, setTargetPath, void, (String path), (""),
"Sets the target path the importing assets will be put into.\n"
"@param A string of the target path.")
{
return object->setTargetPath(path);
}
DefineEngineMethod(AssetImporter, resetImportSession, void, (bool forceResetSession), (false),
"Resets the importer's import session. All existing import items, logs, etc will be cleared.")
{
return object->resetImportSession(forceResetSession);
}
DefineEngineMethod(AssetImporter, dumpActivityLog, void, (), ,
"Dumps the import activity log. If the importer is set to, it will save to file, otherwise dump to console.")
{
return object->dumpActivityLog();
}
DefineEngineMethod(AssetImporter, getActivityLogLineCount, S32, (),,
"Gets the number of lines in the import activity log.\n"
"@return The number of lines in the import activity log.")
{
return object->getActivityLogLineCount();
}
DefineEngineMethod(AssetImporter, getActivityLogLine, String, (S32 index), (0),
"Gets a specific line in the import activity log.\n"
"@param index The index of the line to be returned.\n"
"@return The string of the requested line of the activity log")
{
return object->getActivityLogLine(index);
}
DefineEngineMethod(AssetImporter, autoImportFile, String, (String path, String typeHint), ("", ""),
"Run the full import process on a specific file.\n"
"@return If import is successful, the assetId of the new asset. If it failed, an empty string.")
{
return object->autoImportFile(path, typeHint);
}
DefineEngineMethod(AssetImporter, addImportingFile, AssetImportObject*, (String path), (""),
"Adds a filepath to the current importing session.\n"
"@param path The path to the file to be imported.\n"
"@return The AssetImportObject from the import session.")
{
return object->addImportingFile(path);
}
DefineEngineMethod(AssetImporter, addImportingAssetItem, void, (AssetImportObject* assetItem, AssetImportObject* parentItem), (nullAsType< AssetImportObject*>(), nullAsType< AssetImportObject*>()),
"Adds an existing AssetImportObject to the current improting session.\n"
"@param assetItem The AssetImportObject to be added to the import session.\n"
"@param parentItem An AssetImportObject that to act as the parent of the item being added.")
{
return object->addImportingAssetItem(assetItem, parentItem);
}
DefineEngineMethod(AssetImporter, processImportingAssets, void, (), ,
"Processes the importing assets.")
{
return object->processImportAssets();
}
DefineEngineMethod(AssetImporter, hasImportIssues, bool, (), ,
"Validates the status of the importing items.\n"
"@return False if there are no issues, true if there are importing issues")
{
return object->validateAssets();
}
DefineEngineMethod(AssetImporter, resolveAssetItemIssues, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
"Runs the issue resolver to attempt to correct any simple issues, such as utilizing the config's settings to resolve collisions.")
{
object->resolveAssetItemIssues(assetItem);
}
DefineEngineMethod(AssetImporter, importAssets, void, (),,
"Runs the actual import action on the items.")
{
return object->importAssets();
}
DefineEngineMethod(AssetImporter, getAssetItemCount, S32, (),,
"Gets the number of importing asset items.\n"
"@return The number of importing asset items")
{
return object->getAssetItemCount();
}
DefineEngineMethod(AssetImporter, getAssetItem, AssetImportObject*, (S32 index), (0),
"Gets a specific import asset item.\n"
"@param index The index of the AssetImportObject to be returned.\n"
"@return AssetImportObject")
{
return object->getAssetItem(index);
}
DefineEngineMethod(AssetImporter, getAssetItemChildCount, S32, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
"Gets number of child items for a given importing asset item.\n"
"@param assetItem The AssetImportObject to get the number of children of.\n"
"@return The number of child items")
{
if (assetItem == nullptr)
return 0;
return object->getAssetItemChildCount(assetItem);
}
DefineEngineMethod(AssetImporter, getAssetItemChild, AssetImportObject*, (AssetImportObject* assetItem, S32 index), (nullAsType< AssetImportObject*>(), 0),
"Gets a specific child item of a given importing asset item.\n"
"@param assetItem The AssetImportObject to get the child from.\n"
"@param index The index of the child to get.\n"
"@return The child AssetImportObect")
{
if (assetItem == nullptr)
return nullptr;
return object->getAssetItemChild(assetItem, index);
}
DefineEngineMethod(AssetImporter, deleteImportingAsset, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
"Deletes an importing AssetImportObject from the import session.\n"
"@param assetItem The AssetImportObject to delete.")
{
return object->deleteImportingAsset(assetItem);
}
DefineEngineMethod(AssetImporter, setImportConfig, void, (AssetImportConfig* importConfig), (nullAsType< AssetImportConfig*>()),
"Sets the import config to be used via a AssetImportConfig object.\n"
"@param importConfig The AssetImportConfig object to use.")
{
return object->setImportConfig(importConfig);
}