Added/Improved some asset type icons

Renamed current default import config to DefaultConfig
Updated Asset Browser UI layout.
Fixed sizing behavior for Edit Asset window
Fixed sizing behavior for Edit Module window
Implemented Collection Sets system
Implemented handling of non-asset loose files for AB
Initial handling logic for prefabs for AB
Updated Asset Importer to hook into C++ AssetImporter
Made Add Module window properly reset module name field when opened
Overhauled entire AB search system so it can use phrases and compound search logic
Overhauled asset previews to utilize single guiIconButtonCtrl for efficiency and stability
Updated Asset Preview Drag-n-drop to work with new previews
Begun initial work with Tags integration into AB - currently only works with datablock categories
Bugin initial work with Creator classes - currently only populates category lists, no items
Added logic for scanning current AB directory for non-asset loose files, and activating an Auto-Import button if any are found
Added ability to drag-n-drop datablocks from AB and spawn requisite object
Stabilized drag-n-drop behavior of ShapeAssets, so when spawned, it'll find a much more sane drop position
Fixed shapeAsset fields for drag-n-drop behavior so it correctly sets field now
Adjusted folder and asset search fields in AB to utilize placeholder text
Added logic when creating new module to prompt auto-populating common default folders
Shifted preview size to slider
Added logic to MenuBuilder so popup menus can utilize bitmap arrays
Added editor setting for if to display loose files in AB
Minor theme color corrections for some profiles
This commit is contained in:
Areloch 2020-07-11 16:49:06 -05:00
parent 67dbe4dfe2
commit 4adcedcf28
42 changed files with 1944 additions and 1160 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -1,137 +1,138 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<AssetImportSettings>
<Group name="NewTest">
<Group name="Materials">
<Setting name="ImportMaterials">1</Setting>
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="CreateComposites">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
</Group>
<Group name="Meshes">
<Setting name="DoScaleOverride">0</Setting>
<Setting name="limitBoneWeights">0</Setting>
<Setting name="convertLeftHanded">0</Setting>
<Setting name="ScaleOverride">1</Setting>
<Setting name="JoinIdenticalVerts">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="calcTangentSpace">0</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="removeRedundantMats">0</Setting>
<Setting name="ImportMesh">1</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="genUVCoords">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="TransformUVs">0</Setting>
<Setting name="flipUVCoords">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="findInstances">0</Setting>
</Group>
<Group name="Images">
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="CompositeTypeSuffixes">_COMP,_COMPOSITE</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL</Setting>
<Setting name="UseMips">1</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
</Group>
<Group name="General">
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
<Setting name="AutomaticallyPromptMissingFiles">0</Setting>
<Setting name="WarningsAsErrors">0</Setting>
<Setting name="PreventImportWithErrors">1</Setting>
</Group>
<Group name="Collision">
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
</Group>
<Group name="DefaultConfig">
<Group name="Animations">
<Setting name="ImportAnimations">1</Setting>
<Setting name="animTiming">Seconds</Setting>
<Setting name="animFPS">2</Setting>
<Setting name="SeparateAnimations">1</Setting>
</Group>
<Group name="Sounds">
<Setting name="VolumeAdjust">1.0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="Compressed">0</Setting>
</Group>
</Group>
<Group name="TestConfig">
<Group name="Images">
<Setting name="Compressed">1</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL,_baseColor,_a,</Setting>
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="CompositeTypeSuffixes">_COMP,_COMPOSITE</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="UseMips">1</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="UseMips">1</Setting>
</Group>
<Group name="Collision">
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Group name="Meshes">
<Setting name="invertNormals">0</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="DoScaleOverride">1</Setting>
<Setting name="JoinIdenticalVerts">1</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="ScaleOverride">0.01</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="LODType">TrailingNumber</Setting>
</Group>
<Group name="Sounds">
<Setting name="Compressed">0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
<Setting name="VolumeAdjust">1.0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
</Group>
<Group name="General">
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
</Group>
<Group name="Meshes">
<Setting name="JoinIdenticalVerts">1</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="DoScaleOverride">1</Setting>
<Setting name="LODType">TrailingNumber</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="ScaleOverride">0.01</Setting>
<Setting name="invertNormals">0</Setting>
<Group name="Collision">
<Setting name="GenCollisionType">CollisionMesh</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="GenerateCollisions">1</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
</Group>
<Group name="Materials">
<Setting name="IgnoreMaterials">ColorEffect*,</Setting>
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="ImportMaterials">1</Setting>
<Setting name="CreateComposites">1</Setting>
<Setting name="AlwaysPresentImageMaps">0</Setting>
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
<Setting name="ImportMaterials">1</Setting>
<Setting name="AlwaysPresentImageMaps">0</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
</Group>
<Group name="General">
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
</Group>
</Group>
<Group name="NewTest">
<Group name="Images">
<Setting name="AOTypeSuffixes">_AO,_AMBIENT,_AMBIENTOCCLUSION</Setting>
<Setting name="GenerateMaterialOnImport">1</Setting>
<Setting name="DiffuseTypeSuffixes">_ALBEDO,_DIFFUSE,_ALB,_DIF,_COLOR,_COL</Setting>
<Setting name="SmoothnessTypeSuffixes">_SMOOTH,_SMOOTHNESS</Setting>
<Setting name="NormalTypeSuffixes">_NORMAL,_NORM</Setting>
<Setting name="ImageType">N/A</Setting>
<Setting name="IsHDR">0</Setting>
<Setting name="RoughnessTypeSuffixes">_ROUGH,_ROUGHNESS</Setting>
<Setting name="Scaling">1.0</Setting>
<Setting name="MetalnessTypeSuffixes">_METAL,_MET,_METALNESS,_METALLIC</Setting>
<Setting name="Compressed">1</Setting>
<Setting name="CompositeTypeSuffixes">_COMP,_COMPOSITE</Setting>
<Setting name="TextureFilteringMode">Bilinear</Setting>
<Setting name="UseMips">1</Setting>
</Group>
<Group name="Meshes">
<Setting name="DoScaleOverride">0</Setting>
<Setting name="reverseWindingOrder">0</Setting>
<Setting name="DoUpAxisOverride">0</Setting>
<Setting name="invertNormals">0</Setting>
<Setting name="UpAxisOverride">Z_AXIS</Setting>
<Setting name="JoinIdenticalVerts">0</Setting>
<Setting name="AdjustCenter">0</Setting>
<Setting name="calcTangentSpace">0</Setting>
<Setting name="IgnoreNodeScale">0</Setting>
<Setting name="convertLeftHanded">0</Setting>
<Setting name="AdjustFloor">0</Setting>
<Setting name="ImportMesh">1</Setting>
<Setting name="flipUVCoords">0</Setting>
<Setting name="CollapseSubmeshes">0</Setting>
<Setting name="TransformUVs">0</Setting>
<Setting name="removeRedundantMats">0</Setting>
<Setting name="limitBoneWeights">0</Setting>
<Setting name="findInstances">0</Setting>
<Setting name="genUVCoords">0</Setting>
<Setting name="ScaleOverride">1</Setting>
<Setting name="LODType">TrailingNumber</Setting>
</Group>
<Group name="Collision">
<Setting name="GenerateCollisions">1</Setting>
<Setting name="CollisionMeshPrefix">Col</Setting>
<Setting name="LOSCollisionMeshPrefix">LOS</Setting>
<Setting name="GenerateLOSCollisions">1</Setting>
<Setting name="GenLOSCollisionType">CollisionMesh</Setting>
<Setting name="GenCollisionType">CollisionMesh</Setting>
</Group>
<Group name="Animations">
<Setting name="SeparateAnimations">1</Setting>
<Setting name="ImportAnimations">1</Setting>
<Setting name="SeparateAnimations">1</Setting>
<Setting name="animTiming">Seconds</Setting>
<Setting name="animFPS">2</Setting>
</Group>
<Group name="General">
<Setting name="PreventImportWithErrors">1</Setting>
<Setting name="WarningsAsErrors">0</Setting>
<Setting name="AutomaticallyPromptMissingFiles">0</Setting>
<Setting name="DuplicatAutoResolution">AutoPrune</Setting>
</Group>
<Group name="Sounds">
<Setting name="VolumeAdjust">1.0</Setting>
<Setting name="Compressed">0</Setting>
<Setting name="PitchAdjust">1.0</Setting>
</Group>
<Group name="Materials">
<Setting name="ImportMaterials">1</Setting>
<Setting name="UseExistingMaterials">1</Setting>
<Setting name="CreateComposites">1</Setting>
<Setting name="PopulateMaterialMaps">1</Setting>
<Setting name="UseDiffuseSuffixOnOriginImage">1</Setting>
</Group>
</Group>
</AssetImportSettings>

View file

@ -12,20 +12,7 @@
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
AddNewArtAssetPopup = "18110";
AddNewAssetPopup = "18112";
AddNewCppAssetPopup = "18111";
AddNewScriptAssetPopup = "18109";
coreModulesFilter = "0";
currentPreviewPage = "0";
Enabled = "1";
navigationHistoryIdx = "0";
onlyShowModulesWithAssets = "0";
previewData = "19953";
previewSize = "80";
templateFilesPath = "tools/assetBrowser/scripts/templateFiles/";
totalPages = "1";
canSaveDynamicFields = "0";
new GuiWindowCtrl(AssetBrowser_addFilterWindow) {
text = "Create New Tag";
@ -167,8 +154,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "256 107";
extent = "512 554";
position = "204 80";
extent = "615 608";
minExtent = "383 274";
horizSizing = "center";
vertSizing = "center";
@ -181,108 +168,22 @@
canSave = "1";
canSaveDynamicFields = "0";
new GuiButtonCtrl(CreateAssetButton) {
text = "New";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "3 22";
extent = "45 19";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiButtonCtrl(ImportAssetButton) {
text = "Import";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "52 22";
extent = "45 19";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_NavigateBackBtn) {
bitmap = "tools/gui/images/folderUp.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "98 21";
extent = "22 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.navigateHistoryBack();";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_NavigateForwardBtn) {
bitmap = "tools/gui/images/folderDown.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "120 21";
extent = "22 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.navigateHistoryForward();";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiStackControl(AssetBrowser_BreadcrumbBar) {
stackingType = "Horizontal";
horizStacking = "Left to Right";
vertStacking = "Top to Bottom";
padding = "0";
new GuiDynamicCtrlArrayControl() {
colCount = "20";
colSize = "30";
rowCount = "1";
rowSize = "30";
rowSpacing = "0";
colSpacing = "0";
frozen = "0";
autoCellSize = "0";
fillRowFirst = "1";
dynamicSize = "0";
dynamicNonStackExtent = "0";
dynamicPos = "0";
changeChildSizeToFit = "0";
changeChildPosition = "1";
position = "156 21";
extent = "326 23";
minExtent = "16 16";
horizSizing = "width";
padding = "0 0 0 0";
position = "0 24";
extent = "615 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
@ -290,41 +191,188 @@
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
internalName = "topBar";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_VisibilityOptions) {
bitmap = "tools/gui/images/visible";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "487 21";
extent = "23 23";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "ToolsGuiSolidDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.showVisibiltyOptions();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Visibility Options";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/phone.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Left";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "0 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Controls for layout and window mode.";
hovertime = "1000";
isContainer = "0";
internalName = "windowOptionsButton";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/plus.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Center";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "30 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Create a new asset in the current directory";
hovertime = "1000";
isContainer = "0";
internalName = "CreateAssetButton";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/import.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Center";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "60 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Import a file to be a new asset in the current directory";
hovertime = "1000";
isContainer = "0";
internalName = "ImportAssetButton";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/filter.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Center";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "90 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.showVisibiltyOptions();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Visibility and filter modes.";
hovertime = "1000";
isContainer = "0";
internalName = "filterAssetsButton";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/return.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Center";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "120 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.refreshDatabases();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Refresh Asset and Module databases.";
hovertime = "1000";
isContainer = "0";
internalName = "refreshDatabasesButton";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiIconButtonCtrl() {
buttonMargin = "4 4";
iconBitmap = "tools/gui/images/stencilIcons/warning.png";
iconLocation = "Left";
sizeIconToButton = "1";
makeIconSquare = "1";
textLocation = "Center";
textMargin = "4";
autoSize = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "150 0";
extent = "30 30";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.autoImportSimpleLooseFiles();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Find all loose files that are of a \"simple\" type and automatically import them.";
hovertime = "1000";
isContainer = "0";
internalName = "AutoImportAssetButton";
canSave = "1";
canSaveDynamicFields = "0";
};
};
new GuiSplitContainer(AssetBrowser_MainSplit) {
orientation = "Vertical";
splitterSize = "2";
splitPoint = "149 100";
splitPoint = "190 100";
fixedPanel = "None";
fixedSize = "356";
fixedSize = "468";
docking = "None";
margin = "0 0 0 0";
padding = "0 0 0 0";
@ -332,8 +380,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "3 42";
extent = "505 509";
position = "3 56";
extent = "608 532";
minExtent = "64 64";
horizSizing = "relative";
vertSizing = "height";
@ -355,7 +403,7 @@
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "147 509";
extent = "188 532";
minExtent = "0 0";
horizSizing = "right";
vertSizing = "bottom";
@ -376,8 +424,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "147 31";
position = "0 -4";
extent = "188 25";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
@ -396,7 +444,7 @@
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
text = "Search Folders...";
placeholderText = "Search Folders...";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
@ -404,8 +452,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "148 18";
position = "0 3";
extent = "189 18";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
@ -418,10 +466,11 @@
class = "AssetBrowserSearchFilterTxt";
canSave = "1";
canSaveDynamicFields = "0";
command="AssetBrowserFolderSearchFilter.onEdited();";
};
new GuiBitmapButtonCtrl(AssetBrowser_ClearFolderFilterBtn) {
bitmap = "tools/gui/images/clear-icon";
bitmapMode = "Centered";
new GuiBitmapButtonCtrl() {
bitmap = "tools/gui/images/stencilIcons/zoom.png";
bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
@ -429,7 +478,7 @@
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "132 0";
position = "173 4";
extent = "15 15";
minExtent = "8 2";
horizSizing = "left";
@ -440,6 +489,8 @@
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
internalName = "folderSearchBtn";
class = "AssetBrowserFolderSearchBtn";
canSave = "1";
canSaveDynamicFields = "0";
};
@ -452,7 +503,7 @@
anchorLeft = "1";
anchorRight = "0";
position = "0 17";
extent = "147 493";
extent = "188 516";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
@ -482,7 +533,7 @@
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "147 493";
extent = "188 516";
minExtent = "8 8";
horizSizing = "width";
vertSizing = "height";
@ -518,7 +569,7 @@
canRenameObjects = "1";
renameInternal = "0";
position = "1 1";
extent = "145 147";
extent = "186 2";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
@ -543,8 +594,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "151 0";
extent = "354 509";
position = "192 0";
extent = "416 532";
minExtent = "16 16";
horizSizing = "right";
vertSizing = "bottom";
@ -565,8 +616,135 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "1 0";
extent = "354 19";
position = "0 0";
extent = "418 20";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(AssetBrowser_NavigateBackBtn) {
bitmap = "tools/gui/images/folderUp.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "0 0";
extent = "22 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.navigateHistoryBack();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Navigate Back in history";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_NavigateForwardBtn) {
bitmap = "tools/gui/images/folderDown.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "22 0";
extent = "22 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.navigateHistoryForward();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Navigate forward in history";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiStackControl(AssetBrowser_BreadcrumbBar) {
stackingType = "Horizontal";
horizStacking = "Left to Right";
vertStacking = "Top to Bottom";
padding = "0";
dynamicSize = "0";
dynamicNonStackExtent = "0";
dynamicPos = "0";
changeChildSizeToFit = "0";
changeChildPosition = "1";
position = "52 0";
extent = "365 23";
minExtent = "16 16";
horizSizing = "width";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextEditCtrl() {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "48 0";
extent = "369 18";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
profile = "ToolsGuiTextEditProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
internalName = "NavPath";
class = "assetBrowserNavPath";
canSave = "1";
canSaveDynamicFields = "0";
};
};
new GuiContainer() {
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "1 20";
extent = "416 19";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
@ -579,13 +757,39 @@
canSave = "1";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(AssetBrowser_VisibilityOptions) {
bitmap = "tools/gui/images/visible";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "0 0";
extent = "23 23";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "ToolsGuiSolidDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.showVisibiltyOptions();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Visibility Options";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextEditCtrl(AssetBrowserSearchFilter) {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
text = "Search Assets...";
placeHolderText = "Search Assets...";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
@ -593,8 +797,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "21 1";
extent = "314 18";
position = "22 1";
extent = "375 18";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "bottom";
@ -607,9 +811,10 @@
class = "AssetBrowserSearchFilterTxt";
canSave = "1";
canSaveDynamicFields = "0";
command="AssetBrowserSearchFilter.onEdited();";
};
new GuiBitmapButtonCtrl(AssetBrowser_ClearAssetFilterBtn) {
bitmap = "tools/gui/images/clear-icon";
new GuiBitmapButtonCtrl() {
bitmap = "tools/gui/images/stencilIcons/zoom.png";
bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
@ -618,7 +823,7 @@
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "321 1";
position = "383 1";
extent = "15 15";
minExtent = "8 2";
horizSizing = "left";
@ -627,40 +832,15 @@
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Create New Asset";
hovertime = "1000";
isContainer = "0";
internalName = "assetSearchBtn";
class = "AssetBrowserAssetSearchBtn";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_ToggleFolderPanel) {
bitmap = "tools/gui/images/iconList.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "1 1";
extent = "15 15";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiSolidDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.toggleFolderCollapseButton();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Toggles the display of the folders panel";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl(AssetBrowser_FilterOptionsBtn) {
bitmap = "tools/gui/images/filter.png";
new GuiBitmapButtonCtrl() {
bitmap = "tools/gui/images/save-icon";
bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
@ -669,7 +849,7 @@
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "337 1";
position = "399 1";
extent = "15 15";
minExtent = "8 2";
horizSizing = "left";
@ -677,11 +857,12 @@
profile = "ToolsGuiSolidDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.showFilterOptions();";
command = "Canvas.pushDialog(CreateNewCollectionSetCtrl);";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Filter Options";
tooltip = "Save current search parameters as a collectionset";
hovertime = "1000";
isContainer = "0";
internalName = "saveSearchAsCollectionBtn";
canSave = "1";
canSaveDynamicFields = "0";
};
@ -693,8 +874,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "1";
position = "1 17";
extent = "354 487";
position = "1 37";
extent = "416 495";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
@ -724,7 +905,7 @@
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "354 467";
extent = "416 479";
minExtent = "8 8";
horizSizing = "width";
vertSizing = "height";
@ -739,8 +920,8 @@
new GuiMouseEventCtrl(AssetListPanelInputs) {
lockMouse = "0";
position = "1 0";
extent = "339 467";
position = "1 1";
extent = "414 472";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
@ -763,8 +944,8 @@
dynamicPos = "0";
changeChildSizeToFit = "1";
changeChildPosition = "0";
position = "2 1";
extent = "339 124";
position = "2 2";
extent = "414 120";
minExtent = "16 16";
horizSizing = "width";
vertSizing = "bottom";
@ -778,10 +959,10 @@
canSaveDynamicFields = "0";
new GuiDynamicCtrlArrayControl() {
colCount = "3";
colCount = "4";
colSize = "100";
rowCount = "1";
rowSize = "124";
rowSize = "120";
rowSpacing = "2";
colSpacing = "2";
frozen = "0";
@ -790,7 +971,7 @@
dynamicSize = "1";
padding = "0 0 0 0";
position = "3 0";
extent = "339 124";
extent = "414 120";
minExtent = "8 8";
horizSizing = "width";
vertSizing = "bottom";
@ -814,8 +995,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 467";
extent = "354 20";
position = "0 479";
extent = "416 16";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
@ -830,6 +1011,7 @@
canSaveDynamicFields = "0";
};
new GuiTextCtrl(AssetBrowser_FooterText) {
text = "0 Assets";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
@ -837,7 +1019,7 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 470";
position = "0 475";
extent = "269 23";
minExtent = "8 2";
horizSizing = "right";
@ -851,31 +1033,82 @@
canSave = "1";
canSaveDynamicFields = "0";
};
};
new GuiButtonCtrl() {
text = "Select";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "301 488";
extent = "53 19";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "0";
active = "1";
command = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
internalName = "SelectButton";
hidden = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl(AssetBrowser_ToggleFolderPanel) {
bitmap = "tools/gui/images/stencilIcons/previous.png";
bitmapMode = "Stretched";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "-2 200";
extent = "18 18";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "center";
profile = "ToolsGuiSolidDefaultProfile";
visible = "1";
active = "1";
command = "AssetBrowser.toggleFolderCollapseButton();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Toggles the display of the folders panel";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
};
};
};
new GuiButtonCtrl() {
text = "Select";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "559 588";
extent = "53 19";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "0";
active = "1";
command = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
internalName = "SelectButton";
hidden = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiSliderCtrl() {
range = "0 2";
ticks = "5";
snap = "1";
value = "1";
useFillBar = "0";
fillBarColor = "255 255 255 255";
renderTicks = "0";
position = "8 588";
extent = "75 20";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "top";
profile = "GuiSliderProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Controls the asset preview size. At minimum, it will render items as a list.";
hovertime = "1000";
isContainer = "0";
internalName = "previewSlider";
class = "assetBrowserPreviewSlider";
canSave = "1";
canSaveDynamicFields = "0";
};
};
};
//--- OBJECT WRITE END ---

View file

@ -0,0 +1,124 @@
//--- OBJECT WRITE BEGIN ---
%guiContent = new GuiControl(CreateNewCollectionSetCtrl) {
position = "0 0";
extent = "1024 768";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsGuiDefaultNonModalProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
Enabled = "1";
new GuiWindowCtrl() {
text = "Name New Collection Set";
resizeWidth = "1";
resizeHeight = "0";
canMove = "1";
canClose = "1";
canMinimize = "0";
canMaximize = "0";
canCollapse = "0";
edgeSnap = "1";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "362 334";
extent = "355 99";
minExtent = "48 92";
horizSizing = "center";
vertSizing = "center";
profile = "ToolsGuiWindowProfile";
visible = "1";
active = "1";
closeCommand = "Canvas.popDialog(CreateNewCollectionSetCtrl);";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiButtonCtrl() {
text = "Select";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "207 68";
extent = "71 22";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "Canvas.popDialog(CreateNewCollectionSetCtrl); AssetBrowser.saveCurrentFiltersAsCollection();";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiButtonCtrl() {
text = "Cancel";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "284 68";
extent = "64 22";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "Canvas.popDialog(CreateNewCollectionSetCtrl);";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextEditCtrl() {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "8 38";
extent = "341 18";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
profile = "ToolsGuiTextEditProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
internalName="collectionSetName";
};
};
};
//--- OBJECT WRITE END ---
function CreateNewCollectionSetCtrl::onWake(%this)
{
%this-->collectionSetName.setText("");
}

View file

@ -1,7 +1,7 @@
//--- OBJECT WRITE BEGIN ---
%guiContent = new GuiControl(AssetBrowser_editAsset) {
position = "0 0";
extent = "1920 1080";
extent = "1024 768";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
@ -13,7 +13,7 @@
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
enabled = "1";
Enabled = "1";
new GuiWindowCtrl(AssetBrowser_editAssetWindow) {
text = "Asset Properties";
@ -32,7 +32,7 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "710 375";
position = "262 219";
extent = "500 329";
minExtent = "48 92";
horizSizing = "center";
@ -48,7 +48,7 @@
new GuiScrollCtrl() {
willFirstRespond = "1";
hScrollBar = "alwaysOff";
hScrollBar = "dynamic";
vScrollBar = "dynamic";
lockHorizScroll = "0";
lockVertScroll = "0";
@ -64,9 +64,9 @@
position = "1 21";
extent = "498 283";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "Tools";
horizSizing = "width";
vertSizing = "height";
profile = "ToolsGuiScrollProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
@ -88,9 +88,9 @@
changeChildSizeToFit = "1";
changeChildPosition = "1";
position = "1 1";
extent = "481 101";
extent = "493 101";
minExtent = "16 16";
horizSizing = "right";
horizSizing = "width";
vertSizing = "bottom";
profile = "GuiInspectorProfile";
visible = "1";
@ -110,9 +110,9 @@
position = "402 305";
extent = "45 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "ToolsuiButtonProfile";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "AssetBrowser_editAsset.saveAsset();";
@ -130,8 +130,8 @@
position = "450 305";
extent = "45 22";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";

View file

@ -1,7 +1,7 @@
//--- OBJECT WRITE BEGIN ---
%guiContent = new GuiControl(AssetBrowser_editModule) {
position = "0 0";
extent = "1920 1080";
extent = "1024 768";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
@ -13,7 +13,7 @@
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
enabled = "1";
Enabled = "1";
new GuiWindowCtrl(AssetBrowser_editModuleWindow) {
text = "Module Properties";
@ -32,7 +32,7 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "710 375";
position = "262 219";
extent = "500 329";
minExtent = "48 92";
horizSizing = "center";
@ -110,7 +110,7 @@
position = "402 305";
extent = "45 22";
minExtent = "8 2";
horizSizing = "right";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
@ -130,7 +130,7 @@
position = "450 305";
extent = "45 22";
minExtent = "8 2";
horizSizing = "right";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";

View file

@ -24,6 +24,7 @@ function initializeAssetBrowser()
echo(" % - Initializing Asset Browser");
$AssetBrowser::importConfigsFile = "tools/assetBrowser/assetImportConfigs.xml";
$AssetBrowser::collectionSetsFile = "tools/assetBrowser/searchCollectionSets.xml";
$AssetBrowser::currentImportConfig = "";
if(!isObject(AssetFilterTypeList))
@ -50,6 +51,8 @@ function initializeAssetBrowser()
AssetFilterTypeList.add("TerrainMaterialAsset");
}
exec("./scripts/profiles.cs");
exec("./guis/assetBrowser.gui");
exec("./guis/addModuleWindow.gui");
exec("./guis/gameObjectCreator.gui");
@ -67,6 +70,7 @@ function initializeAssetBrowser()
exec("./guis/assetImportLog.gui");
exec("./guis/looseFileAudit.gui");
exec("./guis/assetNameEdit.gui");
exec("./guis/createNewCollectionSet.gui");
exec("./scripts/assetBrowser.cs");
exec("./scripts/popupMenus.cs");
@ -102,6 +106,8 @@ function initializeAssetBrowser()
exec("./scripts/assetTypes/terrain.cs");
exec("./scripts/assetTypes/terrainMaterial.cs");
exec("./scripts/assetTypes/datablockObjects.cs");
exec("./scripts/assetTypes/looseFiles.cs");
exec("./scripts/assetTypes/prefab.cs");
new ScriptObject( AssetBrowserPlugin )
{
@ -123,19 +129,34 @@ function initializeAssetBrowser()
ImportAssetWindow.reloadImportOptionConfigs();
//CollectionSets
if(!isObject(AssetBrowserCollectionSets))
{
new Settings(AssetBrowserCollectionSets)
{
file = $AssetBrowser::collectionSetsFile;
};
}
AssetBrowserCollectionSets.read();
if(!isObject(ImportAssetWindow.importTempDirHandler))
ImportAssetWindow.importTempDirHandler = makedirectoryHandler(0, "", "");
if(!isObject(ImportActivityLog))
new ArrayObject(ImportActivityLog);
if(!isObject(AssetSearchTerms))
new ArrayObject(AssetSearchTerms);
ImportAssetWindow.importingFilesArray = new ArrayObject();
if(!isObject(SessionImportAssetItems))
new ArrayObject(SessionImportAssetItems);
//if(!isObject(SessionImportAssetItems))
// new ArrayObject(SessionImportAssetItems);
if(!isObject(ImportAssetItems))
new ArrayObject(ImportAssetItems);
//if(!isObject(ImportAssetItems))
// new ArrayObject(ImportAssetItems);
ImportAssetWindow.importer = new AssetImporter();
AssetBrowser.buildPopupMenus();

View file

@ -19,6 +19,11 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
//-----------------------------------------------------------------------------
function AssetBrowser_addModuleWindow::onWake(%this)
{
%this-->ModuleName.setText("");
}
function AssetBrowser_addModuleWindow::onGainFirstResponder(%this)
{
%this-->moduleName.setFirstResponder();

View file

@ -24,8 +24,10 @@ function ImportAssetWindow::showDialog(%this)
{
//prep the import control
Canvas.pushDialog(AssetImportCtrl);
AssetImportCtrl.setHidden(true);
AssetImportCtrl.setHidden(false);
ImportAssetWindow.allowAutoImport = true; //special-case override for if we want to force a manual import process
ImportAssetWindow.assetHeirarchyChanged = false;
%defaultConfig = EditorSettings.value("Assets/AssetImporDefaultConfig", "");
@ -45,14 +47,15 @@ function ImportAssetWindow::showDialog(%this)
function ImportAssetWindow::Close(%this)
{
//Some cleanup
ImportAssetWindow.importingFilesArray.empty();
ImportAssetWindow.importer.resetImportSession(true);
//ImportAssetWindow.importingFilesArray.empty();
%this.importTempDirHandler.deleteFolder("tools/assetBrowser/importTemp/*/");
if(ImportAssetWindow.isAwake())
ImportAssetWindow.refresh();
ImportAssetItems.empty();
//ImportAssetItems.empty();
Canvas.popDialog();
}
@ -124,7 +127,6 @@ function getImageInfo(%file)
//This lets us go and look for a image at the importing directory as long as it matches the material name
function findImageFile(%path, %materialName, %type)
{
if(isFile(%path @ "/" @ %materialName @ ".jpg"))
return %path @ "/" @ %materialName @ ".jpg";
else if(isFile(%path @ "/" @ %materialName @ ".png"))
@ -173,7 +175,9 @@ function AssetBrowser::onDropFile( %this, %filePath )
if(!%this.isVisible())
return;
%fileExt = fileExt( %filePath );
ImportAssetWindow.importer.addImportingFile(%filePath);
/*%fileExt = fileExt( %filePath );
//add it to our array!
if(isImageFormat(%fileExt))
%assetItem = %this.addImportingAsset("ImageAsset", %filePath);
@ -194,13 +198,13 @@ function AssetBrowser::onDropFile( %this, %filePath )
{
SessionImportAssetItems.add(%assetItem);
ImportAssetItems.add(%assetItem);
}
}*/
//Used to keep tabs on what files we were trying to import, used mainly in the event of
//adjusting configs and needing to completely reprocess the import
//ensure we're not doubling-up on files by accident
if(ImportAssetWindow.importingFilesArray.getIndexFromKey(%filePath) == -1)
ImportAssetWindow.importingFilesArray.add(%filePath);
//if(ImportAssetWindow.importingFilesArray.getIndexFromKey(%filePath) == -1)
// ImportAssetWindow.importingFilesArray.add(%filePath);
}
function AssetBrowser::onDropZipFile(%this, %filePath)
@ -334,8 +338,10 @@ function AssetBrowser::addImportingAsset( %this, %assetType, %filePath, %parentA
%moduleName = AssetBrowser.SelectedModule;
ImportAssetModuleList.text = %moduleName;
%assetName = strreplace( %assetName, " ", "_" );
//Add to our main list
%assetItem = new ScriptObject()
%assetItem = new AssetImportObject()
{
assetType = %assetType;
filePath = %filePath;
@ -350,33 +356,9 @@ function AssetBrowser::addImportingAsset( %this, %assetType, %filePath, %parentA
skip = false;
processed = false;
generatedAsset = false;
childAssetItems = new ArrayObject(){};
};
if(%parentAssetItem !$= "")
{
ImportActivityLog.add("Added Child Importing Asset to " @ %parentAssetItem.assetName);
}
else
{
ImportActivityLog.add("Added Importing Asset");
}
ImportActivityLog.add(" Asset Info: Name: " @ %assetName @ " | Type: " @ %assetType);
if(%filePath !$= "")
ImportActivityLog.add(" File: " @ %filePath);
if(%parentAssetItem $= "")
{
%asd = true;
}
else
{
%parentAssetItem.childAssetItems.add(%assetItem);
}
ImportAssetWindow.refresh();
ImportAssetWindow.importer.addImportingAssetItem(%assetItem, %parentAssetItem);
return %assetItem;
}
@ -426,7 +408,7 @@ function ImportAssetWindow::reloadImportOptionConfigs(%this)
}
//
function importLooseFile(%filePath, %forceAutoImport)
/*function importLooseFile(%filePath, %forceAutoImport)
{
%assetType = getAssetTypeByFilename(%filePath);
@ -480,7 +462,7 @@ function importLooseFile(%filePath, %forceAutoImport)
$importedLooseFileAsset = %assetItem.moduleName @ ":" @ %assetItem.assetName;
return true;
}
}*/
//
function assetImportUpdatePath(%newPath)
@ -491,7 +473,7 @@ function assetImportUpdatePath(%newPath)
}
//
function ImportAssetWindow::processImportAssets(%this, %assetItem)
/*function ImportAssetWindow::processImportAssets(%this, %assetItem)
{
if(!isObject(%assetItem))
{
@ -573,7 +555,7 @@ function ImportAssetWindow::processImportAssets(%this, %assetItem)
//so we'll loop back through again until everything has been processed
if(ImportAssetWindow.assetHeirarchyChanged)
%this.processImportAssets();
}
}*/
function ImportAssetWindow::findImportingAssetByName(%this, %assetName, %assetItem)
{
@ -642,16 +624,19 @@ function ImportAssetWindow::doRefresh(%this)
%this.autoRenamedAssets = 0;
//Go through and process any newly, unprocessed assets
%this.processImportAssets();
ImportAssetWindow.importer.processImportingAssets();
//%this.processImportAssets();
ImportAssetWindow.hasImportIssues = %this.validateAssets();
//ImportAssetWindow.hasImportIssues = %this.validateAssets();
ImportAssetWindow.importer.validateImportingAssets();
AssetImportCtrl-->NewAssetsTree.clear();
AssetImportCtrl-->NewAssetsTree.insertItem(0, "Importing Assets");
for(%i=0; %i < ImportAssetItems.count(); %i++)
for(%i=0; %i < ImportAssetWindow.importer.getAssetItemCount(); %i++)
{
%assetItem = ImportAssetItems.getKey(%i);
%assetItem = ImportAssetWindow.importer.getAssetItem(%i);
%this.refreshAssetItem(%assetItem);
}
@ -687,16 +672,17 @@ function ImportAssetWindow::doRefresh(%this)
//bother showing the window.
//If any of these conditions fail, we'll display the import window so it can be handled
//by the user
if(ImportAssetWindow.importConfigsList.count() != 0 &&
EditorSettings.value("Assets/AssetImporDefaultConfig") !$= "" &&
EditorSettings.value("Assets/AutoImport", false) == true
&& ImportAssetWindow.hasImportIssues == false)
if(ImportAssetWindow.importConfigsList.count() != 0
&& EditorSettings.value("Assets/AssetImporDefaultConfig") !$= ""
&& EditorSettings.value("Assets/AutoImport", false) == true
&& ImportAssetWindow.hasImportIssues == false
&& ImportAssetWindow.allowAutoImport)
{
AssetImportCtrl.setHidden(true);
ImportAssetWindow.visible = false;
//Go ahead and check if we have any issues, and if not, run the import!
ImportAssetWindow.ImportAssets();
ImportAssetWindow.importer.ImportAssets();
}
else
{
@ -723,7 +709,7 @@ function ImportAssetWindow::doRefresh(%this)
%this.dirty = false;
}
function ImportAssetWindow::refreshAssetItem(%this, %assetItem)
function ImportAssetWindow::refreshAssetItem(%this, %assetItem, %parentTreeIdx)
{
if(!isObject(%assetItem) || %assetItem.skip)
return;
@ -733,7 +719,7 @@ function ImportAssetWindow::refreshAssetItem(%this, %assetItem)
%assetName = %assetItem.assetName;
//Once validated, attempt any fixes for issues
%this.resolveIssue(%assetItem);
ImportAssetWindow.importer.resolveAssetItemIssues(%assetItem);
//create!
%toolTip = "";
@ -783,16 +769,15 @@ function ImportAssetWindow::refreshAssetItem(%this, %assetItem)
%iconIdx = 7;
}
%parentTreeIdx = %assetItem.parentAssetItem.treeIdx;
if(%parentTreeIdx $= "")
%parentTreeIdx = 1;
%assetItem.treeIdx = AssetImportCtrl-->NewAssetsTree.insertItem(%parentTreeIdx, %assetName, %assetItem, "", %iconIdx, %iconIdx+1);
for(%i=0; %i < %assetItem.childAssetItems.count(); %i++)
for(%i=0; %i < ImportAssetWindow.importer.getAssetItemChildCount(%assetItem); %i++)
{
%childAssetItem = %assetItem.childAssetItems.getKey(%i);
%this.refreshAssetItem(%childAssetItem);
%childAssetItem = ImportAssetWindow.importer.getAssetItemChild(%assetItem, %i);
%this.refreshAssetItem(%childAssetItem, %assetItem.treeIdx);
}
}
@ -818,6 +803,8 @@ function NewAssetsViewTree::onSelect(%this, %itemId)
//AssetImportCtrl-->NewAssetsInspector.addField("assetName", "Asset Name", "string", "", %assetItem.assetName, "", %assetItem);
AssetImportCtrl-->NewAssetsInspector.addField("status", "Status", "string", "", %assetItem.status, "", %assetItem);
AssetImportCtrl-->NewAssetsInspector.addField("statusInfo", "Status Info", "string", "", %assetItem.statusInfo, "", %assetItem);
AssetImportCtrl-->NewAssetsInspector.endGroup();
AssetImportCtrl-->NewAssetsInspector.setFieldEnabled("assetType", false);
@ -890,7 +877,7 @@ function ImportAssetWindow::removeImportingAsset(%this)
{
ImportActivityLog.add("Removing Asset from Import");
%this.deleteImportingAsset(ImportAssetActions.assetItem);
%this.importer.deleteImportingAsset(ImportAssetActions.assetItem);
//ImportAssetWindow.refresh();
}
@ -937,6 +924,11 @@ function ImportAssetWindow::addNewImportingAsset(%this, %filterType)
//AssetBrowser.onDropFile( %path );
%fileExt = fileExt( %filePath );
%fileName = fileName(%filePath);
if(%fileExt $= ".dts" && endsWith(%fileName, ".cached"))
return "";
//add it to our array!
if(isImageFormat(%fileExt))
%type = "ImageAsset";
@ -969,292 +961,9 @@ function ImportAssetWindow::addMaterialMap(%this, %map)
%newAssetItem.ImageType = %map;
}
//
function ImportAssetWindow::importResolution(%this, %assetItem)
{
if(%assetItem.status !$= "Error" && %assetItem.status !$= "Warning")
{
//If nothing's wrong, we just edit it
ImportAssetOptionsWindow.editImportSettings(%assetItem);
return;
}
else
{
ImportAssetResolutionsPopup.assetItem = %assetItem;
if(%assetItem.statusType $= "DuplicateAsset" || %assetItem.statusType $= "DuplicateImportAsset")
{
ImportAssetResolutionsPopup.enableItem(3, false); //Rename
ImportAssetResolutionsPopup.enableItem(5, false); //Find Missing
}
else if(%assetItem.statusType $= "MissingFile")
{
ImportAssetResolutionsPopup.enableItem(0, false); //Use Orig
ImportAssetResolutionsPopup.enableItem(1, false); //Use Dupe
ImportAssetResolutionsPopup.enableItem(3, false); //Rename
}
}
ImportAssetResolutionsPopup.showPopup(Canvas);
}
function ImportAssetWindow::validateAssets(%this, %assetItem)
{
ImportAssetWindow.importIssues = false;
//Clear any status
%this.resetAssetsValidationStatus();
for(%i=0; %i < ImportAssetItems.count(); %i++)
{
%assetItem = ImportAssetItems.getKey(%i);
%this.validateAsset(%assetItem);
}
if(ImportAssetWindow.importIssues == false)
return false;
else
return true;
}
function ImportAssetWindow::validateAsset(%this, %assetItem)
{
%moduleName = AssetImportTargetModule.getText();
if(!isObject(%assetItem) || %assetItem.skip)
{
return;
}
//First, check the obvious: name collisions. We should have no asset that shares a similar name.
//If we do, prompt for it be renamed first before continuing
%hasCollision = %this.checkAssetsForCollision(%assetItem);
//Ran into a problem, so end checks on this one and move on
if(%hasCollision)
return;
//No collisions of for this name in the importing assets. Now, check against the existing assets in the target module
if(!AssetBrowser.isAssetReImport)
{
%assetQuery = new AssetQuery();
%numAssetsFound = AssetDatabase.findAllAssets(%assetQuery);
%foundCollision = false;
for( %f=0; %f < %numAssetsFound; %f++)
{
%assetId = %assetQuery.getAsset(%f);
//first, get the asset's module, as our major categories
%module = AssetDatabase.getAssetModule(%assetId);
%testModuleName = %module.moduleId;
//These are core, native-level components, so we're not going to be messing with this module at all, skip it
if(%moduleName !$= %testModuleName)
continue;
%testAssetName = AssetDatabase.getAssetName(%assetId);
if(%testAssetName $= %assetItem.assetName)
{
%foundCollision = true;
%assetItem.status = "error";
%assetItem.statusType = "DuplicateAsset";
%assetItem.statusInfo = "Duplicate asset names found with the target module!\nAsset \"" @
%assetItem.assetName @ "\" of type \"" @ %assetItem.assetType @ "\" has a matching name.\nPlease rename it and try again!";
ImportActivityLog.add("Error! Asset " @ %assetItem.assetName @ " has an identically named asset in the target module");
break;
}
}
if(%foundCollision == true)
{
//yup, a collision, prompt for the change and bail out
/*MessageBoxOK( "Error!", "Duplicate asset names found with the target module!\nAsset \"" @
%assetItemA.assetName @ "\" of type \"" @ %assetItemA.assetType @ "\" has a matching name.\nPlease rename it and try again!");*/
//%assetQuery.delete();
//return false;
}
//Clean up our queries
%assetQuery.delete();
}
//Check if we were given a file path(so not generated) but somehow isn't a valid file
if(%assetItem.filePath !$= "" && !%assetItem.generatedAsset && !isFile(%assetItem.filePath))
{
%assetItem.status = "error";
%assetItem.statusType = "MissingFile";
%assetItem.statusInfo = "Unable to find file to be imported. Please select asset file.";
ImportActivityLog.add("Error! Asset " @ %assetItem.filePath @ " was not found");
}
if(%assetItem.status $= "Warning")
{
if(getAssetImportConfigValue("General/WarningsAsErrors", "0") == 1)
{
%assetItem.status = "error";
ImportActivityLog.add("Warnings treated as errors!");
}
}
if(%assetItem.status $= "error")
ImportAssetWindow.importIssues = true;
for(%i=0; %i < %assetItem.childAssetItems.count(); %i++)
{
%childAssetItem = %assetItem.childAssetItems.getKey(%i);
%this.validateAsset(%childAssetItem);
}
}
//
function ImportAssetWindow::resetAssetsValidationStatus(%this, %assetItem)
{
if(!isObject(%assetItem))
{
for(%i=0; %i < ImportAssetItems.count(); %i++)
{
%assetItem = ImportAssetItems.getKey(%i);
if(!isObject(%assetItem) || %assetItem.skip)
continue;
%assetItem.status = "";
%assetItem.statusType = "";
%assetItem.statusInfo = "";
if(%assetItem.childAssetItems.count() != 0)
%this.resetAssetsValidationStatus(%assetItem);
}
}
else
{
for(%i=0; %i < %assetItem.childAssetItems.count(); %i++)
{
%childAssetItem = %assetItem.childAssetItems.getKey(%i);
if(!isObject(%childAssetItem) || %childAssetItem.skip)
continue;
%childAssetItem.status = "";
%childAssetItem.statusType = "";
%childAssetItem.statusInfo = "";
if(%childAssetItem.childAssetItems.count() != 0)
%this.resetAssetsValidationStatus(%childAssetItem);
}
}
}
function ImportAssetWindow::checkAssetsForCollision(%this, %assetItemToCheck, %assetItem)
{
%result = false;
if(!isObject(%assetItem))
{
for(%i=0; %i < ImportAssetItems.count(); %i++)
{
%assetItem = ImportAssetItems.getKey(%i);
if(!isObject(%assetItem) || %assetItem.skip)
continue;
if( (%assetItemToCheck.assetName $= %assetItem.assetName) && (%assetItemToCheck.getId() != %assetItem.getId()) )
{
//yup, a collision, prompt for the change and bail out
%assetItemToCheck.status = "Warning";
%assetItemToCheck.statusType = "DuplicateImportAsset";
%assetItemToCheck.statusInfo = "Duplicate asset names found with importing assets!\nAsset \"" @
%assetItem.assetName @ "\" of type \"" @ %assetItem.assetType @ "\" and \"" @
%assetItemToCheck.assetName @ "\" of type \"" @ %assetItemToCheck.assetType @ "\" have matching names.\nPlease rename one of them and try again!";
ImportActivityLog.add("Warning! Asset " @ %assetItemToCheck.assetName @ ", type " @ %assetItemToCheck.assetType @ " has a naming collisions with asset " @ %assetItem.assetName @ ", type " @ %assetItem.assetType);
return true;
}
if(%assetItem.childAssetItems.count() != 0)
{
//recurse!
%result = %this.checkAssetsForCollision(%assetItemToCheck, %assetItem);
}
if(%result)
return %result;
}
}
else
{
for(%i=0; %i < %assetItem.childAssetItems.count(); %i++)
{
%childAssetItem = %assetItem.childAssetItems.getKey(%i);
if(!isObject(%childAssetItem) || %childAssetItem.skip)
continue;
if( (%assetItemToCheck.assetName $= %childAssetItem.assetName) && (%assetItemToCheck.getId() != %childAssetItem.getId()) )
{
//yup, a collision, prompt for the change and bail out
%assetItemToCheck.status = "Warning";
%assetItemToCheck.statusType = "DuplicateImportAsset";
%assetItemToCheck.statusInfo = "Duplicate asset names found with importing assets!\nAsset \"" @
%childAssetItem.assetName @ "\" of type \"" @ %childAssetItem.assetType @ "\" and \"" @
%assetItemToCheck.assetName @ "\" of type \"" @ %assetItemToCheck.assetType @ "\" have matching names.\nPlease rename one of them and try again!";
ImportActivityLog.add("Warning! Asset " @ %assetItemToCheck.assetName @ ", type " @ %assetItemToCheck.assetType @ " has a naming collisions with asset " @ %childAssetItem.assetName @ ", type " @ %childAssetItem.assetType);
return true;
}
if(%childAssetItem.childAssetItems.count() != 0)
{
//recurse!
%result = %this.checkAssetsForCollision(%assetItemToCheck, %childAssetItem);
}
if(%result)
return %result;
}
}
return %result;
}
//
function ImportAssetWindow::deleteImportingAsset(%this, %assetItem)
{
if(%assetItem.parentAssetItem !$= "")
{
%idx = %assetItem.parentAssetItem.childAssetItems.getIndexFromKey(%assetItem);
%assetItem.parentAssetItem.childAssetItems.erase(%idx);
ImportActivityLog.add("Deleting Importing Asset " @ %assetItem.assetName @ " from it's parent item: " @ %assetItem.parentAssetItem);
}
ImportActivityLog.add("Deleting Importing Asset " @ %assetItem.assetName @ " and all it's child items");
%idx = ImportAssetItems.getIndexFromKey(%assetItem);
ImportAssetItems.erase(%idx);
schedule(10, 0, "refreshImportAssetWindow");
}
//
function ImportAssetWindow::ImportAssets(%this)
{
//do the actual importing, now!
%assetCount = ImportAssetItems.count();
//get the selected module data
%moduleName = AssetImportTargetModule.getText();
@ -1266,255 +975,34 @@ function ImportAssetWindow::ImportAssets(%this)
return;
}
%this.doImportAssets();
Canvas.pushDialog( EditorLoadingGui );
Canvas.repaint();
%this.importer.targetModuleId = %moduleName;
%this.importer.targetPath = AssetImportTargetAddress.getText();
%this.importer.importAssets();
//force an update of any and all modules so we have an up-to-date asset list
AssetBrowser.refresh();
Canvas.popDialog(AssetImportCtrl);
AssetBrowser.isAssetReImport = false;
}
function ImportAssetWindow::doImportAssets(%this, %assetItem)
{
%moduleName = AssetImportTargetModule.getText();
if(%assetItem $= "")
{
for(%i=0; %i < ImportAssetItems.count(); %i++)
{
%assetItem = ImportAssetItems.getKey(%i);
if(!isObject(%assetItem) || %assetItem.skip)
continue;
%assetType = %assetItem.AssetType;
%filePath = %assetItem.filePath;
%assetName = %assetItem.assetName;
%assetImportSuccessful = false;
%assetId = %moduleName@":"@%assetName;
%command = "AssetBrowser.import" @ %assetType @ "(" @ %assetItem @ ");";
eval(%command);
//recurse if needed
%this.doImportAssets(%assetItem);
}
}
else
{
for(%i=0; %i < %assetItem.childAssetItems.count(); %i++)
{
%childAssetItem = %assetItem.childAssetItems.getKey(%i);
if(!isObject(%childAssetItem) || %childAssetItem.skip)
continue;
%assetType = %childAssetItem.AssetType;
%filePath = %childAssetItem.filePath;
%assetName = %childAssetItem.assetName;
%assetImportSuccessful = false;
%assetId = %moduleName@":"@%assetName;
%command = "AssetBrowser.import" @ %assetType @ "(" @ %childAssetItem @ ");";
eval(%command);
//recurse if needed
%this.doImportAssets(%childAssetItem);
}
}
}
function ImportAssetWindow::doImportAsset(%this, %assetItem)
{
%assetItem = ImportAssetTree.getItemObject(%id);
if(!isObject(%assetItem) || %assetItem.skip)
{
%id = ImportAssetTree.getNextSibling(%id);
continue;
}
%this.importer.resetImportSession(true);
%assetType = %assetItem.AssetType;
%filePath = %assetItem.filePath;
%assetName = %assetItem.assetName;
%assetImportSuccessful = false;
%assetId = %moduleName@":"@%assetName;
Canvas.popDialog( EditorLoadingGui );
if(%assetType $= "ImageAsset")
{
AssetBrowser.importImageAsset(%assetItem);
}
else if(%assetType $= "ShapeAsset")
{
AssetBrowser.importShapeAsset(%assetItem);
}
else if(%assetType $= "AnimationAsset")
{
%assetPath = "data/" @ %moduleName @ "/ShapeAnimations";
%assetFullPath = %assetPath @ "/" @ fileName(%filePath);
%newAsset = new ShapeAnimationAsset()
{
assetName = %assetName;
versionId = 1;
fileName = %assetFullPath;
originalFilePath = %filePath;
animationFile = %assetFullPath;
animationName = %assetName;
startFrame = 0;
endFrame = -1;
padRotation = false;
padTransforms = false;
};
//do the actual importing, now!
/*%assetCount = ImportAssetItems.count();
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ "/" @ %assetName @ ".asset.taml");
//and copy the file into the relevent directory
%doOverwrite = !AssetBrowser.isAssetReImport;
if(!pathCopy(%filePath, %assetFullPath, %doOverwrite))
{
error("Unable to import asset: " @ %filePath);
}
}
else if(%assetType $= "SoundAsset")
{
%assetPath = "data/" @ %moduleName @ "/Sounds";
%assetFullPath = %assetPath @ "/" @ fileName(%filePath);
%newAsset = new SoundAsset()
{
assetName = %assetName;
versionId = 1;
fileName = %assetFullPath;
originalFilePath = %filePath;
};
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ "/" @ %assetName @ ".asset.taml");
//and copy the file into the relevent directory
%doOverwrite = !AssetBrowser.isAssetReImport;
if(!pathCopy(%filePath, %assetFullPath, %doOverwrite))
{
error("Unable to import asset: " @ %filePath);
}
}
else if(%assetType $= "MaterialAsset")
{
AssetBrowser.importMaterialAsset(%assetItem);
}
else if(%assetType $= "ScriptAsset")
{
%assetPath = "data/" @ %moduleName @ "/Scripts";
%assetFullPath = %assetPath @ "/" @ fileName(%filePath);
%newAsset = new ScriptAsset()
{
assetName = %assetName;
versionId = 1;
scriptFilePath = %assetFullPath;
isServerSide = true;
originalFilePath = %filePath;
};
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ "/" @ %assetName @ ".asset.taml");
//and copy the file into the relevent directory
%doOverwrite = !AssetBrowser.isAssetReImport;
if(!pathCopy(%filePath, %assetFullPath, %doOverwrite))
{
error("Unable to import asset: " @ %filePath);
}
}
else if(%assetType $= "GUIAsset")
{
%assetPath = "data/" @ %moduleName @ "/GUIs";
%assetFullPath = %assetPath @ "/" @ fileName(%filePath);
%newAsset = new GUIAsset()
{
assetName = %assetName;
versionId = 1;
GUIFilePath = %assetFullPath;
scriptFilePath = "";
originalFilePath = %filePath;
};
%assetImportSuccessful = TAMLWrite(%newAsset, %assetPath @ "/" @ %assetName @ ".asset.taml");
//and copy the file into the relevent directory
%doOverwrite = !AssetBrowser.isAssetReImport;
if(!pathCopy(%filePath, %assetFullPath, %doOverwrite))
{
error("Unable to import asset: " @ %filePath);
}
}
if(%assetImportSuccessful)
{
%moduleDef = ModuleDatabase.findModule(%moduleName,1);
if(!AssetBrowser.isAssetReImport)
AssetDatabase.addDeclaredAsset(%moduleDef, %assetPath @ "/" @ %assetName @ ".asset.taml");
else
AssetDatabase.refreshAsset(%assetId);
}
if(ImportAssetTree.isParentItem(%id))
{
%childItem = ImportAssetTree.getChild(%id);
//recurse!
%this.doImportAssets(%childItem);
}
%id = ImportAssetTree.getNextSibling(%id);
}
function ImportAssetWindow::resolveIssue(%this, %assetItem)
{
//Ok, we actually have a warning, so lets resolve
if(%assetItem.statusType $= "DuplicateImportAsset" || %assetItem.statusType $= "DuplicateAsset")
{
%resolutionAction = getAssetImportConfigValue("General/DuplicatAutoResolution", "AutoPrune");
%humanReadableStatus = %assetItem.statusType $= "DuplicateImportAsset" ? "Duplicate Import Asset" : "Duplicate Asset";
if(%resolutionAction $= "AutoPrune")
{
%this.deleteImportingAsset(%assetItem);
%this.prunedDuplicateAssets++;
ImportActivityLog.add("Asset " @ %assetItem.assetName @ " was Autopruned due to " @ %humanReadableStatus);
}
else if(%resolutionAction $= "AutoRename")
{
ImportActivityLog.add("Asset " @ %assetItem.assetName @ " was Auto-Renamed due to " @ %humanReadableStatus);
%noNum = stripTrailingNumber(%assetItem.assetName);
%num = getTrailingNumber(%assetItem.assetName);
if(%num == -1)
{
%assetItem.assetName = %noNum @ "1";
}
else
{
%num++;
%assetItem.assetName = %noNum @ %num;
}
ImportActivityLog.add(" New name is " @ %assetItem.assetName);
%this.autoRenamedAssets++;
}
}
else if(%assetItem.statusType $= "MissingFile")
{
if(getAssetImportConfigValue("General/AutomaticallyPromptMissingFiles", "0") == 1)
{
%this.findMissingFile(%assetItem);
}
}
%this.doImportAssets();
//force an update of any and all modules so we have an up-to-date asset list
AssetBrowser.refresh();
Canvas.popDialog(AssetImportCtrl);
AssetBrowser.isAssetReImport = false;*/
}
function ImportAssetWindow::findMissingFile(%this, %assetItem)

View file

@ -10,11 +10,18 @@ function ImportAssetConfigList::onSelect( %this, %id, %text )
ImportActivityLog.add("");
ImportAssetWindow.activeImportConfigIndex = %id;
ImportAssetWindow.activeImportConfig = ImportAssetWindow.importConfigsList.getKey(%id);
//ImportAssetWindow.activeImportConfig = ImportAssetWindow.importConfigsList.getKey(%id);
if(!isObject(%this.activeImporConfig))
%this.activeImporConfig = new AssetImportConfig();
%this.activeImporConfig.loadImportConfig(AssetImportSettings, ImportAssetWindow.importConfigsList.getKey(%id));
//If we were trying to import anything, refresh it with the new config
if( ImportAssetWindow.importingFilesArray.count() != 0)
AssetBrowser.reloadImportingFiles();
ImportAssetWindow.importer.resetImportSession();
//if( ImportAssetWindow.importingFilesArray.count() != 0)
// AssetBrowser.reloadImportingFiles();
}
function setupImportConfigSettingsList()

View file

@ -95,14 +95,14 @@ function GuiInspectorTypeCubemapAssetPtr::onControlDropped( %this, %payload, %po
if( !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" ) )
return;
%assetType = %payload.dragSourceControl.parentGroup.assetType;
%assetType = %payload.assetType;
if(%assetType $= "CubemapAsset")
{
echo("DROPPED A CUBEMAP ON A CUBEMAP ASSET COMPONENT FIELD!");
%module = %payload.dragSourceControl.parentGroup.moduleName;
%asset = %payload.dragSourceControl.parentGroup.assetName;
%module = %payload.moduleName;
%asset = %payload.assetName;
%targetComponent = %this.object;
%targetComponent.CubemapAsset = %module @ ":" @ %asset;

View file

@ -42,15 +42,26 @@ function AssetBrowser::doCreateNewDatablock(%this)
function AssetBrowser::buildDatablockPreview(%this, %assetDef, %previewData)
{
%previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %assetDef.dirPath;
%previewData.assetName = %assetDef;
%previewData.assetPath = "";
%previewData.previewImage = "tools/assetBrowser/art/scriptIcon";
%previewData.previewImage = "tools/assetBrowser/art/datablockIcon";
//%previewData.assetFriendlyName = %assetDef.assetName;
%previewData.assetDesc = %assetDef.description;
%previewData.tooltip = %assetDef.dirPath;
%previewData.doubleClickCommand = "AssetBrowser.schedule(10, \"navigateTo\",\""@ %assetDef.dirPath @ "/" @ %assetDef.assetName @"\");";//browseTo %assetDef.dirPath / %assetDef.assetName
%previewData.assetDesc = %assetDef;
%previewData.tooltip = %assetDef;
%previewData.doubleClickCommand = "AssetBrowser.schedule(10, \"spawnDatablockObject\",\""@ %assetDef @"\");";//browseTo %assetDef.dirPath / %assetDef.assetName
}
function spawnDatablockObject(%datablock)
{
%name = %datablock.getName();
%class = %datablock.getClassName();
%cmd = %class @ "::create(" @ %name @ ");";
%shapePath = ( %datablock.shapeFile !$= "" ) ? %datablock.shapeFile : %datablock.shapeName;
%createCmd = "EWCreatorWindow.createObject( \\\"" @ %cmd @ "\\\" );";
return eval("showImportDialog( \"" @ %shapePath @ "\", \"" @ %createCmd @ "\" );");
}
function AssetBrowser::renameDatablock(%this, %folderPath, %newFolderName)
@ -124,4 +135,25 @@ function AssetBrowser::deleteDatablock(%this, %folderPath)
%this.dirHandler.deleteDatablock(%folderPath);
%this.refresh();
}
function AssetBrowser::onDatablockEditorDropped(%this, %assetDef, %position)
{
%targetPosition = EWorldEditor.unproject(%position SPC 1000);
%camPos = LocalClientConnection.camera.getPosition();
%rayResult = containerRayCast(%camPos, %targetPosition, -1);
%pos = EWCreatorWindow.getCreateObjectPosition();
if(%rayResult != 0)
{
%pos = getWords(%rayResult, 1, 3);
}
else
{
%pos = "0 0 0";
}
%newObj = spawnDatablockObject(%assetDef);
%newObj.position = %pos;
}

View file

@ -261,7 +261,7 @@ function GuiInspectorTypeImageAssetPtr::onControlDropped( %this, %payload, %posi
if( !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" ) )
return;
%assetType = %payload.dragSourceControl.parentGroup.assetType;
%assetType = %payload.assetType;
if(%assetType $= "ImageAsset")
{

View file

@ -7,6 +7,10 @@ function AssetBrowser::setupCreateNewLevelAsset(%this)
NewAssetPropertiesInspector.endGroup();
}
function AssetImporter::importLevelAsset(%this, %assetItem)
{
}
function AssetBrowser::createLevelAsset(%this)
{
%moduleName = AssetBrowser.newAssetSettings.moduleName;

View file

@ -0,0 +1,14 @@
function AssetBrowser::buildLooseFilePreview(%this, %assetDef, %previewData)
{
%fullPath = %assetDef.dirPath @ "/" @ %assetDef.assetName;
%previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %fullPath;
%previewData.previewImage = "tools/assetBrowser/art/looseFileIcon";
//%previewData.assetFriendlyName = %assetDef.assetName;
%previewData.assetDesc = %assetDef.description;
%previewData.tooltip = %fullPath;
//%previewData.doubleClickCommand = "AssetBrowser.schedule(10, \"navigateTo\",\""@ %assetDef.dirPath @ "/" @ %assetDef.assetName @"\");";//browseTo %assetDef.dirPath / %assetDef.assetName
%previewData.doubleClickCommand = "AssetBrowser.autoImportFile(\"" @ %fullPath @ "\");";
}

View file

@ -432,7 +432,7 @@ function AssetBrowser::importMaterialAsset(%this, %assetItem)
function AssetBrowser::buildMaterialAssetPreview(%this, %assetDef, %previewData)
{
%previewData.assetName = %assetDef.materialDefinitionName;
%previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %assetDef.scriptFile;
//Lotta prepwork
@ -501,9 +501,9 @@ function GuiInspectorTypeMaterialAssetPtr::onControlDropped( %this, %payload, %p
if( !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" ) )
return;
%assetType = %payload.dragSourceControl.parentGroup.assetType;
%module = %payload.dragSourceControl.parentGroup.moduleName;
%assetName = %payload.dragSourceControl.parentGroup.assetName;
%assetType = %payload.assetType;
%module = %payload.moduleName;
%assetName = %payload.assetName;
if(%assetType $= "MaterialAsset")
{

View file

@ -0,0 +1,14 @@
function AssetBrowser::buildPrefabPreview(%this, %assetDef, %previewData)
{
%fullPath = %assetDef.dirPath @ "/" @ %assetDef.assetName;
%previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %fullPath;
%previewData.previewImage = "tools/assetBrowser/art/genericAssetIcon";
//%previewData.assetFriendlyName = %assetDef.assetName;
%previewData.assetDesc = %assetDef.description;
%previewData.tooltip = %fullPath;
//%previewData.doubleClickCommand = "AssetBrowser.schedule(10, \"navigateTo\",\""@ %assetDef.dirPath @ "/" @ %assetDef.assetName @"\");";//browseTo %assetDef.dirPath / %assetDef.assetName
%previewData.doubleClickCommand = "AssetBrowser.autoImportFile(\"" @ %fullPath @ "\");";
}

View file

@ -270,6 +270,10 @@ function AssetBrowser::onShapeAssetEditorDropped(%this, %assetDef, %position)
{
%pos = getWords(%rayResult, 1, 3);
}
else
{
%pos = "0 0 0";
}
%assetId = %assetDef.getAssetId();
@ -296,17 +300,17 @@ function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %posi
if( !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" ) )
return;
%assetType = %payload.dragSourceControl.parentGroup.assetType;
%assetType = %payload.assetType;
if(%assetType $= "ShapeAsset")
{
//echo("DROPPED A SHAPE ON A SHAPE ASSET COMPONENT FIELD!");
%module = %payload.dragSourceControl.parentGroup.moduleName;
%asset = %payload.dragSourceControl.parentGroup.assetName;
%module = %payload.moduleName;
%asset = %payload.assetName;
%targetComponent = %this.targetObject;
%targetComponent.MeshAsset = %module @ ":" @ %asset;
%targetComponent.shapeAsset = %module @ ":" @ %asset;
//Inspector.refresh();
}

View file

@ -58,7 +58,7 @@ function directoryHandler::loadFolders(%this, %path, %parentId)
// %iconIdx = 1;
%searchFoldersText = %this.searchFilter;
if(%searchFoldersText !$= "Search Folders...")
if(%searchFoldersText !$= "")
{
if(strstr(strlwr(%folderName), strlwr(%searchFoldersText)) != -1)
{
@ -123,7 +123,7 @@ function directoryHandler::navigateTo(%this, %address, %historyNav, %selectionNa
//find our folder tree and action on it tree
%folderId = %this.getFolderTreeItemFromAddress(%address);
%this.oldAddress = %this.currentAddress;
%this.currentAddress = %address;
%this.selectedItem = %folderId;
@ -197,7 +197,15 @@ function directoryHandler::getFolderTreeItemFromAddress(%this, %address)
//break down the address
%folderCount = getTokenCount(%address, "/");
%curItem = 0;
if(startsWith(%address, "Data/") || startsWith(%address, "Tools/") || startsWith(%address, "Core/"))
{
%curItem = %this.treeCtrl.findChildItemByName(1, "Modules");
}
else
{
%curItem = 1;
}
%rebuiltPath = "";
for(%f=0; %f < %folderCount; %f++)
{
@ -214,7 +222,15 @@ function directoryHandler::expandTreeToAddress(%this, %address)
%folderCount = getTokenCount(%address, "/");
%this.treeCtrl.expandItem(0);
%curItem = 0;
if(startsWith(%address, "Data/") || startsWith(%address, "Tools/") || startsWith(%address, "Core/"))
{
%curItem = %this.treeCtrl.findChildItemByName(1, "Modules");
}
else
{
%curItem = 1;
}
%rebuiltPath = "";
for(%f=0; %f < %folderCount; %f++)
{

View file

@ -15,7 +15,40 @@ function AssetBrowser::CreateNewModule(%this)
Canvas.pushDialog(AssetBrowser_AddModule);
AssetBrowser_addModuleWindow.selectWindow();
AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.loadDirectories();";
AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.promptNewModuleFolders();";
}
function AssetBrowser::promptNewModuleFolders(%this)
{
MessageBoxYesNo("Create Folders?",
"Do you want to create some common folders for organization of your new Module?",
"AssetBrowser.makeModuleFolders();", //if yes, make the foldesr
"AssetBrowser.loadDirectories();"); //if no, just refresh
}
function AssetBrowser::makeModuleFolders(%this)
{
%moduleId = AssetBrowser.newModuleId;
%moduleDef = ModuleDatabase.findModule(%moduleId);
%modulePath = %moduleDef.ModulePath;
%count = 0;
%defaultModuleFolders[%count++] = "datablocks";
%defaultModuleFolders[%count++] = "terrains";
%defaultModuleFolders[%count++] = "postFXs";
%defaultModuleFolders[%count++] = "levels";
%defaultModuleFolders[%count++] = "shapes";
%defaultModuleFolders[%count++] = "guis";
%defaultModuleFolders[%count++] = "scripts";
%defaultModuleFolders[%count++] = "scripts/client";
%defaultModuleFolders[%count++] = "scripts/server";
for(%i=0; %i <= %count; %i++)
{
%this.dirHandler.createFolder(%modulePath @ "/" @ %defaultModuleFolders[%i]);
}
AssetBrowser.loadDirectories();
}
function AssetBrowser::createNewEditorTool(%this)

View file

@ -215,6 +215,8 @@ 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);
@ -226,6 +228,8 @@ 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);

View file

@ -87,9 +87,9 @@ function AssetBrowser::buildPopupMenus(%this)
class = "EditorWorldMenu";
//isPopup = true;
item[ 0 ] = "Create Component" TAB AddNewComponentAssetPopup;
item[ 1 ] = "Create Script" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ScriptAsset\", AssetBrowser.selectedModule);";
item[ 2 ] = "Create State Machine" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"StateMachineAsset\", AssetBrowser.selectedModule);";
//item[ 0 ] = "Create Component" TAB AddNewComponentAssetPopup;
item[ 0 ] = "Create Script" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ScriptAsset\", AssetBrowser.selectedModule);";
item[ 1 ] = "Create State Machine" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"StateMachineAsset\", AssetBrowser.selectedModule);";
//item[ 3 ] = "-";
//item[ 3 ] = "Create Game Object" TAB "" TAB "AssetBrowser.createNewGameObjectAsset(\"NewGameObject\", AssetBrowser.selectedModule);";
};
@ -239,22 +239,6 @@ function AssetBrowser::buildPopupMenus(%this)
};
}
//Asset Preview size presets
if( !isObject( AssetPreviewSizePopup ) )
{
new PopupMenu( AssetPreviewSizePopup )
{
superClass = "MenuBuilder";
class = "EditorWorldMenu";
item[ 0 ] = "Small" TAB "" TAB "AssetBrowser.setPreviewSize(\"Small\");";
item[ 1 ] = "Medium" TAB "" TAB "AssetBrowser.setPreviewSize(\"Medium\");";
Item[ 2 ] = "Large" TAB "" TAB "AssetBrowser.setPreviewSize(\"Large\");";
};
AssetPreviewSizePopup.checkItem(0, true);
}
if( !isObject( AssetTypeListPopup ) )
{
new PopupMenu( AssetTypeListPopup )
@ -295,8 +279,6 @@ function AssetBrowser::buildPopupMenus(%this)
item[ 7 ] = "Filter by Asset Type" TAB AssetTypeListPopup;
item[ 8 ] = "-";
item[ 9 ] = "Enable Auto-refresh" TAB "" TAB "AssetBrowser.toggleAutorefresh();";
Item[ 10 ] = "-";
Item[ 11 ] = "Asset Preview Size" TAB AssetPreviewSizePopup;
};
BrowserVisibilityPopup.enableItem(5, false);
@ -408,6 +390,18 @@ function AssetBrowser::buildPopupMenus(%this)
AddNewModulePopup.enableItem(1, false);
}
if( !isObject( EditCollectionSets ) )
{
new PopupMenu( EditCollectionSets )
{
superClass = "MenuBuilder";
class = "EditorWorldMenu";
//isPopup = true;
item[ 0 ] = "Delete Collection Set" TAB "" TAB "AssetBrowser.deleteCollectionSet();";
};
}
}
function AddNewScriptAssetPopupMenu::onSelectItem(%this, %id, %text)

View file

@ -0,0 +1,27 @@
singleton GuiControlProfile(AssetBrowserPreviewImageAsset : ToolsGuiDefaultProfile)
{
fillColor = "128 128 128 255"; //hovered/selected
//fillColorNA = "230 126 0 255"; //fill color default
border = true;
borderColor = "230 126 0 255";
borderColorNA = "230 126 0 255";
};
singleton GuiControlProfile(AssetBrowserPreviewMaterialAsset : ToolsGuiDefaultProfile)
{
fillColor = "128 128 128 255"; //hovered/selected
border = true;
borderColor = "0 100 0 255";
borderColorNA = "0 100 0 255";
};
singleton GuiControlProfile(AssetBrowserPreviewShapeAsset : ToolsGuiDefaultProfile)
{
fillColor = "128 128 128 255"; //hovered/selected
border = true;
borderColor = "0 0 200 255";
borderColorNA = "0 0 200 255";
};

View file

@ -120,6 +120,7 @@ function MenuBuilder::addItem(%this, %pos, %item)
%name = getField(%item, 0);
%accel = getField(%item, 1);
%cmd = getField(%item, 2);
%bitmapIdx = getField(%item, 3);
// We replace the [this] token with our object ID
%cmd = strreplace( %cmd, "[this]", %this );
@ -132,7 +133,7 @@ function MenuBuilder::addItem(%this, %pos, %item)
}
else
{
%this.insertItem(%pos, %name !$= "-" ? %name : "", %accel, %cmd);
%this.insertItem(%pos, %name !$= "-" ? %name : "", %accel, %cmd, %bitmapIdx $= "" ? -1 : %bitmapIdx);
}
}

View file

@ -485,6 +485,7 @@ function ESettingsWindow::getAssetEditingSettings(%this)
SettingsInspector.addSettingsField("Assets/Browser/showFolders", "Show Folders in Tiles view in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/previewTileSize", "Asset Preview Tile Size", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showLooseFiles", "Show Loose Files when viewing in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("AssetManagement/Assets/promptOnRename", "Prompt on Rename", "bool", "");
SettingsInspector.endGroup();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -305,7 +305,7 @@ new GuiControlProfile( ToolsGuiTextEditProfile )
fontColor = EditorSettings.value("Theme/fieldTextColor");
fontColorSEL = EditorSettings.value("Theme/fieldBGSELColor");
fontColorHL = EditorSettings.value("Theme/fieldTextSELColor");
fontColorNA = EditorSettings.value("Theme/fieldTextSELColor");
fontColorNA = EditorSettings.value("Theme/fieldTextNAColor");
textOffset = "4 2";
autoSizeWidth = false;
autoSizeHeight = true;
@ -651,6 +651,8 @@ new GuiControlProfile( ToolsGuiTreeViewProfile )
opaque = false;
border = false;
category = "Tools";
fontColors[9] = "0 128 128"; //for active/selection of elements
};
if( !isObject( ToolsGuiTextPadProfile ) )