| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492 |
- //-----------------------------------------------------------------------------
- // Copyright (c) 2012 GarageGames, LLC
- //
- // Permission is hereby granted, free of charge, to any person obtaining a copy
- // of this software and associated documentation files (the "Software"), to
- // deal in the Software without restriction, including without limitation the
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- // sell copies of the Software, and to permit persons to whom the Software is
- // furnished to do so, subject to the following conditions:
- //
- // The above copyright notice and this permission notice shall be included in
- // all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- // IN THE SOFTWARE.
- //-----------------------------------------------------------------------------
- function ESettingsWindow::onAdd(%this)
- {
- new ArrayObject(EditorSettingsPageList);
- new ArrayObject(GameSettingsPageList);
- }
-
- function ESettingsWindow::startup( %this )
- {
- %this.addEditorSettingsPage("Axis", "Axis Gizmo");
- %this.addEditorSettingsPage("General", "General Settings");
- %this.addEditorSettingsPage("Camera", "Camera Settings");
- %this.addEditorSettingsPage("SceneEditor", "Scene Editor");
- %this.addEditorSettingsPage("ShapeEditor", "Shape Editor");
- %this.addEditorSettingsPage("NavEditor", "Navigation Editor");
- %this.addEditorSettingsPage("Theme", "Theme");
- %this.addEditorSettingsPage("AssetEditing", "Asset Editing");
- %this.addEditorSettingsPage("PostFX", "Post Effects");
-
- %this.addGameSettingsPage("GameGeneral", "General");
- %this.addGameSettingsPage("Gameplay", "Gameplay");
- %this.addGameSettingsPage("Paths", "Paths");
- %this.addGameSettingsPage("UI", "UI");
- %this.addGameSettingsPage("LevelDefaults", "Level Defaults");
- %this.addGameSettingsPage("GameOptions", "Game Options");
- %this.addGameSettingsPage("AssetManagement", "Asset Management");
-
- %this.mode = "Editor";
- }
- function ESettingsWindow::onWake( %this )
- {
-
- }
- function ESettingsWindow::hideDialog( %this )
- {
- Canvas.popDialog(EditorSettingsWindow);
- }
- function ESettingsWindow::ToggleVisibility()
- {
- if(ESettingsWindow.isAwake())
- {
- Canvas.popDialog(EditorSettingsWindow);
- }
- else
- {
- Canvas.pushDialog(EditorSettingsWindow);
-
- ESettingsWindow.selectWindow();
- ESettingsWindow.setCollapseGroup(false);
-
- ESettingsWindowList.clear();
-
- ESettingsWindowList.setSelectedById( 1 );
- }
- }
- function ESettingsWindow::toggleProjectSettings(%this)
- {
- %this.ToggleVisibility();
-
- %count = GameSettingsPageList.count();
- for(%i=0; %i < %count; %i++)
- {
- %settingsPageText = GameSettingsPageList.getValue(%i);
- ESettingsWindowList.addRow( %i, %settingsPageText );
- }
- ESettingsWindowList.sort(0);
-
- %this.mode = "Project";
- ESettingsWindow.text = "Game Project Settings";
-
- ESettingsWindowList.setSelectedById( 1 );
- }
- function ESettingsWindow::toggleEditorSettings(%this)
- {
- %this.ToggleVisibility();
-
- %count = EditorSettingsPageList.count();
- for(%i=0; %i < %count; %i++)
- {
- %settingsPageText = EditorSettingsPageList.getValue(%i);
- ESettingsWindowList.addRow( %i, %settingsPageText );
- }
- ESettingsWindowList.sort(0);
-
- %this.mode = "Editor";
- ESettingsWindow.text = ":: Editor Settings";
-
- ESettingsWindowList.setSelectedById( 1 );
- }
- function ESettingsWindow::addEditorSettingsPage(%this, %settingsPageName, %settingsPageText)
- {
- EditorSettingsPageList.add(%settingsPageName, %settingsPageText);
- }
- function ESettingsWindow::addGameSettingsPage(%this, %settingsPageName, %settingsPageText)
- {
- GameSettingsPageList.add(%settingsPageName, %settingsPageText);
- }
- function ESettingsWindow::refresh(%this)
- {
- if(ESettingsWindow.selectedPageId !$= "")
- {
- ESettingsWindowList.setSelectedById( ESettingsWindow.selectedPageId );
- }
- else
- {
- ESettingsWindowList.setSelectedById( 1 );
- }
- }
- //-----------------------------------------------------------------------------
- function ESettingsWindowList::onSelect( %this, %id, %text )
- {
- SettingsInspector.clearFields();
-
- if(ESettingsWindow.mode $= "Editor")
- %pageName = EditorSettingsPageList.getKey(EditorSettingsPageList.getIndexFromValue(%text));
- else
- %pageName = GameSettingsPageList.getKey(GameSettingsPageList.getIndexFromValue(%text));
-
- eval("ESettingsWindow.get" @ %pageName @ "Settings();");
-
- ESettingsWindow.selectedPageId = %id;
- ESettingsWindow.selectedPageText = %text;
- }
- //Read/write field functions
- function SettingsInspector::addSettingsField(%this, %settingsFieldName, %labelText, %fieldType, %tooltip, %fieldData)
- {
- %moddedSettingsFieldName = strreplace(%settingsFieldName, "/", "-");
-
- if(ESettingsWindow.mode $= "Editor")
- %this.addCallbackField(%moddedSettingsFieldName, %labelText, %fieldType, "", EditorSettings.value(%settingsFieldName), %fieldData, "changeEditorSetting");
- else
- %this.addCallbackField(%moddedSettingsFieldName, %labelText, %fieldType, "", ProjectSettings.value(%settingsFieldName), %fieldData, "changeEditorSetting");
- }
- function SettingsInspector::changeEditorSetting(%this, %varName, %value)
- {
- %varName = strreplace(%varName, "-", "/");
-
- if(%value !$= "" && (fileExt(%value) !$= "" || IsDirectory(%value)))
- {
- %value = makeFullPath(%value);
- }
-
- //echo("Set " @ %varName @ " to be " @ %value);
-
- if(ESettingsWindow.mode $= "Editor")
- %oldValue = EditorSettings.value(%varName);
- else
- %oldValue = ProjectSettings.value(%varName);
-
- if(ESettingsWindow.mode $= "Editor")
- EditorSettings.setValue(%varName, %value);
- else
- ProjectSettings.setValue(%varName, %value);
-
- if(ESettingsWindow.mode $= "Editor")
- {
- %success = EditorSettings.write();
-
- //Bit of a hack, but if we were editing the theme, reexec the profiles for GUI
- if(ESettingsWindow.selectedPageText $= "Theme")
- exec("tools/gui/profiles.ed." @ $TorqueScriptFileExtension);
- }
- else
- %success = ProjectSettings.write();
-
- if(%oldValue !$= %value)
- ESettingsWindow.schedule(15,"refresh");
- }
- function GuiInspectorVariableGroup::buildOptionsSettingField(%this, %fieldName, %fieldLabel, %fieldDesc, %fieldDefaultVal, %fieldDataVals, %ownerObj)
- {
- %extent = 200;
-
- %fieldCtrl = %this.createInspectorField();
-
- %fieldCtrl.setHeightOverride(true, 200);
-
- %extent = %this.stack.getExtent();
-
- %width = mRound(%extent/2);
- %height = 20;
- %inset = 10;
-
- %editControl = new GuiPopUpMenuCtrl() {
- class = "guiInspectorListField";
- maxPopupHeight = "200";
- sbUsesNAColor = "0";
- reverseTextList = "0";
- bitmapBounds = "16 16";
- maxLength = "1024";
- Margin = "0 0 0 0";
- Padding = "0 0 0 0";
- AnchorTop = "1";
- AnchorBottom = "0";
- AnchorLeft = "1";
- AnchorRight = "0";
- isContainer = "0";
- Profile = "ToolsGuiPopUpMenuProfile";
- HorizSizing = "right";
- VertSizing = "bottom";
- Position = %fieldCtrl.edit.position;
- Extent = %fieldCtrl.edit.extent;
- MinExtent = "8 2";
- canSave = "1";
- Visible = "1";
- tooltipprofile = "ToolsGuiToolTipProfile";
- tooltip = "";//%tooltip;
- text = %fieldDefaultVal;
- hovertime = "1000";
- ownerObject = %ownerObj;
- fieldName = %fieldName;
- };
-
- //set the field value
- if(getSubStr(%this.fieldName, 0, 1) $= "$")
- {
- if(%fieldName $= "")
- %editControl.setText(%fieldName);
- }
- else
- {
- //regular variable
- %setCommand = %editControl @ ".setText(" @ %ownerObj @ "." @ %fieldName @ ");";
- eval(%setCommand);
- }
-
- %listCount = getTokenCount(%fieldDataVals, ",");
-
- for(%i=0; %i < %listCount; %i++)
- {
- %entryText = getToken(%fieldDataVals, ",", %i);
- %editControl.add(%entryText);
- }
- %fieldCtrl.setCaption(%fieldLabel);
- %fieldCtrl.setEditControl(%editControl);
- %this.addInspectorField(%fieldCtrl);
- }
- //
- // COMMON EDITOR SETTINGS
- //
- function ESettingsWindow::getAxisSettings(%this)
- {
- SettingsInspector.startGroup("Gizmo");
- SettingsInspector.addSettingsField("AxisGizmo/mouseRotateScalar", "Rotate Scalar", "float", "");
- SettingsInspector.addSettingsField("AxisGizmo/mouseScaleScalar", "Scale Scalar", "float", "");
- SettingsInspector.addSettingsField("AxisGizmo/renderWhenUsed", "Render When Manipulated", "bool", "");
- SettingsInspector.addSettingsField("AxisGizmo/renderInfoText", "Render Tool Text", "bool", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Grid");
- SettingsInspector.addSettingsField("AxisGizmo/Grid/renderPlane", "Render Plane", "bool", "");
- SettingsInspector.addSettingsField("AxisGizmo/Grid/renderPlaneHashes", "Render Plane Hashes", "bool", "");
- SettingsInspector.addSettingsField("AxisGizmo/Grid/planeDim", "Plane Size", "float", "");
- SettingsInspector.addSettingsField("AxisGizmo/Grid/gridColor", "Plane Color", "colorI", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getGeneralSettings(%this)
- {
- SettingsInspector.startGroup("Level Load");
- SettingsInspector.addSettingsField("WorldEditor/LevelLoad/LoadMode", "Editor Startup Scene", "list", "When the editor loads, this setting dictates what scene is loaded first",
- "Last Edited Level,Editor Default Scene");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Autosave");
- SettingsInspector.addSettingsField("WorldEditor/AutosaveInterval", "Autosave Interval(in minutes)", "int", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("SubScenes");
- SettingsInspector.addSettingsField("WorldEditor/subSceneCreateScalar", "SubScene Creation Scalar", "float", "Amount to scale SubScene's bounds by when creating from scene objects.", "1.5");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Paths");
- //SettingsInspector.addSettingsField("WorldEditor/torsionPath", "Torsion Path", "filename", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Layout");
- /*SettingsInspector.addSettingsField("WorldEditor/Layout/LayoutMode", "Editor Layout Mode", "list", "This dictates which layout style the editor should use." @
- "WARNING - Modern layout is highlight experimental." @
- "Updating this requires a restart of the program", "Classic,Modern");*/
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getCameraSettings(%this)
- {
- SettingsInspector.startGroup("Mouse Control");
- SettingsInspector.addSettingsField("Camera/invertYAxis", "Invert Y Axis", "bool", "");
- SettingsInspector.addSettingsField("Camera/invertXAxis", "Invert X Axis", "bool", "");
- SettingsInspector.endGroup();
-
- //Based on currently loaded level(rootScene)
- SettingsInspector.startGroup(EditorSettings.value("WorldEditor/newLevelFile") @ " Camera");
- SettingsInspector.addSettingsField("Camera/cameraMinSpeed", "Camera Speed Min", "float", "");
- SettingsInspector.addSettingsField("Camera/cameraMaxSpeed", "Camera Speed Max", "float", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getNavEditorSettings(%this)
- {
- SettingsInspector.startGroup("Test Spawn");
- SettingsInspector.addSettingsField("NavEditor/SpawnClass", "Spawn Class", "list", "", "AIPlayer");
- SettingsInspector.addSettingsField("NavEditor/SpawnDatablock", "Datablock", "string", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Colors");
- SettingsInspector.addSettingsField("NavEditor/HoverSplineColor", "Hover Spline", "colorI", "");
- SettingsInspector.addSettingsField("NavEditor/SelectedSplineColor", "Select Spline", "colorI", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getSceneEditorSettings(%this)
- {
- SettingsInspector.startGroup("Render");
- SettingsInspector.addSettingsField("WorldEditor/Render/renderObjHandle", "Object Icons", "bool", "");
- SettingsInspector.addSettingsField("WorldEditor/Render/renderObjText", "Object Text", "bool", "");
- SettingsInspector.addSettingsField("WorldEditor/Render/showMousePopupInfo", "Mouse Popup Info", "bool", "");
- SettingsInspector.addSettingsField("WorldEditor/Render/renderPopupBackground", "Popup Menu Background", "bool", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Colors");
- SettingsInspector.addSettingsField("WorldEditor/Grid/gridColor", "Grid Major", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Grid/gridMinorColor", "Grid Minor", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Grid/gridOriginColor", "Grid Origin", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Color/dragRectColor", "Drag Rect", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Color/objectTextColor", "Object Text", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Color/popupTextColor", "Popup Text", "colorI", "");
- SettingsInspector.addSettingsField("WorldEditor/Color/popupBackgroundColor", "Popup Back", "colorI", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Misc");
- //SettingsInspector.addSettingsField("WorldEditor/forceLoadDAE", "Force Load DAE", "bool", "");
- SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterScalar", "Screen Center Scalar", "string", "");
- SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterMax", "Screen Center Max", "string", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Layout");
- SettingsInspector.addSettingsField("WorldEditor/forceSidebarToSide", "Force Sidebar Window(s) to side", "bool", "1");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Behavior");
- SettingsInspector.addSettingsField("WorldEditor/Tools/snapGround", "Snap Objects to Ground", "bool", "0");
- SettingsInspector.addSettingsField("WorldEditor/Tools/TerrainSnapOffsetZ", "Add Offset of Terrain Snapping on Z Axis", "bool", "0");
- SettingsInspector.addSettingsField("WorldEditor/Tools/OffsetZValue", "Offset Z Value", "float", "0.01");
- SettingsInspector.addSettingsField("WorldEditor/Tools/snapSoft", "Do Soft Snap", "bool", "0");
- SettingsInspector.addSettingsField("WorldEditor/Tools/snapSoftSize", "Soft Snap Size", "bool", "2");
- SettingsInspector.addSettingsField("WorldEditor/Tools/boundingBoxCollision", "Use Bounding Box for Collision", "bool", "0");
- SettingsInspector.addSettingsField("WorldEditor/Tools/objectsUseBoxCenter", "Objects Use Box Center", "bool", "1");
- SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterScalar", "Drop at Sceen Center Scalar", "bool", "1");
- SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterMax", "Drop at Screen Center Max Dist.", "float", "100");
- SettingsInspector.addSettingsField("WorldEditor/Tools/UseGroupCenter", "Use Group Center when snapping", "bool", "0");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Images");
- SettingsInspector.addSettingsField("WorldEditor/Images/defaultHandle", "Default Handle Image", "string", "");
- SettingsInspector.addSettingsField("WorldEditor/Images/lockedHandle", "Locked Handle Image", "string", "");
- SettingsInspector.addSettingsField("WorldEditor/Images/selectHandle", "Selected Handle Image", "string", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getShapeEditorSettings(%this)
- {
- SettingsInspector.startGroup("Colors");
- SettingsInspector.addSettingsField("ShapeEditor/SunDiffuseColor", "Sun Diffuse", "colorI", "");
- SettingsInspector.addSettingsField("ShapeEditor/SunAmbientColor", "Sun Ambient", "colorI", "");
- SettingsInspector.addSettingsField("ShapeEditor/BackgroundColor", "Background", "colorI", "");
- SettingsInspector.endGroup();
-
- SettingsInspector.startGroup("Grid");
- SettingsInspector.addSettingsField("ShapeEditor/GridSize", "Grid Size", "float", "");
- SettingsInspector.addSettingsField("ShapeEditor/GridDimension", "Grid Dimension", "vector2", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getThemeSettings(%this)
- {
- SettingsInspector.startGroup("Colors");
- SettingsInspector.addSettingsField("Theme/headerColor", "Headerbar Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/windowBackgroundColor", "Window Background Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/tabsColor", "Tabs Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/tabsHLColor", "Tabs Highlight Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/tabsSELColor", "Tabs Selected Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/dividerDarkColor", "Divider Dark Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/dividerMidColor", "Divider Mid Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/dividerLightColor", "Divider Light Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/headerTextColor", "Header Text Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/fieldTextColor", "Field Text Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/fieldTextHLColor", "Field Text Highlight Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/fieldTextSELColor", "Field Text Selected Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/fieldTextNAColor", "Field Text N/A Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/fieldBGColor", "Field Background Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/fieldBGHLColor", "Field Background Highlight Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/fieldBGSELColor", "Field Background Selected Color", "ColorI", "");
-
- SettingsInspector.addSettingsField("Theme/tooltipBGColor", "Tooltip Background Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/tooltipTextColor", "Tooltip Text Highlight Color", "ColorI", "");
- SettingsInspector.addSettingsField("Theme/tooltipDivColor", "Tooltip Divider Color", "ColorI", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getPostFXSettings(%this)
- {
- SettingsInspector.startGroup("Post Effects");
- SettingsInspector.addField("Edit Default PostFX", "Edit Default PostFX Config", "button", "Edit Default PostFX Config", "", "PostFXEditor.editDefaultPostFXSettings();");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getObjectEditorSettings(%this)
- {
- }
- //
- // COMMON GAME SETTINGS
- //
- function ESettingsWindow::getGameGeneralSettings(%this)
- {
- SettingsInspector.startGroup("General");
- SettingsInspector.addSettingsField("General/ProjectName", "Project Name", "string", "");
- SettingsInspector.addSettingsField("General/LightingMode", "Lighting Mode", "list", "Dictates the lighting mode the project uses", "Deferred,Forward");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getPathsSettings(%this)
- {
- SettingsInspector.startGroup("Paths");
- SettingsInspector.addSettingsField("Paths/splashImagePath", "Splash Image", "filename", "");
- SettingsInspector.addSettingsField("Paths/iconImagePath", "Icon Image", "filename", "");
- SettingsInspector.addSettingsField("Paths/missingTexturePath", "Missing Texture Image", "filename", "");
- SettingsInspector.addSettingsField("Paths/noMaterialPath", "No Material Image", "filename", "");
- SettingsInspector.addSettingsField("Paths/errorMaterialMath", "Error Material Image", "filename", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getUISettings(%this)
- {
- SettingsInspector.startGroup("UI");
- SettingsInspector.addSettingsField("UI/playGUIName", "Play GUI Name", "string", "");
- SettingsInspector.addSettingsField("UI/mainMenuName", "Main Menu GUI Name", "string", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getGameplaySettings(%this)
- {
- SettingsInspector.startGroup("Game Modes");
- SettingsInspector.addSettingsField("Gameplay/GameModes/defaultModeName", "Default Gamemode Name", "string", "");
- SettingsInspector.endGroup();
- }
- function ESettingsWindow::getGameOptionsSettings(%this)
- {
- SettingsInspector.startGroup("Options Settings");
- SettingsInspector.addSettingsField("Options/optionsList", "OptionsList", "OptionsSetting", "");
- SettingsInspector.endGroup();
- }
|