mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 07:04:36 +00:00
WIP corrections for drag-n-drop handling for cubemap and shape asset types
Added ability to override radio button behavior when selecting items in popup menus Added ability to turn on rotation snapping as a setting, with SHIFT just inverting the rot snap mode Implemented proper asset type filtering, complete with multiple type selection, and listing of active filters in AB footer. Selectable via visibility popup Menu Moved asset preview button generation from code to template GUI file added ability to move asset with drag-n-drop(Image asset only so far) New AB folder icon Properly link image asset fields to material asset if 'AlwaysPresentImageMaps' config setting is active
This commit is contained in:
parent
27ee09e491
commit
b2fcd5e7fb
23 changed files with 851 additions and 475 deletions
|
|
@ -172,10 +172,55 @@ function AssetBrowser::viewTagsFilter(%this)
|
|||
AssetBrowser.loadFilters();
|
||||
}
|
||||
|
||||
function AssetBrowser::toggleAssetTypeFilter(%assetTypeIdx)
|
||||
function AssetBrowser::toggleAssetTypeFilter(%this, %assetTypeIdx)
|
||||
{
|
||||
%isChecked = AssetTypeListPopup.isItemChecked(%assetTypeIdx);
|
||||
AssetTypeListPopup.checkItem(%assetTypeIdx, !%isChecked);
|
||||
|
||||
//Clear existing filters
|
||||
if(%assetTypeIdx == 0)
|
||||
{
|
||||
for(%i=0; %i < AssetFilterTypeList.Count() + 1; %i++)
|
||||
{
|
||||
AssetTypeListPopup.checkItem(%i, false);
|
||||
}
|
||||
|
||||
AssetTypeListPopup.checkItem(0, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(%isChecked)
|
||||
{
|
||||
%anyOtherFilters = false;
|
||||
for(%i=1; %i < AssetFilterTypeList.Count() + 1; %i++)
|
||||
{
|
||||
if(%assetTypeIdx == %i)
|
||||
continue;
|
||||
|
||||
if(AssetTypeListPopup.isItemChecked(%i))
|
||||
{
|
||||
%anyOtherFilters = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(%isChecked && !%anyOtherFilters)
|
||||
{
|
||||
for(%i=0; %i < AssetFilterTypeList.Count() + 1; %i++)
|
||||
{
|
||||
AssetTypeListPopup.checkItem(%i, false);
|
||||
}
|
||||
|
||||
AssetTypeListPopup.checkItem(0, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
AssetTypeListPopup.checkItem(0, false);
|
||||
AssetTypeListPopup.checkItem(%assetTypeIdx, !%isChecked);
|
||||
}
|
||||
}
|
||||
|
||||
%this.rebuildAssetArray();
|
||||
}
|
||||
|
||||
function AssetBrowser::selectAsset( %this, %asset )
|
||||
|
|
@ -219,6 +264,13 @@ function AssetBrowser::showDialog( %this, %AssetTypeFilter, %selectCallback, %ta
|
|||
AssetBrowserWindow.setVisible(1);
|
||||
AssetBrowserWindow.selectWindow();
|
||||
|
||||
//If we're special-case filtering(like for selecting a given type), then ignore our normal
|
||||
//visibility filter
|
||||
if(%AssetTypeFilter !$= "")
|
||||
{
|
||||
AssetBrowser.toggleAssetTypeFilter(0);
|
||||
}
|
||||
|
||||
if(%selectCallback $= "")
|
||||
{
|
||||
//we're not in selection mode, so just hide the select button
|
||||
|
|
@ -268,6 +320,7 @@ function AssetBrowser::buildPreviewArray( %this, %asset, %moduleName )
|
|||
%fullPath = strreplace(%fullPath, "/", "_");
|
||||
|
||||
if(isObject(%fullPath))
|
||||
|
||||
%assetDesc = %fullPath;
|
||||
else
|
||||
%assetDesc = new ScriptObject(%fullPath);
|
||||
|
|
@ -280,194 +333,65 @@ function AssetBrowser::buildPreviewArray( %this, %asset, %moduleName )
|
|||
%assetName = %asset;
|
||||
%assetType = "Folder";
|
||||
}
|
||||
|
||||
// it may seem goofy why the checkbox can't be instanciated inside the container
|
||||
// reason being its because we need to store the checkbox ctrl in order to make changes
|
||||
// on it later in the function.
|
||||
|
||||
|
||||
|
||||
%previewSize = %this.previewSize SPC %this.previewSize;
|
||||
%previewBounds = 20;
|
||||
|
||||
%container = new GuiControl(){
|
||||
profile = "ToolsGuiDefaultProfile";
|
||||
Position = "0 0";
|
||||
Extent = %previewSize.x + %previewBounds SPC %previewSize.y + %previewBounds + 24;
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
isContainer = "1";
|
||||
assetName = %assetName;
|
||||
moduleName = %moduleName;
|
||||
assetType = %assetType;
|
||||
};
|
||||
|
||||
%tooltip = %assetName;
|
||||
|
||||
%doubleClickCommand = "AssetBrowser.editAsset( "@%assetDesc@" );";
|
||||
|
||||
if(%assetType $= "ShapeAsset")
|
||||
{
|
||||
%this.previewData.assetName = %assetDesc.assetName;
|
||||
%this.previewData.assetPath = %assetDesc.scriptFile;
|
||||
%this.previewData.doubleClickCommand = %doubleClickCommand;
|
||||
|
||||
%this.previewData.previewImage = "tools/assetBrowser/art/componentIcon";
|
||||
|
||||
%this.previewData.assetFriendlyName = %assetDesc.friendlyName;
|
||||
%this.previewData.assetDesc = %assetDesc.description;
|
||||
%this.previewData.tooltip = %assetDesc.friendlyName @ "\n" @ %assetDesc;
|
||||
|
||||
%previewButton = new GuiObjectView()
|
||||
{
|
||||
className = "AssetPreviewControl";
|
||||
internalName = %matName;
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
position = "7 4";
|
||||
extent = %previewSize;
|
||||
MinExtent = "8 8";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
renderMissionArea = "0";
|
||||
GizmoProfile = "GlobalGizmoProfile";
|
||||
cameraZRot = "0";
|
||||
forceFOV = "0";
|
||||
gridColor = "0 0 0 0";
|
||||
renderNodes = "0";
|
||||
renderObjBox = "0";
|
||||
renderMounts = "0";
|
||||
renderColMeshes = "0";
|
||||
selectedNode = "-1";
|
||||
sunDiffuse = "255 255 255 255";
|
||||
sunAmbient = "180 180 180 255";
|
||||
timeScale = "1.0";
|
||||
fixedDetail = "0";
|
||||
orbitNode = "0";
|
||||
|
||||
new GuiBitmapButtonCtrl()
|
||||
{
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
profile = "ToolsGuiButtonProfile";
|
||||
position = "0 0";
|
||||
extent = %previewSize;
|
||||
Variable = "";
|
||||
buttonType = "ToggleButton";
|
||||
bitmap = "tools/materialEditor/gui/cubemapBtnBorder";
|
||||
groupNum = "0";
|
||||
text = "";
|
||||
};
|
||||
};
|
||||
|
||||
%assetQuery = new AssetQuery();
|
||||
%numAssetsFound = AssetDatabase.findAllAssets(%assetQuery);
|
||||
|
||||
for( %i=0; %i < %numAssetsFound; %i++)
|
||||
{
|
||||
%assetId = %assetQuery.getAsset(%i);
|
||||
%name = AssetDatabase.getAssetName(%assetId);
|
||||
|
||||
if(%name $= %assetName)
|
||||
{
|
||||
%asset = AssetDatabase.acquireAsset(%assetId);
|
||||
|
||||
%previewButton.setModel(%asset.fileName);
|
||||
//%previewButton.refreshShape();
|
||||
//%previewButton.currentDL = 0;
|
||||
//%previewButton.fitToShape();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
%previewButton = AssetPreviewButtonsTemplate-->ShapeAssetPreviewButton.deepClone();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Build out the preview
|
||||
%buildCommand = %this @ ".build" @ %assetType @ "Preview(" @ %assetDesc @ "," @ %this.previewData @ ");";
|
||||
eval(%buildCommand);
|
||||
|
||||
//debug dump
|
||||
%tooltip = %this.previewData.tooltip;
|
||||
%assetName = %this.previewData.assetName;
|
||||
%previewImage = %this.previewData.previewImage;
|
||||
%doubleClickCommand = %this.previewData.doubleClickCommand;
|
||||
|
||||
%previewButton = new GuiBitmapButtonCtrl()
|
||||
{
|
||||
className = "AssetPreviewControl";
|
||||
internalName = %this.previewData.assetName;
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
profile = "ToolsGuiButtonProfile";
|
||||
position = "10 4";
|
||||
extent = %previewSize;
|
||||
buttonType = "PushButton";
|
||||
bitmap = %this.previewData.previewImage;
|
||||
Command = "";
|
||||
text = "";
|
||||
useStates = false;
|
||||
|
||||
new GuiBitmapButtonCtrl()
|
||||
{
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
profile = "ToolsGuiButtonProfile";
|
||||
position = "0 0";
|
||||
extent = %previewSize;
|
||||
Variable = "";
|
||||
buttonType = "toggleButton";
|
||||
bitmap = "tools/materialEditor/gui/cubemapBtnBorder";
|
||||
groupNum = "0";
|
||||
text = "";
|
||||
};
|
||||
};
|
||||
%previewButton = AssetPreviewButtonsTemplate-->GeneralAssetPreviewButton.deepClone();
|
||||
}
|
||||
|
||||
%previewBorder = new GuiButtonCtrl(){
|
||||
class = "AssetPreviewButton";
|
||||
internalName = %this.previewData.assetName@"Border";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
profile = "ToolsGuiThumbHighlightButtonProfile";
|
||||
position = "0 0";
|
||||
extent = %previewSize.x + %previewBounds SPC %previewSize.y + 24;
|
||||
Variable = "";
|
||||
buttonType = "radioButton";
|
||||
tooltip = %this.previewData.tooltip;
|
||||
Command = "AssetBrowser.updateSelection( $ThisControl.getParent().assetName, $ThisControl.getParent().moduleName );";
|
||||
altCommand = %this.previewData.doubleClickCommand;
|
||||
groupNum = "0";
|
||||
useMouseEvents = true;
|
||||
text = "";
|
||||
icon = %this.previewData.previewImage;
|
||||
};
|
||||
%previewButton.extent = %previewSize.x + %previewBounds SPC %previewSize.y + %previewBounds + 24;
|
||||
%previewButton.assetName = %assetName;
|
||||
%previewButton.moduleName = %moduleName;
|
||||
%previewButton.assetType = %assetType;
|
||||
|
||||
%previewNameCtrl = new GuiTextEditCtrl(){
|
||||
position = 0 SPC %previewSize.y + %previewBounds - 16;
|
||||
profile = ToolsGuiTextEditCenterProfile;
|
||||
extent = %previewSize.x + %previewBounds SPC 16;
|
||||
text = %this.previewData.assetName;
|
||||
originalAssetName = %this.previewData.assetName; //special internal field used in renaming assets
|
||||
internalName = "AssetNameLabel";
|
||||
class = "AssetNameField";
|
||||
active = false;
|
||||
};
|
||||
//Build out the preview
|
||||
%buildCommand = %this @ ".build" @ %assetType @ "Preview(" @ %assetDesc @ "," @ %this.previewData @ ");";
|
||||
eval(%buildCommand);
|
||||
|
||||
%container.add(%previewButton);
|
||||
%container.add(%previewBorder);
|
||||
%container.add(%previewNameCtrl);
|
||||
//debug dump
|
||||
%tooltip = %this.previewData.tooltip;
|
||||
%assetName = %this.previewData.assetName;
|
||||
%previewImage = %this.previewData.previewImage;
|
||||
%doubleClickCommand = %this.previewData.doubleClickCommand;
|
||||
|
||||
if(%assetType $= "ShapeAsset")
|
||||
{
|
||||
%previewButton-->shapeAssetView.setModel(%previewImage);
|
||||
%previewButton-->shapeAssetView.extent = %previewSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
%previewButton-->assetPreviewImage.bitmap = %this.previewData.previewImage;
|
||||
%previewButton-->assetPreviewImage.extent = %previewSize;
|
||||
}
|
||||
|
||||
%previewButton-->AssetPreviewBorderButton.extent = %previewSize;
|
||||
|
||||
//%previewButton-->AssetPreviewButton.internalName = %this.previewData.assetName@"Border";
|
||||
%previewButton-->AssetPreviewButton.extent = %previewSize.x + %previewBounds SPC %previewSize.y + 24;
|
||||
%previewButton-->AssetPreviewButton.tooltip = %this.previewData.tooltip;
|
||||
%previewButton-->AssetPreviewButton.Command = "AssetBrowser.updateSelection( $ThisControl.getParent().assetName, $ThisControl.getParent().moduleName );";
|
||||
%previewButton-->AssetPreviewButton.altCommand = %this.previewData.doubleClickCommand;
|
||||
//%previewButton-->AssetPreviewButton.icon = %this.previewData.previewImage;
|
||||
|
||||
%previewButton-->AssetNameLabel.position = 0 SPC %previewSize.y + %previewBounds - 16;
|
||||
%previewButton-->AssetNameLabel.extent = %previewSize.x + %previewBounds SPC 16;
|
||||
%previewButton-->AssetNameLabel.text = %this.previewData.assetName;
|
||||
%previewButton-->AssetNameLabel.originalAssetName = %this.previewData.assetName;
|
||||
|
||||
// add to the gui control array
|
||||
AssetBrowser-->assetList.add(%container);
|
||||
AssetBrowser-->assetList.add(%previewButton);
|
||||
|
||||
// add to the array object for reference later
|
||||
AssetPreviewArray.add( %previewButton, %this.previewData.previewImage );
|
||||
|
|
@ -502,7 +426,7 @@ function AssetBrowser::loadFolders(%this, %path, %parentId)
|
|||
%folderName = getToken(%childPath, "/", %f);
|
||||
|
||||
//we don't need to display the shadercache folder
|
||||
if(%parentId == 1 && %folderName $= "shaderCache")
|
||||
if(%parentId == 1 && (%folderName $= "shaderCache" || %folderName $= "cache"))
|
||||
continue;
|
||||
|
||||
%iconIdx = 1;
|
||||
|
|
@ -1171,12 +1095,12 @@ function AssetBrowser::setPreviewSize(%this, %size)
|
|||
else if(%size $= "Large")
|
||||
{
|
||||
%this.previewSize = 160;
|
||||
AssetPreviewSizePopup.checkItem(2, false);
|
||||
AssetPreviewSizePopup.checkItem(2, true);
|
||||
}
|
||||
|
||||
EditorSettings.setValue("Assets/Browser/previewTileSize", %size);
|
||||
|
||||
%this.refreshPreviews();
|
||||
%this.rebuildAssetArray();
|
||||
}
|
||||
|
||||
function AssetBrowser::refreshPreviews(%this)
|
||||
|
|
@ -1193,12 +1117,17 @@ function AssetBrowserFilterTree::onSelect(%this, %itemId)
|
|||
//Make sure we have an actual module selected!
|
||||
%parentId = %this.getParentItem(%itemId);
|
||||
|
||||
%name = %this.getItemText(%itemId);
|
||||
|
||||
%breadcrumbPath = %this.getItemValue(%itemId);
|
||||
if(%breadcrumbPath !$= "")
|
||||
%breadcrumbPath = %breadcrumbPath @ "/" @ %this.getItemText(%itemId);
|
||||
else
|
||||
%breadcrumbPath = %this.getItemText(%itemId);
|
||||
|
||||
if(%breadcrumbPath $= "")
|
||||
%breadcrumbPath = AssetBrowser.currentAddress;
|
||||
|
||||
AssetBrowser.navigateTo(%breadcrumbPath);
|
||||
}
|
||||
|
||||
|
|
@ -1215,6 +1144,8 @@ function AssetBrowser::rebuildAssetArray(%this)
|
|||
//First, Query for our assets
|
||||
%assetQuery = new AssetQuery();
|
||||
%numAssetsFound = AssetDatabase.findAllAssets(%assetQuery);
|
||||
|
||||
%finalAssetCount = 0;
|
||||
|
||||
//now, we'll iterate through, and find the assets that are in this module, and this category
|
||||
for( %i=0; %i < %numAssetsFound; %i++)
|
||||
|
|
@ -1240,8 +1171,46 @@ function AssetBrowser::rebuildAssetArray(%this)
|
|||
%assetType = AssetDatabase.getAssetType(%assetId);
|
||||
}
|
||||
|
||||
if(AssetBrowser.assetTypeFilter !$= "" && AssetBrowser.assetTypeFilter !$= %assetType)
|
||||
continue;
|
||||
%validType = false;
|
||||
|
||||
if(AssetBrowser.assetTypeFilter $= "")
|
||||
{
|
||||
if(AssetTypeListPopup.isItemChecked(0))
|
||||
{
|
||||
%validType = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(%f=1; %f < AssetFilterTypeList.Count(); %f++)
|
||||
{
|
||||
%isChecked = AssetTypeListPopup.isItemChecked(%f+1);
|
||||
|
||||
if(%isChecked)
|
||||
{
|
||||
%filterTypeName = AssetFilterTypeList.getKey(%f);
|
||||
|
||||
if(%activeTypeFilterList $= "")
|
||||
%activeTypeFilterList = %filterTypeName;
|
||||
else
|
||||
%activeTypeFilterList = %activeTypeFilterList @ ", " @ %filterTypeName;
|
||||
|
||||
if(%filterTypeName @ "Asset" $= %assetType)
|
||||
{
|
||||
%validType = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!%validType)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(%assetType !$= AssetBrowser.assetTypeFilter)
|
||||
continue;
|
||||
}
|
||||
|
||||
/*if(%this.getItemText(%itemId) $= %assetType || (%assetType $= "" && %this.getItemText(%itemId) $= "Misc")
|
||||
|| %moduleItemId == 1)
|
||||
|
|
@ -1253,12 +1222,20 @@ function AssetBrowser::rebuildAssetArray(%this)
|
|||
if(%searchText !$= "Search Assets...")
|
||||
{
|
||||
if(strstr(strlwr(%assetName), strlwr(%searchText)) != -1)
|
||||
{
|
||||
%assetArray.add( %moduleName, %assetId);
|
||||
|
||||
if(%assetType !$= "Folder")
|
||||
%finalAssetCount++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//got it.
|
||||
%assetArray.add( %moduleName, %assetId );
|
||||
|
||||
if(%assetType !$= "Folder")
|
||||
%finalAssetCount++;
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
|
@ -1292,7 +1269,39 @@ function AssetBrowser::rebuildAssetArray(%this)
|
|||
for(%i=0; %i < %assetArray.count(); %i++)
|
||||
AssetBrowser.buildPreviewArray( %assetArray.getValue(%i), %assetArray.getKey(%i) );
|
||||
|
||||
AssetBrowser_FooterText.text = %assetArray.count() @ " Assets";
|
||||
AssetBrowser_FooterText.text = %finalAssetCount @ " Assets";
|
||||
|
||||
%activeTypeFilterList = "";
|
||||
if(AssetBrowser.assetTypeFilter $= "")
|
||||
{
|
||||
if(!AssetTypeListPopup.isItemChecked(0))
|
||||
{
|
||||
for(%f=1; %f < AssetFilterTypeList.Count(); %f++)
|
||||
{
|
||||
%isChecked = AssetTypeListPopup.isItemChecked(%f+1);
|
||||
|
||||
if(%isChecked)
|
||||
{
|
||||
%filterTypeName = AssetFilterTypeList.getKey(%f);
|
||||
|
||||
if(%activeTypeFilterList $= "")
|
||||
%activeTypeFilterList = %filterTypeName;
|
||||
else
|
||||
%activeTypeFilterList = %activeTypeFilterList @ ", " @ %filterTypeName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!%validType)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
%activeTypeFilterList = AssetBrowser.assetTypeFilter;
|
||||
}
|
||||
|
||||
if(%activeTypeFilterList !$= "")
|
||||
AssetBrowser_FooterText.text = AssetBrowser_FooterText.text @ " | Active Type Filters: " @ %activeTypeFilterList;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
@ -1835,17 +1844,22 @@ function AssetBrowserFilterTree::onControlDropped( %this, %payload, %position )
|
|||
|
||||
%parent = %this.getParentItem(%item);
|
||||
|
||||
if(%parent == 1)
|
||||
if(%item != 1)
|
||||
{
|
||||
//we're a module entry, cool
|
||||
%targetModuleName = %this.getItemText(%item);
|
||||
echo("DROPPED IT ON MODULE " @ %targetModuleName);
|
||||
//we're a folder entry, cool
|
||||
%path = %this.getItemValue(%item) @ "/" @ %this.getItemText(%item);
|
||||
echo("DROPPED IT ON PATH " @ %path);
|
||||
|
||||
if(%moduleName !$= %targetModuleName)
|
||||
if(%path !$= AssetBrowser.CurrentAddress)
|
||||
{
|
||||
//we're trying to move the asset to a different module!
|
||||
MessageBoxYesNo( "Move Asset", "Do you wish to move asset " @ %assetName @ " to module " @ %targetModuleName @ "?",
|
||||
"AssetBrowser.moveAsset("@%assetName@", "@%targetModuleName@");", "");
|
||||
MessageBoxYesNo( "Move Asset", "Do you wish to move asset " @ %assetName @ " to " @ %path @ "?",
|
||||
"AssetBrowser.moveAsset(\""@ %moduleName @ ":" @ %assetName @"\", \""@%path@"\");", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function AssetBrowserFilterTree::onDragDropped( %this )
|
||||
{
|
||||
%asdgadfhg =true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ function GuiInspectorTypeCubemapAssetPtr::onControlDropped( %this, %payload, %po
|
|||
%module = %payload.dragSourceControl.parentGroup.moduleName;
|
||||
%asset = %payload.dragSourceControl.parentGroup.assetName;
|
||||
|
||||
%targetComponent = %this.ComponentOwner;
|
||||
%targetComponent = %this.object;
|
||||
%targetComponent.CubemapAsset = %module @ ":" @ %asset;
|
||||
|
||||
//Inspector.refresh();
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@ function AssetBrowser::buildFolderPreview(%this, %assetDef, %previewData)
|
|||
%previewData.assetName = %assetDef.assetName;
|
||||
%previewData.assetPath = %assetDef.dirPath;
|
||||
|
||||
//%previewData.previewImage = "tools/assetBrowser/art/folderIcon";
|
||||
%previewData.previewImage = "tools/gui/images/folder";
|
||||
%previewData.previewImage = "tools/assetBrowser/art/folderIcon";
|
||||
|
||||
//%previewData.assetFriendlyName = %assetDef.assetName;
|
||||
%previewData.assetDesc = %assetDef.description;
|
||||
|
|
@ -92,4 +91,6 @@ function AssetBrowser::moveFolder(%this, %folderPath, %newFolderPath)
|
|||
|
||||
%copiedSuccess = pathCopy(%fullPath, %newFullPath @ "/" @ %newFolderName);
|
||||
%this.deleteFolder(%fullPath);
|
||||
|
||||
//thrash the modules and reload them
|
||||
}
|
||||
|
|
@ -164,6 +164,33 @@ function AssetBrowser::buildImageAssetPreview(%this, %assetDef, %previewData)
|
|||
%previewData.tooltip = %assetDef.friendlyName @ "\n" @ %assetDef;
|
||||
}
|
||||
|
||||
function AssetBrowser::moveImageAsset(%this, %assetDef, %destination)
|
||||
{
|
||||
%currentModule = AssetDatabase.getAssetModule(%assetDef.getAssetId());
|
||||
%targetModule = AssetBrowser.getModuleFromAddress(%destination);
|
||||
|
||||
if(%currentModule $= %targetModule)
|
||||
{
|
||||
//just move the files
|
||||
%assetPath = makeFullPath(AssetDatabase.getAssetFilePath(%assetDef.getAssetId()));
|
||||
%assetFilename = fileName(%assetPath);
|
||||
|
||||
%newAssetPath = %destination @ "/" @ %assetFilename;
|
||||
|
||||
%copiedSuccess = pathCopy(%assetPath, %destination @ "/" @ %assetFilename);
|
||||
%deleteSuccess = fileDelete(%assetPath);
|
||||
|
||||
%imagePath = %assetDef.imageFile;
|
||||
%imageFilename = fileName(%imagePath);
|
||||
|
||||
%copiedSuccess = pathCopy(%imagePath, %destination @ "/" @ %imageFilename);
|
||||
%deleteSuccess = fileDelete(%imagePath);
|
||||
}
|
||||
|
||||
AssetDatabase.removeDeclaredAsset(%assetDef.getAssetId());
|
||||
AssetDatabase.addDeclaredAsset(%targetModule, %newAssetPath);
|
||||
}
|
||||
|
||||
function GuiInspectorTypeImageAssetPtr::onControlDropped( %this, %payload, %position )
|
||||
{
|
||||
Canvas.popDialog(EditorDragAndDropLayer);
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%diffuseTypeSuffixes, ",;") == 0 ? "_albedo" : getToken(%diffuseTypeSuffixes, ",;", 0);
|
||||
%diffuseAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.diffuseImageAsset = %diffuseAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -114,6 +115,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%normalTypeSuffixes, ",;") == 0 ? "_normal" : getToken(%normalTypeSuffixes, ",;", 0);
|
||||
%normalAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.normalImageAsset = %normalAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -134,6 +136,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%metalnessTypeSuffixes, ",;") == 0 ? "_metalness" : getToken(%metalnessTypeSuffixes, ",;", 0);
|
||||
%metalAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.metalImageAsset = %metalAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -154,6 +157,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%roughnessTypeSuffixes, ",;") == 0 ? "_roughness" : getToken(%roughnessTypeSuffixes, ",;", 0);
|
||||
%roughnessAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.roughnessImageAsset = %roughnessAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -174,6 +178,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%smoothnessTypeSuffixes, ",;") == 0 ? "_smoothness" : getToken(%smoothnessTypeSuffixes, ",;", 0);
|
||||
%smoothnessAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.SmoothnessImageAsset = %smoothnessAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -194,6 +199,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%aoTypeSuffixes, ",;") == 0 ? "_AO" : getToken(%aoTypeSuffixes, ",;", 0);
|
||||
%AOAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.AOImageAsset = %AOAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -214,6 +220,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
|
|||
//the material name), then we go ahead and create a blank entry
|
||||
%suff = getTokenCount(%compositeTypeSuffixes, ",;") == 0 ? "_composite" : getToken(%compositeTypeSuffixes, ",;", 0);
|
||||
%compositeAsset = AssetBrowser.addImportingAsset("Image", %assetItem.AssetName @ %suff, %assetItem);
|
||||
%assetItem.compositeImageAsset = %compositeAsset;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ function AssetBrowser::importShapeAsset(%this, %assetItem)
|
|||
%assetId = %moduleName@":"@%assetName;
|
||||
|
||||
%assetPath = AssetBrowser.currentAddress @ "/";
|
||||
%assetFullPath = %assetPath @ "/" @ fileName(%filePath);
|
||||
%assetFullPath = %assetPath @ fileName(%filePath);
|
||||
|
||||
%newAsset = new ShapeAsset()
|
||||
{
|
||||
|
|
@ -213,7 +213,7 @@ function AssetBrowser::importShapeAsset(%this, %assetItem)
|
|||
}
|
||||
}
|
||||
|
||||
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ "/" @ %assetName @ ".asset.taml");
|
||||
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ %assetName @ ".asset.taml");
|
||||
|
||||
//and copy the file into the relevent directory
|
||||
%doOverwrite = !AssetBrowser.isAssetReImport;
|
||||
|
|
@ -245,6 +245,11 @@ function AssetBrowser::importShapeAsset(%this, %assetItem)
|
|||
|
||||
if(getAssetImportConfigValue("Materials/DoUpAxisOverride", "") $= "1")
|
||||
%constructor.upAxis = getAssetImportConfigValue("Meshes/UpAxisOverride", "Z_AXIS");
|
||||
|
||||
if(getAssetImportConfigValue("Meshes/DoScaleOverride", "0") $= "1")
|
||||
%constructor.unit = getAssetImportConfigValue("Meshes/ScaleOverride", "1");
|
||||
else
|
||||
%constructor.unit = -1;
|
||||
|
||||
%constructor.lodType = getAssetImportConfigValue("Meshes/LODType", "0");
|
||||
//%constructor.singleDetailSize = getAssetImportConfigValue("Meshes/convertLeftHanded", "0");
|
||||
|
|
@ -287,11 +292,23 @@ function AssetBrowser::importShapeAsset(%this, %assetItem)
|
|||
%moduleDef = ModuleDatabase.findModule(%moduleName,1);
|
||||
|
||||
if(!AssetBrowser.isAssetReImport)
|
||||
AssetDatabase.addDeclaredAsset(%moduleDef, %assetPath @ "/" @ %assetName @ ".asset.taml");
|
||||
AssetDatabase.addDeclaredAsset(%moduleDef, %assetPath @ %assetName @ ".asset.taml");
|
||||
else
|
||||
AssetDatabase.refreshAsset(%assetId);
|
||||
}
|
||||
|
||||
function AssetBrowser::buildShapeAssetPreview(%this, %assetDef, %previewData)
|
||||
{
|
||||
%previewData.assetName = %assetDef.assetName;
|
||||
%previewData.assetPath = %assetDef.fileName;
|
||||
|
||||
%previewData.previewImage = fileName;
|
||||
|
||||
%previewData.assetFriendlyName = %assetDef.assetName;
|
||||
%previewData.assetDesc = %assetDef.description;
|
||||
%previewData.tooltip = %assetDef.friendlyName @ "\n" @ %assetDef;
|
||||
}
|
||||
|
||||
function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %position )
|
||||
{
|
||||
Canvas.popDialog(EditorDragAndDropLayer);
|
||||
|
|
@ -304,12 +321,12 @@ function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %posi
|
|||
|
||||
if(%assetType $= "ShapeAsset")
|
||||
{
|
||||
echo("DROPPED A SHAPE ON A SHAPE ASSET COMPONENT FIELD!");
|
||||
//echo("DROPPED A SHAPE ON A SHAPE ASSET COMPONENT FIELD!");
|
||||
|
||||
%module = %payload.dragSourceControl.parentGroup.moduleName;
|
||||
%asset = %payload.dragSourceControl.parentGroup.assetName;
|
||||
|
||||
%targetComponent = %this.ComponentOwner;
|
||||
%targetComponent = %this.targetObject;
|
||||
%targetComponent.MeshAsset = %module @ ":" @ %asset;
|
||||
|
||||
//Inspector.refresh();
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ function AssetNameField::onReturn(%this)
|
|||
}
|
||||
|
||||
//------------------------------------------------------------
|
||||
function AssetBrowser::moveAsset(%this, %destination)
|
||||
function AssetBrowser::moveAsset(%this, %assetId, %destination)
|
||||
{
|
||||
if(EditAssetPopup.assetType $= "Folder")
|
||||
{
|
||||
|
|
@ -163,12 +163,15 @@ function AssetBrowser::moveAsset(%this, %destination)
|
|||
}
|
||||
else
|
||||
{
|
||||
%assetDef = AssetDatabase.acquireAsset(EditAssetPopup.assetId);
|
||||
%assetType = AssetDatabase.getAssetType(EditAssetPopup.assetType);
|
||||
%assetDef = AssetDatabase.acquireAsset(%assetId);
|
||||
%assetType = AssetDatabase.getAssetType(%assetId);
|
||||
|
||||
//Do any cleanup required given the type
|
||||
if(%this.isMethod("move"@%assetType))
|
||||
eval(%this @ ".move"@%assetType@"("@%assetDef@");");
|
||||
{
|
||||
%command = %this @ ".move" @ %assetType @ "(" @ %assetDef @ ",\"" @ %destination @ "\");";
|
||||
eval(%this @ ".move" @ %assetType @ "(" @ %assetDef @ ",\"" @ %destination @ "\");");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,24 +104,24 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
class = "EditorWorldMenu";
|
||||
//isPopup = true;
|
||||
|
||||
item[ 0 ] = "Create Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"MaterialAsset\", AssetBrowser.selectedModule);";//"createNewMaterialAsset(\"NewMaterial\", AssetBrowser.selectedModule);";
|
||||
item[ 1 ] = "Create Terrain Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainMaterialAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
|
||||
item[ 2 ] = "Create Image" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ImageAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
|
||||
item[ 0 ] = "Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"MaterialAsset\", AssetBrowser.selectedModule);";//"createNewMaterialAsset(\"NewMaterial\", AssetBrowser.selectedModule);";
|
||||
item[ 1 ] = "Terrain Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainMaterialAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
|
||||
item[ 2 ] = "Image" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ImageAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
|
||||
item[ 3 ] = "-";
|
||||
item[ 4 ] = "Create Terrain Data" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainAsset\", AssetBrowser.selectedModule);";
|
||||
item[ 4 ] = "Terrain Data" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainAsset\", AssetBrowser.selectedModule);";
|
||||
item[ 5 ] = "-";
|
||||
item[ 6 ] = "Create Shape" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"Shape\", AssetBrowser.selectedModule);";
|
||||
item[ 7 ] = "Create Shape Animation" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ShapeAnimationAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewShapeAnimationAsset(\"NewShapeAnimation\", AssetBrowser.selectedModule);";
|
||||
item[ 6 ] = "Shape" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"Shape\", AssetBrowser.selectedModule);";
|
||||
item[ 7 ] = "Shape Animation" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ShapeAnimationAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewShapeAnimationAsset(\"NewShapeAnimation\", AssetBrowser.selectedModule);";
|
||||
item[ 8 ] = "-";
|
||||
item[ 9 ] = "Create GUI" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GUIAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewGUIAsset(\"NewGUI\", AssetBrowser.selectedModule);";
|
||||
item[ 9 ] = "GUI" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GUIAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewGUIAsset(\"NewGUI\", AssetBrowser.selectedModule);";
|
||||
item[ 10 ] = "-";
|
||||
item[ 11 ] = "Create Post Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"PostEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewPostEffectAsset(\"NewPostEffect\", AssetBrowser.selectedModule);";
|
||||
item[ 11 ] = "Post Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"PostEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewPostEffectAsset(\"NewPostEffect\", AssetBrowser.selectedModule);";
|
||||
item[ 12 ] = "-";
|
||||
item[ 13 ] = "Create Sound" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"SoundAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewSoundAsset(\"NewSound\", AssetBrowser.selectedModule);";
|
||||
item[ 13 ] = "Sound" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"SoundAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewSoundAsset(\"NewSound\", AssetBrowser.selectedModule);";
|
||||
item[ 14 ] = "-";
|
||||
item[ 15 ] = "Create Particle Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ParticleEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewParticleEffectAsset(\"NewParticleEffect\", AssetBrowser.selectedModule);";
|
||||
item[ 15 ] = "Particle Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ParticleEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewParticleEffectAsset(\"NewParticleEffect\", AssetBrowser.selectedModule);";
|
||||
item[ 16 ] = "-";
|
||||
item[ 17 ] = "Create Cubemap" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CubemapAsset\", AssetBrowser.selectedModule);";
|
||||
item[ 17 ] = "Cubemap" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CubemapAsset\", AssetBrowser.selectedModule);";
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
item[ 3 ] = "Create Component Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppComponentAsset\", AssetBrowser.selectedModule);";
|
||||
item[ 4 ] = "Create Script Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppScriptClass\", AssetBrowser.selectedModule);";*/
|
||||
|
||||
item[ 0 ] = "Create C++ Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
|
||||
item[ 0 ] = "C++ Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
|
||||
};
|
||||
//%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
|
||||
}
|
||||
|
|
@ -151,17 +151,17 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
superClass = "MenuBuilder";
|
||||
class = "EditorWorldMenu";
|
||||
|
||||
item[0] = "Create Folder" TAB "" TAB "AssetBrowser.CreateNewFolder();";
|
||||
item[0] = "Folder" TAB "" TAB "AssetBrowser.CreateNewFolder();";
|
||||
item[1] = "-";
|
||||
item[2] = "Create Code Asset" TAB AddNewScriptAssetPopup;
|
||||
item[2] = "Code Asset" TAB AddNewScriptAssetPopup;
|
||||
item[3] = "-";
|
||||
item[4] = "Create Art Asset" TAB AddNewArtAssetPopup;
|
||||
item[4] = "Art Asset" TAB AddNewArtAssetPopup;
|
||||
item[5] = "-";
|
||||
item[6] = "Create Level" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewLevelAsset(\"NewLevel\", AssetBrowser.selectedModule);";
|
||||
item[6] = "Level" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewLevelAsset(\"NewLevel\", AssetBrowser.selectedModule);";
|
||||
item[7] = "-";
|
||||
item[8] = "Create C++ Asset" TAB AddNewCppAssetPopup;
|
||||
item[8] = "C++ Asset" TAB AddNewCppAssetPopup;
|
||||
item[9] = "-";
|
||||
item[10] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
|
||||
item[10] = "New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -174,7 +174,7 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
class = "EditorWorldMenu";
|
||||
//isPopup = true;
|
||||
|
||||
item[ 0 ] = "Create New Asset" TAB AddNewAssetPopup;
|
||||
item[ 0 ] = "New Asset" TAB AddNewAssetPopup;
|
||||
item[ 1 ] = "Reload Module" TAB "" TAB "AssetBrowser.reloadModule();";
|
||||
Item[ 2 ] = "-";
|
||||
Item[ 3 ] = "Edit Module" TAB "" TAB "AssetBrowser.editModuleInfo();";
|
||||
|
|
@ -199,7 +199,7 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
class = "EditorWorldMenu";
|
||||
//isPopup = true;
|
||||
|
||||
Item[ 0 ] = "Create in Folder" TAB AddNewAssetPopup;
|
||||
Item[ 0 ] = "Create" TAB AddNewAssetPopup;
|
||||
item[ 1 ] = "-";
|
||||
item[ 2 ] = "Rename Folder" TAB "" TAB "AssetBrowser.renameAsset();";
|
||||
Item[ 3 ] = "Duplicate Folder" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
||||
|
|
@ -243,15 +243,22 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
superClass = "MenuBuilder";
|
||||
class = "EditorWorldMenu";
|
||||
//isPopup = true;
|
||||
|
||||
radioSelection = false;
|
||||
};
|
||||
|
||||
/*for(%i=0; %i < AssetFilterTypeList.Count(); %i++)
|
||||
AssetTypeListPopup.addItem(0, AssetFilterTypeList.getKey(0) TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ 0 @ ");");
|
||||
AssetTypeListPopup.addItem(1, "-");
|
||||
|
||||
for(%i=1; %i < AssetFilterTypeList.Count(); %i++)
|
||||
{
|
||||
%assetTypeName = AssetFilterTypeList.getKey(%i);
|
||||
AssetTypeListPopup.insertItem(%i, %assetTypeName, "", "AssetBrowser.toggleAssetTypeFilter(" @ %i @ ");");
|
||||
}*/
|
||||
AssetTypeListPopup.addItem(%i+1, %assetTypeName TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ %i + 1 @ ");");
|
||||
}
|
||||
}
|
||||
|
||||
AssetBrowser.toggleAssetTypeFilter(0);
|
||||
|
||||
//Browser visibility menu
|
||||
if( !isObject( BrowserVisibilityPopup ) )
|
||||
{
|
||||
|
|
@ -276,7 +283,6 @@ function AssetBrowser::buildPopupMenus(%this)
|
|||
};
|
||||
|
||||
BrowserVisibilityPopup.enableItem(5, false);
|
||||
BrowserVisibilityPopup.enableItem(7, false);
|
||||
BrowserVisibilityPopup.enableItem(9, false);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue