Selectable1
Definition
-- @/=[C]:-1
function Selectable1(...)
Callers
@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua
for _, mType in ipairs(self.missionTypes) do
if im.Selectable1(mType, mType == self.mission.missionType) then
self:changeMissionType(mType)
@/lua/ge/extensions/flowgraph/nodes/types/color.lua
for _, m in ipairs(self.modes) do
if im.Selectable1(m, m == self.mode) then
self.mode = m
@/lua/ge/extensions/flowgraph/nodes/states/stateNode.lua
for _, graph in pairs(rootGraphs) do
if im.Selectable1(graph.id .. "-"..graph.name, graph.id == id) then
self:setTargetGraph(graph)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamTableVis.lua
if pathToData and data then
if im.Selectable1(pathToData) then
dataGraphingPath = pathToData
@/lua/ge/extensions/flowgraph/nodes/events/customizedTriggerBox.lua
for _,triggerType in ipairs(triggerTypeNames) do
if im.Selectable1(triggerType, triggerType == self.triggerType) then
self.triggerType = triggerType
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficCustomGroup.lua
if im.BeginCombo('Mode', modes[self.mode]) then
if im.Selectable1('Parameters', self.mode == 'settings') then
self.mode = 'settings'
end
if im.Selectable1('Custom', self.mode == 'custom') then
self.mode = 'custom'
@/lua/ge/extensions/editor/rallyEditor/missionSettings.lua
local current = self.settings.notebook.filename == notebookBasename
if im.Selectable1(notebookBasename, current) then
if self.settings.notebook.filename ~= notebookBasename then
local current = self.settings.notebook.codriver == codriver
if im.Selectable1(codriver, current) then
if self.settings.notebook.codriver ~= codriver then
local current = self.recce_settings:getCornerCallStyleName() == style_name
if im.Selectable1(((current and '[current] ') or '')..style_name, current) then
self.recce_settings:setCornerCallStyleName(style_name)
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/followPath.lua
for _, mode in ipairs({"neverReset","alwaysReset","startReset"}) do
if im.Selectable1(mode, mode==self.loopMode) then
self.loopMode = mode
@/lua/ge/extensions/editor/mainToolbar.lua
im.PushStyleColor2(im.Col_Header, bgColor)
if im.Selectable1(set.name, i == selectedSetIndex) then
loadModesFromSet(i)
im.PushStyleColor2(im.Col_Header, bgColor)
if im.Selectable1(set.name, i == selectedSetIndex) then
loadModesFromSet(i)
im.PushStyleColor2(im.Col_Header, bgColor)
if im.Selectable1(mode.name, mode.selected) then
mode.selected = not mode.selected
im.PushStyleColor2(im.Col_Header, bgColor)
if im.Selectable1(mode.name, mode.selected) then
deselectAllSelectedModes()
im.SetCursorPosY(im.GetCursorPosY() + 3)
if im.Selectable1(val.iconTooltip, false, nil, im.ImVec2(buttonWidthMax, buttonWidth*uiScaling)) and val ~= editor.editMode then
editor.selectEditMode(val)
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/decal.lua
im.SameLine()
if im.Selectable1(string.format("%s##%s_shapeMesh_%d_selectable", name, widgetId, i), enabled) then
setMeshEnable(name, not enabled)
@/lua/ge/extensions/editor/camPathEditor.lua
im.PushStyleColor2(im.Col_Header, isSelected and im.ImVec4(0.3, 0.6, 0.9, 0.8) or im.ImVec4(0, 0, 0, 0))
if im.Selectable1(tostring(index), isSelected) then
selectMarker(index)
im.PushStyleColor2(im.Col_Header, isSelected and im.ImVec4(0.3, 0.6, 0.9, 0.8) or im.ImVec4(0, 0, 0, 0))
if im.Selectable1(string.format('%.1fs', marker.time), isSelected) then
selectMarker(index)
for i, modeName in ipairs(overlayModes) do
if im.Selectable1(modeName, overlayMode[0] == (i - 1)) then
overlayMode[0] = i - 1
for _, path in ipairs(core_paths.getPaths()) do
if im.Selectable1(path.name .. '##' .. path.id) then
selectPath(path)
for _, recording in ipairs(files) do
if im.Selectable1(recording.filename, nil) then
replayToBeLoaded = recording.filename
@/lua/ge/extensions/editor/dragRaceEditor/waypoints.lua
if im.Selectable1(label, isSelected) then
M.selectWaypoint(i)
@/lua/ge/extensions/editor/masterSpline.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
local flag = i == selectedLayerIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedLayerIdx = i
@/lua/ge/extensions/editor/rendererComponents.lua
local selected = s.values
if im.Selectable1(ck, cv == s.cVal) then
s.cVal = cv
@/lua/ge/extensions/editor/crawlEditor/startingPositions.lua
if im.Selectable1(displayName, isSelected) then
if selection.index == i then
@/lua/ge/extensions/flowgraph/nodes/util/customLua.lua
for _, name in ipairs(sortedNames) do
if im.Selectable1(name, name == self.name) then
local data = deepcopy(customNodes[name])
@/lua/ge/extensions/editor/scriptAIEditor.lua
end
if im.Selectable1(vehicle.string, flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
vwd.selectedVeh = i
if k == tlwd.selectedTraj then flag = true end
if im.Selectable1(tostring(k), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
tlwd.selectedTraj = k
end
if im.Selectable1("[" .. j .. "] :", flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
tr.selectedNode = j
if j == cwd.selectedNode then flag = true end
if im.Selectable1("[" .. j .. "] :", flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then cwd.selectedNode = j end
im.NextColumn()
@/lua/ge/extensions/editor/toolUtilities/meshAuditionMgr.lua
local flag = i == selectedMeshIdx
if im.Selectable1(name .. "###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedMeshIdx = i
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veJBeamModifierLeakVis.lua
im.TableSetColumnIndex(0)
if im.Selectable1(partName) then
vEditor.selectedPart = partName
if im.Selectable1(modValStr .. "##" .. partIdx .. "," .. sectionModIdx) then
vEditor.selectedPart = partName
else
if im.Selectable1("##" .. partIdx .. "," .. sectionModIdx) then
end
@/lua/ge/extensions/editor/sidewalkSpline.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
@/lua/ge/extensions/editor/flowgraph/properties.lua
im.SameLine()
if im.Selectable1(typename, typename==pin.type) then
-- History
im.SameLine()
if im.Selectable1(typename) then
item:_setHardcodedDummyInputPin(pin, fg_utils.getDefaultValueForType(typename), typename)
im.SameLine()
if im.Selectable1(p.name, false) then
item:createPin('in', p.type, p.name, nil, "", 0)
im.SameLine()
if im.Selectable1(typename, typename==pin.type) then
pin.type = typename
im.SameLine()
if im.Selectable1(p.name, false) then
item:createPin('out', p.type, p.name, nil, "", true)
if pin.allowFiles then
if im.Selectable1("Select File...") then
extensions.editor_fileDialog.openFile(function(data)
local shortPath = file:sub(pin.node.mgr.savedDir:len()+1,-1)
if im.Selectable1(shortPath) then
selected = shortPath
for i, ht in ipairs(pin.hardTemplates or {}) do
if im.Selectable1(ht.label or dumps(ht.value)) then
selected = ht.value
im.SameLine()
if im.Selectable1(typename) then
item:_setHardcodedDummyInputPin(pin, fg_utils.getDefaultValueForType(typename), typename)
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua
for _, compositorName in ipairs(self.compositors) do
if im.Selectable1(compositorName, compositorName == self.selectedCompositor) then
self.selectedCompositor = compositorName
@/lua/ge/extensions/editor/decalSpline.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
@/lua/ge/extensions/editor/shapeEditor.lua
if editor_materialEditor then
if im.Selectable1(v, nil, im.SelectableFlags_DontClosePopups) then
editor_materialEditor.showMaterialEditor()
@/lua/ge/extensions/flowgraph/nodes/scene/camera/setCameraPosition.lua
for _, m in ipairs(self.modes) do
if im.Selectable1(m, m == self.mode) then
self.mode = m
@/lua/ge/extensions/flowgraph/nodes/gameplay/dragRace/setDragVehicle.lua
if fun.name ~= 'readOnly' then
if im.Selectable1(fun.name, fun.name == self.mode) then
self.mode = fun.name
@/lua/ge/extensions/editor/rallyEditor/pacenotes/structuredForm.lua
local name, severity = cornerCall[1], cornerCall[2]
if im.Selectable1(name, name == currSev) then
pacenote.structured.fields.cornerSeverity = severity
local name, value = cornerLength[1], cornerLength[2]
if im.Selectable1(name, value == currLength) then
pacenote.structured.fields.cornerLength = value
local name, value = cornerRadiusChange[1], cornerRadiusChange[2]
if im.Selectable1(name, value == currRadiusChange) then
pacenote.structured.fields.cornerRadiusChange = value
local name, value = caution[1], caution[2]
if im.Selectable1(name, value == currCaution) then
pacenote.structured.fields.caution = value
@/lua/ge/extensions/editor/dynamicDecals/widgets.lua
for name, id in pairs(api.widgetTypes[propType]) do
if im.Selectable1(name, id == (property.widgetType or 0)) then
property.widgetType = id
@/lua/ge/extensions/editor/crawlEditor.lua
if im.Selectable1(displayName..'##'..trail._filePath, selectedTrailIndex == idx) then
selectedTrailIndex = idx
if im.Selectable1(displayName..'##'..trail._filePath, selectedTrailIndex == idx + #allTrails) then
selectedTrailIndex = idx + #allTrails
if im.Selectable1(displayName..'##'..path._filePath, selectedPathIndex == idx) then
selectedPathIndex = idx
if im.Selectable1(displayName..'##'..path._filePath, selectedPathIndex == idx + #allPaths) then
selectedPathIndex = idx + #allPaths
if im.Selectable1(displayName..'##'..boundary._filePath, selectedBoundaryIndex == idx) then
selectedBoundaryIndex = idx
if im.Selectable1(displayName..'##'..boundary._filePath, selectedBoundaryIndex == idx + #allBoundaries) then
selectedBoundaryIndex = idx + #allBoundaries
if im.Selectable1(displayName..'##'..startingPosition._filePath, selectedStartingPositionIndex == idx) then
selectedStartingPositionIndex = idx
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/customVehicleGetter.lua
for _, fun in ipairs(functions) do
if im.Selectable1(fun.name, fun.fun == self.data.fun) then
self.data.fun = fun.fun
@/lua/ge/extensions/editor/trafficDebug.lua
im.PushStyleColor2(im.Col_Text, colors.yellow)
if im.Selectable1("["..id.."] "..veh.model, id == currId) then
currId = id
im.PushStyleColor2(im.Col_Text, txtColor)
if im.Selectable1("["..id.."] "..veh.model, id == currId) then
currId = id
im.PushStyleColor2(im.Col_Text, colors.silver)
if im.Selectable1("["..id.."] "..getObjectByID(id).jbeam, id == currId) then
currId = id
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTree.lua
end
local clicked = im.Selectable1(label .. '##treeSelData' .. tostring(node), node.__selected, 0)
if node.__selected then
@/lua/ge/extensions/editor/sitesEditor/tags.lua
for i, tag in ipairs(self.sortedTags) do
if im.Selectable1(tag..'##'..i, self.tag == tag) then
self:selectTag(tag)
for i, elem in ipairs(self.hasTag) do
if im.Selectable1(elem.name..'##'..i) then
flip = {elem = elem, dir = 'rem', i = i}
for i, elem in ipairs(self.noTag) do
if im.Selectable1(elem.name..'##'..i) then
flip = {elem = elem, dir = 'add', i = i}
@/lua/ge/extensions/editor/barriersEditor.lua
if not elem.selected then
if im.Selectable1(elem.filename..'##'..i) then
flip = {elem = elem, dir = 'add', i = i}
if elem.selected then
if im.Selectable1(elem.filename..'##'..i) then
flip = {elem = elem, dir = 'rem', i = i}
@/lua/ge/extensions/flowgraph/nodes/vehicle/replay.lua
for _, t in ipairs(self.replays) do
if im.Selectable1(t.filename, t.filename == self.replayName) then
if t.filename ~= self.replayName then
@/lua/ge/extensions/editor/flowgraph/main.lua
if editor.getPreference("flowgraph.debug.displayIds") then txt = string.format("[%d] " .. sib.name, sib.id) end
if im.Selectable1(txt) then
self.mgr:selectGraph(sib)
for _, m in ipairs(drawmodesSorted) do
if im.Selectable1(drawmodeNames[m], m == drawmode) then
editor.setPreference("flowgraph.debug.viewMode", m)
@/lua/common/extensions/ui/imguiUtils.lua
imgui.SetCursorPosX(curX + 20 * imgui.uiscale[0])
if imgui.Selectable1(item.label .. "##", nil, imgui.ImGuiSelectableFlags_DontClosePopups) then
if item.active[0] == true then item.active[0] = false else item.active[0] = true end
@/lua/ge/extensions/editor/aiTests.lua
else
if im.Selectable1(obj.jbeam.." ["..id.."]", currId == id) then
selectVehicle(id)
im.Separator()
if im.Selectable1("Setup All Vehicles...", true) then -- sets up all other vehicles
for _, v in ipairs(getAllVehiclesByType()) do
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua
-- for _, mode in ipairs(RallyEnums.drivelineModeNames) do
-- if im.Selectable1(mode, mode == drivelineMode) then
-- self.drivelineMode = RallyEnums.drivelineMode[mode]
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
-- to highlight row on hover
im.Selectable1("##" .. 'n', false, im.SelectableFlags_SpanAllColumns)
if im.IsItemHovered() then
im.TableNextColumn()
im.Selectable1("##" .. i, false, im.SelectableFlags_SpanAllColumns)
if im.IsItemHovered() then
@/lua/ge/extensions/editor/multiSpawnManager.lua
for _, v in ipairs(options.countries) do
if im.Selectable1(v, v == generator.country) then
generator.country = v
local selected = options.spawnModeValue == v
if im.Selectable1(v, selected) then
options.spawnMode, options.spawnModeValue = tableFindKey(options.spawnModesDict, v), v
for i, v in ipairs(commonGroups) do
if im.Selectable1(v.name.."##groupListIdx"..i, currName == v.name) then
selectGroup(i)
@/lua/ge/extensions/editor/assetDeduplicator.lua
local label = (isSelected and "[x]" or "[ ]") .. "##sel_" .. i
if im.Selectable1(label, false) then
toggled = true
im.PushTextWrapPos()
if im.Selectable1(origin .. "##orig_" .. i, state.highlight == origin) then
openPreviewFor(origin, entry)
im.PushTextWrapPos()
if im.Selectable1((assetPath or "-") .. "##link_" .. i, state.highlight == origin) then
openPreviewFor(origin, entry)
im.PushTextWrapPos()
if im.Selectable1((assetPath or "-") .. "##link_" .. i, state.highlight == origin) then
openPreviewFor(origin, entry)
local selected = (opt == current)
if im.Selectable1(opt, selected) then
linkChoice[origin] = opt
local selected = (opt == current)
if im.Selectable1(opt, selected) then
linkChoice[origin] = opt
im.PushTextWrapPos()
if im.Selectable1((link or "-") .. "##link_" .. i, state.highlight == origin) then
openPreviewFor(origin, entry)
@/lua/ge/extensions/flowgraph/nodes/states/stateExit.lua
if im.BeginCombo("Transition Name", self.transitionName) then
if im.Selectable1("(None)", self.transitionName == nil) then
self.transitionName = nil
for _, tName in ipairs(target:getTransitionNames()) do
if im.Selectable1(tName, tName == self.transitionName) then
self.transitionName = tName
@/lua/ge/extensions/gameplay/drag/debug.lua
if v then
if im.Selectable1("Empty Lane - " ..k.. "##" .. k) then
local vehId = getSelection()
for vehId, _ in pairs(dragData.racers or {}) do
if im.Selectable1(string.format("Racer ID: %d Lane: %d", vehId, dragData.racers[vehId].lane), vehId == selectedVehicle) then
selectElement(vehId)
@/lua/ge/extensions/editor/autoSave.lua
imgui.PushID1(tostring(k))
if imgui.Selectable1(autosaves[k].displayPath .. " @ " .. autosaves[k].datetime, k == selectedAutosaveIndex) then
selectedAutosaveIndex = k
@/lua/ge/extensions/editor/audioRibbonEditor.lua
local ribbon = ribbons[i]
if im.Selectable1('###' .. tostring(i), i == selectedRibbonIdx, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if i ~= selectedRibbonIdx then
@/lua/ge/extensions/editor/rallyEditor.lua
-- for _, snaproadType in ipairs(RallyEnums.drivelineModeNames) do
-- if im.Selectable1(snaproadType, snaproadType == editor.getPreference("rallyEditor.editing.preferredSnaproadType")) then
-- setPreferredSnaproadType(snaproadType)
@/lua/ge/extensions/editor/util/vehicleFilterUtil.lua
for _, filterUiInfo in ipairs(e.filterUiData) do
if im.Selectable1(filterUiInfo.propName) then
local newFilter = {
for _, filterUiInfo in ipairs(e.filterUiData) do
if im.Selectable1(filterUiInfo.propName) then
local newFilter = {
for _, filterUiInfo in ipairs(e.filterUiData) do
if im.Selectable1(filterUiInfo.propName) then
local newFilter = {
for _, filterUiInfo in ipairs(e.filterUiData) do
if im.Selectable1(filterUiInfo.propName) then
local newFilter = {
for _, modelKey in ipairs(allModels) do
if im.Selectable1(modelKey, modelKey == selectedModel) then
e._tempSelectedModel = modelKey
for _, configKey in ipairs(configs) do
if im.Selectable1(configKey, configKey == selectedConfig) then
e._tempSelectedConfig = configKey
@/lua/ge/extensions/editor/fileDialog.lua
im.SameLine()
im.Selectable1(file.name, file.name == fNameInput)
if im.Selectable1(file.name, file == selectedFile) then
-- copying the filename into the textinput field interferes with the smart search for files
if filterFile(file) then
if im.Selectable1(file.name) then
smartSearch = false
if column.visible and column.visible == true then
if im.Selectable1(column.name) then
-- sortFileCache()
for i,v in ipairs(options.suffix) do
if im.Selectable1(getFiletypeLabel(v), i == fileTypeSelected) then
local oldval = fileTypeSelected
for _, dir in ipairs(recentDirs) do
if im.Selectable1(dir) then
refreshCache(dir)
@/lua/ge/extensions/flowgraph/nodes/logic/booleanExpression.lua
for _, template in ipairs(self.templateExpressions) do
if im.Selectable1(template.name, template.expression == expr) then
self.data.expression = template.expression
@/lua/ge/extensions/gameplay/rally/recceApp.lua
-- local isSelected = self.selectedMission and self.selectedMission.missionID == mission.missionID
-- if im.Selectable1(mission.missionName, isSelected) then
-- self.selectedMission = mission
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
im.Separator()
if im.Selectable1('New##VDV_'..tostring(view.name)) then
spawnNewView = true
end
if im.Selectable1('Close##VDV_'..tostring(view.name)) then
view.windowOpen[0] = false
if im.Selectable1('save as PNG##save'..tostring(view.name)) then
local filename = view.name .. '-' .. tostring(loadedLayoutBaseFilename) .. '.png'
@/lua/ge/extensions/editor/rallyEditor/measurementsTab.lua
if im.Selectable1(displayText, isSelected) then
self:selectMeasurement(measurement.id)
if im.Selectable1(pointText, isPointSelected) then
self.selectedPointIndex = i
@/lua/ge/extensions/editor/trafficManager.lua
im.PushStyleColor2(im.Col_Text, textColor)
if im.Selectable1(str, nameId == currSelection.vehicle, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
currSelection.vehicle = nameId
end
im.Selectable1(niceName.."##trafficManager", true)
for _, mode in ipairs(tableKeysSorted(aiModes[t])) do
if im.Selectable1(aiModes[t][mode].."##trafficManagerAiMode", sessionData.aiMode == mode) then
sessionData.aiType = t
if vehName ~= currVeh:getName() then
if im.Selectable1(vehName.."##trafficManagerAiMode", aiData.targetName == vehName) then
aiData.targetName = vehName
if im.BeginPopup("Advanced Functions##trafficManagerAllVehicles") then
if im.Selectable1("Include All Vehicles From Scene##trafficManagerAllVehicles") then -- adds the player vehicle and all other vehicles to the session data
for _, veh in ipairs(getAllVehiclesByType()) do
end
if im.Selectable1("Unlock All Vehicles##trafficManagerAllVehicles") then
for id, data in pairs(session.vehicles) do
end
if im.Selectable1(id, id == currSelection.light) then
currSelection.light = id
im.Separator()
if im.Selectable1("New...##trafficManagerLights", false) then
createSignalData()
end
if im.Selectable1(description, currInstance.controllerId == ctrl.id and currInstance.sequenceId == seq.id) then -- prevents duplicates by limiting controller selection
currInstance:setController(ctrl.id)
label = core_vehicles.getModel(m).configs[c].Configuration.." ["..c.."]"
if im.Selectable1(label.."##trafficManagerSignConfig", signSelector.model == m and signSelector.config == c) then
signSelector.model = m
if im.Selectable1("Reset Session##trafficManager") then
setWindowConfirm("Are you sure you want to reset everything?", resetAll)
@/lua/ge/extensions/editor/api/valueInspector.lua
local isSelected = (fieldValue == objName) or (fieldValue == "" and not objInfo.className)
if imgui.Selectable1(objName, isSelected) then
fieldValue = objName
for i, type in ipairs(filterTypes) do
if imgui.Selectable1(type) then
filterTypeIndex = i
if not skipMaterial then
if imgui.Selectable1(objName, isSelected) or clickedImage then
fieldValue = objName
imgui.SameLine()
if imgui.Selectable1(annotations[n], isSelected) then
fieldValue = annotations[n]
local isSelected = (fieldValue == dbName)
if imgui.Selectable1(dbName, isSelected) then
imgui.CloseCurrentPopup()
@/lua/ge/extensions/editor/flowgraph/variables.lua
for i, t in ipairs(self.targets) do
if im.Selectable1("Add to: " ..t.name, i == self.addVariableSettings.target ) then
self.addVariableSettings.target = i
if im.BeginCombo("##typeSelectorNewVariable", typeText, im.ComboFlags_HeightLarge) then
if im.Selectable1("Automatic", self.addVariableSettings.type=="auto") then
self.addVariableSettings.type = "auto"
im.SameLine()
if im.Selectable1(typename, typename==self.addVariableSettings.type) then
-- History
@/lua/ge/extensions/editor/missionEditor/startTrigger.lua
for _, lvl in ipairs(self.sortedLevels) do
if im.Selectable1(lvl.value, lvl.value == self.mission.startTrigger.level) then
self.fields.levelName = nil
for _, lvl in ipairs(self.sortedLevels) do
if im.Selectable1(lvl.value, lvl.value == self.mission.startTrigger.level) then
self.fields.levelName = nil
for _, lvl in ipairs(self.sortedLevels) do
if im.Selectable1(lvl.value, lvl.value == self.mission.startTrigger.level) then
self.fields.levelName = nil
for _, stType in ipairs(startTriggersSorted) do
if im.Selectable1(stType, stType == self.mission.startTrigger.type) then
local hasOld = oldValues[stType] ~= nil
@/lua/ge/extensions/flowgraph/nodes/input/blacklistAction.lua
end
if im.Selectable1("----- Category: " .. cat .. " -----", allSelected, im.SelectableFlags_DontClosePopups) then
for i, name in ipairs(allCategories[cat]) do
@/lua/ge/extensions/career/modules/linearTutorial.lua
if im.BeginMenu("> Intro Popups...") then
if im.Selectable1("View All In Order") then
for _, file in ipairs(introPopupFiles) do
end
if im.Selectable1("Un-view all") then
for _, file in ipairs(introPopupFiles) do
im.SameLine()
if im.Selectable1("View " .. folder) then
M.introPopup(folder, true)
@/lua/ge/extensions/editor/forestEditor.lua
im.Indent()
if im.Selectable1(string.format("%d##pMTextureSetList", i), i == pM_selectedTextureSetId and true or false) then
if pM_selectedTextureSetId ~= i then
local isSelected = (fieldValue == dbName)
if im.Selectable1(dbName, isSelected) then
im.CloseCurrentPopup()
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imNumbers.lua
for _, fun in ipairs(self.modes) do
if im.Selectable1(fun, fun == self.mode) then
self.mode = fun
@/lua/ge/extensions/editor/driftDataEditor.lua
for i, elem in ipairs(driftData.stuntZones) do
if im.Selectable1(string.format("%d - %s", i, elem.type), i == selectedStuntZoneIndex) then
-- select element
for spotId, spotData in pairs(currDriftSpots) do
if im.Selectable1(spotId, spotId == selectedDriftSpotId) then
selectDriftSpot(spotId)
@/lua/ge/extensions/editor/sitesEditor/parkingSpots.lua
for name, vehScale in pairs(psVehScales) do
if im.Selectable1(name) then
currScale = name
for _, dir in ipairs({ "Left", "Right", "Front", "Back" }) do
if im.Selectable1(dir) then
self.multiSpotData.spotDirection = dir
@/lua/ge/extensions/flowgraph/nodes/types/setVariable.lua
for _, name in ipairs(names) do
if im.Selectable1(name, name==current) then
self:setVar(name)
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
for _, m in ipairs(self.modes) do
if im.Selectable1(m, m == self.mode) then
self.mode = m
for _, m in ipairs(displayModes) do
if im.Selectable1(m, m == self.displayMode) then
self.displayMode = m
@/lua/ge/extensions/editor/missionEditor/additionalAttributes.lua
if im.Selectable1(noneVal.label, val.key == nil) then
self.mission.additionalAttributes[attKey] = nil
for _, v in ipairs(attribute.valuesSorted) do
if im.Selectable1(v.label, val.key == v.key) then
self.mission.additionalAttributes[attKey] = v.key
@/lua/ge/extensions/editor/crawlEditor/trails.lua
if im.Selectable1(displayName, isSelected) then
if selection.index == i then
local isSelected = currentPath and currentPath._filePath == path._filePath
if im.Selectable1(path._filePath or "Unnamed Path", isSelected) then
trail.pathId = path._filePath
local isSelected = currentBoundary and currentBoundary._filePath == boundary._filePath
if im.Selectable1(boundary._filePath or "Unnamed Boundary", isSelected) then
trail.boundaryId = boundary._filePath
local isSelected = currentStartingPosition and currentStartingPosition._filePath == startingPosition._filePath
if im.Selectable1(startingPosition._filePath or "Unnamed Starting Position", isSelected) then
trail.startingPositionId = startingPosition._filePath
local isSelected = currentReversedStartingPosition and currentReversedStartingPosition._filePath == startingPosition._filePath
if im.Selectable1(startingPosition._filePath or "Unnamed Starting Position", isSelected) then
trail.startingPositionIdReversed = startingPosition._filePath
local fileName = filename
if im.Selectable1(fileName, j-1 == selectedIndex[0]) then
selectedIndex[0] = j-1
local fileName = filename
if im.Selectable1(fileName, i-1 == addSelectedIndex[0]) then
addSelectedIndex[0] = i-1
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
if im.Selectable1(displayText, isSelected) then
self:selectPathnode(pathnode.id)
@/lua/ge/extensions/editor/raceEditor/segments.lua
local problem = (segment:getFrom().missing or segment:getTo().missing) and " (!)" or ""
if im.Selectable1(segment.name .. problem, segment.id == self.index) then
self:selectSegment(segment.id)
im.Separator()
if im.Selectable1('Create', false) then
editor.history:commitAction("Create Segment",
for i, node in ipairs(self.path.pathnodes.sorted) do
if im.Selectable1('#'..i .. " - " .. node.name, segment:getFrom().id == node.id) then
local old = segment:onSerialize()
for i, node in ipairs(self.path.pathnodes.sorted) do
if im.Selectable1('#'..i .. " - " .. node.name, segment:getTo().id == node.id) then
local old = segment:onSerialize()
local newMode = nil
if im.Selectable1('waypoint', segment.mode == 'waypoint') then
newMode = 'waypoint'
end
if im.Selectable1('capsules', segment.mode == 'capsules') then
newMode = 'capsules'
end
if segment:getBeNavpath() and im.Selectable1('navpath', segment.mode == 'navpath') then
newMode = 'navpath'
for i, cap in ipairs(segment.capsulePoints) do
if im.Selectable1("# " .. i, i == self.capsuleIndex) then
self:selectCapsule(i)
if #segment.capsulePoints == 0 then
if im.Selectable1("Create", false) then
local old = segment:onSerialize()
@/lua/ge/extensions/flowgraph/nodes/states/transition.lua
for _, tName in ipairs(target:getTransitionNames()) do
if im.Selectable1(tName, tName == self.transitionName) then
self.transitionName = tName
@/lua/ge/extensions/editor/rallyEditor/pacenotes/pacenoteForm.lua
for _, mode in ipairs(RallyEnums.pacenoteAudioModeNames) do
if im.Selectable1(mode, mode == pacenoteAudioModeSetting) then
pacenote:setAudioMode(RallyEnums.pacenoteAudioMode[mode])
local v = triggerType[2]
if im.Selectable1(v, k == currReleaseType) then
pacenote:setSlowCornerReleaseType(k)
local v = triggerType[2]
if im.Selectable1(v, k == currTriggerType) then
pacenote:setTriggerType(k)
@/lua/ge/extensions/flowgraph/nodes/math/math.lua
for _, template in ipairs(self.templateExpressions) do
if im.Selectable1(template.name, template.expression == expr) then
self.data.expression = template.expression
@/lua/ge/extensions/flowgraph/nodes/types/getVariable.lua
for _, name in ipairs(names) do
if im.Selectable1(name, name==current) then
self:setVar(name)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartList.lua
im.TableNextColumn()
im.Selectable1("##part" .. tostring(k), true, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap))
if im.IsItemHovered() then
@/lua/ge/extensions/editor/flowgraph/events.lua
for _, format in ipairs({'Project Time','Global Time','Frame'}) do
if im.Selectable1(format, format == timeFormat) then
timeFormat = format
@/lua/ge/extensions/editor/undoHistory.lua
imgui.PushID1(tostring(k))
if imgui.Selectable1(tostring(k) .. ": " .. action.name, isSel) then selectedIndex = k end
if imgui.IsItemHovered() then
imgui.PushID1(tostring(k) .. "redo")
if imgui.Selectable1(tostring(k) .. ": " .. action.name, isSel) then selectedIndex2 = k end
if imgui.IsItemHovered() then
@/lua/ge/extensions/editor/preferences.lua
local cPos = imgui.GetCursorPos()
if imgui.Selectable1(" " .. pageLabel, currentCategoryName == pageName) then
currentCategoryName = pageName
@/lua/ge/extensions/editor/dragRaceEditor/lanes.lua
if im.Selectable1(label, isSelected) then
M.selectLane(i)
@/lua/ge/extensions/editor/objectTool.lua
local isSel = tableContains(hiddenObjectIconClasses, classes[k])
if imgui.Selectable1(classes[k], isSel) then
if isSel then
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/pathFromFile.lua
fnShort = string.sub(fnShort, 1, string.len(fnShort) - string.len(trackFileExt))
if im.Selectable1(fnShort, fnShort==self.fnShort) then
self.fnShort = fnShort
@/lua/ge/extensions/flowgraph/nodes/logic/sequencer.lua
for _, m in ipairs({ 'auto', 'manual', 'select' }) do
if im.Selectable1(m) then
for _, m in ipairs(sortedModes) do
if im.Selectable1(m) then
self.mode = m
@/lua/common/extensions/ui/imgui_gen_luaintf.lua
end
function M.Selectable1(string_label, bool_selected, ImGuiSelectableFlags_flags, ImVec2_size)
if bool_selected == nil then bool_selected = false end
if string_label == nil then log("E", "", "Parameter 'string_label' of function 'Selectable1' cannot be nil, as the c type is 'const char *'") ; return end
return imgui.Selectable1(string_label, bool_selected, ImGuiSelectableFlags_flags, ImVec2_size)
end
@/lua/ge/extensions/editor/raceEditor/trackLayout.lua
if im.BeginCombo(name..'##'..fieldName, objects.objects[self.path[fieldName]].name) then
if im.Selectable1('#'..0 .. " - None", objects.objects[self.path[fieldName]].id == -1) then
self:changeField(fieldName,-1)
for i, sp in ipairs(objects.sorted) do
if im.Selectable1('#'..i .. " - " .. sp.name, objects.objects[self.path[fieldName]].id == sp.id) then
self:changeField(fieldName,sp.id)
@/lua/ge/extensions/editor/dragRaceEditor/dragSettings.lua
if im.Selectable1(label, isSelected) then
M.selectSettings(i)
if im.Selectable1(phaseLabel, isSelected) then
selectedPhaseIndex = i
@/lua/ge/extensions/editor/missionEditor/issues.lua
end
if im.Selectable1(name..'##'..name..'-'..issue.idx) then
self.missionEditor.setMissionById(issue.missionId)
@/lua/ge/extensions/flowgraph/nodes/debug/comment.lua
for _, mode in ipairs(self.moveModes) do
if im.Selectable1(moveModesPrettyNames[mode], mode == self.moveMode) then
self.moveMode = mode
@/lua/ge/extensions/flowgraph/nodes/logic/compare.lua
for _,comparison in ipairs(comparisonOps) do
if im.Selectable1(comparison.opName, comparison.opName == self.comparison.opName) then
self.comparison = comparison
@/lua/ge/extensions/editor/dynamicDecals/settings.lua
im.SameLine()
if im.Selectable1(string.format("%s##%s_material_%d_selectable", name, widgetId, id), enabled) then
if enabled == false then
im.SameLine()
if im.Selectable1(string.format("%s##%s_shapeMesh_%d_selectable", name, widgetId, i), enabled) then
api.setMeshEnable(name, not enabled)
@/lua/ge/extensions/editor/missionEditor/setupModules.lua
if core_environment and core_environment.getTimeOfDay() then
if im.Selectable1("Default##todSelector") then
self.todInput[0] = -1
end
if im.Selectable1("Now##todSelector") then
local now = core_environment.getTimeOfDay().time
local val = (i / 48 + 0.5) % 1
if im.Selectable1(todToTime(val).."##todSelector") then
setupModule.time = val
@/lua/ge/extensions/editor/missionEditor/progressSingle.lua
for _, k in ipairs(progressKeys) do
if im.Selectable1(k, k==self.currentProgressKey) then self.currentProgressKey = k end
end
@/lua/ge/extensions/editor/terrainEditor.lua
if not hasPaintMaterial(mat.internalName) then
if im.Selectable1(mat.internalName .. "##availableTerrainMaterials" .. id, false, nil, nil, 0) then
-- create a new TerrainMaterial object
local remainingW = im.GetContentRegionAvailWidth() - (var.style.ItemSpacing.x + btnHeight * im.uiscale[0] + 10)
im.Selectable1(
matProxy.internalName .. "##" .. index,
im.PushStyleColor2(im.Col_HeaderActive, im.ImColorByRGB(0, 0, 0, 0).Value)
im.Selectable1("##DragAndDropField", false)
im.PopStyleColor(2)
im.Spacing()
if im.Selectable1(tbName, tbData.selected) then
if im.GetIO().KeyCtrl == true then
@/lua/ge/extensions/editor/meshSpline.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
@/lua/ge/extensions/editor/perfProfiler.lua
for _, key in ipairs(dataKeys) do
if im.Selectable1(key, key == chart.currentDataKey) then
chart.currentDataKey = key
im.TableNextColumn()
if im.Selectable1(file.meta.name) then
extensions.load('test_util_camPosDataToBucket')
im.TableNextColumn()
if im.Selectable1(file.meta.name) then
extensions.load('test_util_camPosDataToBucket')
@/lua/ge/extensions/editor/inspector.lua
imgui.SetCursorPosX(imgui.GetCursorPos().x + fontSize)
if imgui.Selectable1(val.name, false) then
groundCoverUVHandleColorIndex = index
imgui.SetCursorPosX(imgui.GetCursorPos().x + fontSize)
if imgui.Selectable1(val.name, false) then
groundCoverUVBgColorIndex = index
@/lua/ge/extensions/editor/dynamicDecals/docs.lua
if im.Selectable1(string.format("%s##%s", section.name, id), selected) then
currentSection = section
@/lua/ge/extensions/editor/dragRaceEditor/strips.lua
if im.Selectable1(label, isSelected) then
M.selectStrip(i)
if im.Selectable1(laneLabel, isLaneSelected) then
selectedLaneIndex = i
if im.Selectable1(waypointLabel, isWaypointSelected) then
selectedWaypointIndex = i
if im.Selectable1(boundaryLabel, isBoundarySelected) then
selectedBoundaryIndex = selectedLaneIndex
@/lua/ge/extensions/editor/dataBlockEditor.lua
for _, dataBlock in ipairs(dataBlockClasses[newDataBlockClass]) do
if im.Selectable1(dataBlock:__tostring()) then
dataBlockToCopyID = dataBlock:getID()
@/lua/ge/extensions/editor/assetBrowser.lua
if entry.filterFn() then
if im.Selectable1(entry.name .. "##" .. dir.path) then
entry.fn(dir)
else
if im.Selectable1(entry.name .. "##" .. dir.path) then
entry.fn(dir)
if entry.filterFn(asset) then
if im.Selectable1(entry.name .. "##" .. asset.path) then
entry.fn(asset)
else
if im.Selectable1(entry.name .. "##" .. asset.path) then
entry.fn(asset)
if entry.filterFn(material) then
if im.Selectable1(entry.name) then
entry.fn(material)
else
if im.Selectable1(entry.name) then
entry.fn(material)
if entry.filterFn() then
if im.Selectable1(entry.name .. "##" .. set.dir.path) then
entry.fn(set)
else
if im.Selectable1(entry.name .. "##" .. set.dir.path) then
entry.fn(set)
im.Selectable1(type.label .. "##FileTypeDropdownItem", nil, im.SelectableFlags_DontClosePopups)
if im.IsItemHovered() then
im.Separator()
if im.Selectable1("Enable all##FileTypeDropdownItem", nil, im.SelectableFlags_DontClosePopups) then
enableAllFilterTypes()
end
if im.Selectable1("Disable all##FileTypeDropdownItem", nil, im.SelectableFlags_DontClosePopups) then
disableAllFilterTypes()
if im.BeginPopup("FilterByTypeDropdown_rmb") then
if im.Selectable1("Enable all##FileTypeDropdownItemRMB", nil, im.SelectableFlags_DontClosePopups) then
enableAllFilterTypes()
end
if im.Selectable1("Disable all##FileTypeDropdownItemRMB", nil, im.SelectableFlags_DontClosePopups) then
disableAllFilterTypes()
im.Bullet()
if im.Selectable1(matName) then
if editor_materialEditor then
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
local vName = tostring(veh.vid .. ": " .. veh.name .. " - " .. veh.jBeam)
if im.Selectable1(vName, i == selectedVehicleIdx, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if i ~= selectedVehicleIdx and not isExecuting then
-- Handle the individual row selection.
if im.Selectable1("", false, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then end
im.SameLine()
@/lua/ge/extensions/editor/crawlEditor/paths.lua
if im.Selectable1(displayName, isSelected) then
if selection.index == i then
if im.Selectable1(displayName, isSelected) then
self:selectPathnode(i)
@/lua/ge/extensions/editor/util/editorElementHelper.lua
for _, v in ipairs(e.displayOptions.dropdownValues) do
if im.Selectable1(v, v == ctd[e.fieldName]) then
e.ac = im.ArrayChar(e.len, v)
for _, layer in ipairs(container.layers or {{dir = container.missionFolder}}) do
if im.Selectable1("Show layer in Explorer: "..layer.dir) then
Engine.Platform.exploreFolder(layer.dir)
end
if not e.foundFile and im.Selectable1("Check for File again") then
e.foundFile = nil
im.Separator()
if im.Selectable1("Open Race Editor") then
if editor_raceEditor then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Race Editor") then
if editor_raceEditor then
im.Separator()
if im.Selectable1("Open Cam Path Editor") then
editor.selectEditMode(editor.editModes.camPathEditMode)
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Cam Path Editor") then
editor.selectEditMode(editor.editModes.camPathEditMode)
for _, fl in ipairs(e.filepathsInfolder) do
if im.Selectable1("Save current campath from editor to " .. fl) then
local cedit = editor_camPathEditor
im.Separator()
if im.Selectable1("Open Sites Editor") then
if editor_sitesEditor then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Sites Editor") then
if editor_sitesEditor then
for _, fl in ipairs(e.filepathsInfolder) do
if im.Selectable1("Save current sites file from editor to " .. fl) then
editor_sitesEditor.saveSites(editor_sitesEditor.getCurrentSites(), container.missionFolder .. fl)
if e.fileTags['prefab.json'] or e.fileTags['prefab'] then
if im.Selectable1("Open Scenetree") then
editor_sceneTree.openSceneTree()
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Spawn Prefab at Origin") then
local prefab = spawnPrefab(Sim.getUniqueName(e.label..e._id),e.foundFile,"0 0 0","0 0 1 0","1 1 1")
if e.fileTags['flow.json'] then
if im.Selectable1("Open Flowgraph Editor") then
editor_flowgraphEditor.open()
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Open Flowgraph Project in Flowgraph Editor") then
editor_flowgraphEditor.open()
if im.BeginMenu("Create New and Open Flowgraph Project...") then
if im.Selectable1("Empty Project") then template = "empty" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Empty Project") then template = "empty" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Simple Scenariolike Template") then template = "simpleScenarioTemplate.flow.json" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Simple Scenariolike Template") then template = "simpleScenarioTemplate.flow.json" end
im.EndMenu()
im.Separator()
if im.Selectable1("Open Vehicle Group Manager") then
if editor_multiSpawnManager then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Vehicle Group Manager") then
if editor_multiSpawnManager then
for _, v in ipairs(e.values) do
if im.Selectable1(v, v == ctd[e.fieldName]) then
ctd[e.fieldName] = v
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/beamstate.lua
for _, fun in ipairs(self.functions) do
if im.Selectable1(fun, fun == self.selected) then
self.selected = fun
@/lua/ge/extensions/editor/flowgraph/references.lua
for _, modeData in ipairs(filterModes) do
if im.Selectable1(modeData.mode) then
self.filterMode = modeData.mode
im.SameLine()
if im.Selectable1(tostring(rowCount) .. ". ", columnsBasic.selected[0] == rowCount, im.SelectableFlags_SpanAllColumns) then
columnsBasic.selected[0] = rowCount
im.SameLine()
if im.Selectable1(tostring(rowCount) .. ". ", columnsBasic.selected[0] == rowCount, im.SelectableFlags_SpanAllColumns) then
columnsBasic.selected[0] = rowCount
@/lua/ge/extensions/editor/sensorConfigurationEditor.lua
local vName = tostring(vehicle.vid .. ": " .. vehicle.name .. " - " .. vehicle.jBeam)
if im.Selectable1(vName, i == selectedVehicleIdx, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if i ~= selectedVehicleIdx then
local sensor = sensors[i]
if im.Selectable1(sensor.name, i == selectedSensorIdx, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if i ~= selectedSensorIdx then
@/lua/ge/extensions/editor/missionEditor/progressMulti.lua
for _, k in ipairs(progressKeys) do
if im.Selectable1(k, k==self.currentProgressKey) then
self.currentProgressKey = k
@/lua/ge/extensions/editor/flowgraph/overview.lua
local clicked = false
im.Selectable1(txt)
if im.IsItemClicked() then clicked = true end
@/lua/ge/extensions/editor/drivePathEditor.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
local flag = i == selectedVehicleIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedVehicleIdx = i
@/lua/ge/extensions/editor/vehicleBridgeTest.lua
for i, vname in ipairs(scenetree.findClassObjects('BeamNGVehicle')) do
if im.Selectable1(vname.."##"..i) then
vehId = scenetree.findObject(vname):getID()
@/lua/ge/extensions/flowgraph/nodes/scene/camera/setCameraRotation.lua
for _, m in ipairs(self.modes) do
if im.Selectable1(m, m == self.mode) then
self.mode = m
@/lua/ge/extensions/flowgraph/nodes/logic/select.lua
if fun.name ~= 'readOnly' then
if im.Selectable1(fun.name, fun.name == self.mode) then
self.mode = fun.name
@/lua/common/extensions/ui/flowgraph/editor.lua
im.SameLine()
if im.Selectable1(type.name, type.name == variable.type) then
source:updateType(name, type.name)
for _, strat in ipairs(source:getMergeStrats(variable.type)) do
if im.Selectable1(strat.name, variable.mergeStrat == strat.name) then
source:setMergeStrat(name, strat.name)
for _, t in ipairs({ 'Car', 'Truck', 'Prop', 'Trailer', 'Utility', 'Unknown', 'Any'}) do
if im.Selectable1(t, t == self.vehType) then
if t ~= self.vehType then
if m.Type == self.vehType or self.vehType == 'Any' then
if im.Selectable1(m.Name and (m.Name .. " [" .. m.key .. "]") or m.key, m.key == self.model) then
if self.model ~= m.key then
for _, m in ipairs(self.configs) do
if im.Selectable1((dumps(m.value.Name) .. " [" .. m.key .. "]"), m.key == self.config) then
self.config = m.key
@/lua/ge/extensions/editor/raceEditor/tools.lua
for _, m in ipairs(alignModes) do
if im.Selectable1(m, m == alignMode) then
alignMode = m
if im.BeginCombo(name..'##'..fieldName, objects.objects[self.path[fieldName]].name) then
if im.Selectable1('#'..0 .. " - None", value == -1) then
self:changeField(fieldName,-1)
for i, sp in ipairs(objects.sorted) do
if im.Selectable1('#'..i .. " - " .. sp.name, value == sp.id) then
self:changeField(fieldName,sp.id)
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
for i, name in ipairs(signalCtrlDefinitions.typesSorted) do
if im.Selectable1(name.."##ctrlDefinitionType", selected.ctrlDefType == i) then
selected.ctrlDefType = i
for _, state in ipairs(signalCtrlDefinitions.tempStatesSorted) do
if im.Selectable1(state.."##ctrlDefinitionTypeData"..i, currData.states[i] == state) then
currData.states[i] = state
for i, name in ipairs(signalCtrlDefinitions.statesSorted) do
if im.Selectable1(name.."##ctrlDefinitionState", selected.ctrlDefState == i) then
selected.ctrlDefState = i
for _, action in ipairs(tableKeysSorted(signalCtrlDefinitions.signalActions)) do
if im.Selectable1(action.."##ctrlDefinitionState", currData.action == action) then
currData.action = action
for _, color in ipairs(tableKeysSorted(signalCtrlDefinitions.signalColors)) do
if im.Selectable1(color.."##ctrlDefinitionStateLight"..i, currData.flashingLights[selected.flashingLight][i] == color) then
currData.flashingLights[selected.flashingLight][i] = color
for i, instance in ipairs(instances) do
if im.Selectable1(instance.name, selected.signal == i or groupInstances[instance.name]) then
selectInstance(i)
if im.Selectable1("New...##instance", false) then -- if this is clicked, creates a new signal instance at the current camera position
local act = {controllerId = lastUsed.controllerId, sequenceId = lastUsed.sequenceId}
if im.BeginCombo("Sequence##instance", name) then
if im.Selectable1("Basic##instanceSequenceBasic", not elem) then
currInstance:setSequence(0)
for _, sequence in ipairs(sequences) do
if im.Selectable1(sequence.name.."##instanceSequence", sequence.name == name) then
currInstance:setSequence(sequence.id)
if im.BeginCombo("Controller##instance", name) then
if im.Selectable1("(None)##instanceController", not elem) then
currInstance:setController(0)
for _, ctrl in ipairs(selectableControllers) do
if im.Selectable1(ctrl.name, ctrl.name == name) then
currInstance:setController(ctrl.id)
local _, shapeName = path.split(obj.shapeName)
if im.Selectable1(string.format("[%d] %s", oid, shapeName), selectedObject == oid) then
editor.selectObjects({oid})
for i, ctrl in ipairs(controllers) do
if im.Selectable1(ctrl.name, selected.controller == i) then
selectController(i)
im.Separator()
if im.Selectable1("Create...##controller", false) then
editor.history:commitAction("Create Controller", {}, createControllerActionUndo, createControllerActionRedo)
for _, k in ipairs(tableKeysSorted(signalTypes)) do
if im.Selectable1(signalTypes[k].name, k == currController.type) then
currController.type = k
for i, sequence in ipairs(sequences) do
if im.Selectable1(sequence.name, selected.sequence == i) then
selectSequence(i)
im.Separator()
if im.Selectable1("Create...##sequence", false) then
editor.history:commitAction("Create Sequence", {}, createSequenceActionUndo, createSequenceActionRedo)
for _, ctrl in ipairs(controllers) do
if not currSequence.tempControllers[ctrl.id] and im.Selectable1(ctrl.name, cid == ctrl.id) then -- prevents duplicates by limiting controller selection
phase.controllerIds[j] = ctrl.id
@/lua/ge/extensions/editor/materialEditor.lua
if im.Selectable1("Open in Explorer"..suffix) then
local p = resolvePath(res)
if im.Selectable1("Preview"..suffix) then
local p = resolvePath(res)
if im.Selectable1("Copy"..suffix) then
im.SetClipboardText(tostring(res))
im.SameLine()
if im.Selectable1(annotations[n], isSelected) then
value = annotations[n]
for _, matName in ipairs(pickingFromObjectMaterials) do
if im.Selectable1(matName) then
if pickingFromObjectMode == pickingFromObjectMode_enum.new_material then
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
for _, v in ipairs(e.displayOptions.dropdownValues) do
if im.Selectable1(v, v == mtd[e.fieldName]) then
e.ac = im.ArrayChar(e.len, v)
if im.BeginPopup("Editor Helper File Context Menu " .. e._id) then
if im.Selectable1("Show in Explorer...") then
Engine.Platform.exploreFolder(mission.missionFolder.."/")
end
if not e.foundFile and im.Selectable1("Check for File again") then
e.foundFile = nil
im.Separator()
if im.Selectable1("Open Race Editor") then
if editor_raceEditor then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Race Editor") then
if editor_raceEditor then
im.Separator()
if im.Selectable1("Open Cam Path Editor") then
editor.selectEditMode(editor.editModes.camPathEditMode)
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Cam Path Editor") then
editor.selectEditMode(editor.editModes.camPathEditMode)
for _, fl in ipairs(e.filepathsInMissionfolder) do
if im.Selectable1("Save current campath from editor to " .. fl) then
local cedit = editor_camPathEditor
im.Separator()
if im.Selectable1("Open Sites Editor") then
if editor_sitesEditor then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Sites Editor") then
if editor_sitesEditor then
if e.fileTags['prefab.json'] or e.fileTags['prefab'] then
if im.Selectable1("Open Scenetree") then
editor_sceneTree.openSceneTree()
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Spawn Prefab at Origin") then
local prefab = spawnPrefab(Sim.getUniqueName(mission.id.." - " .. e.label),e.foundFile,"0 0 0","0 0 0 1","1 1 1")
if e.fileTags['flow.json'] then
if im.Selectable1("Open Flowgraph Editor") then
editor_flowgraphEditor.open()
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Open Flowgraph Project in Flowgraph Editor") then
editor_flowgraphEditor.open()
if im.BeginMenu("Create New and Open Flowgraph Project...") then
if im.Selectable1("Empty Project") then template = "empty" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Empty Project") then template = "empty" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Simple Scenariolike Template") then template = "simpleScenarioTemplate.flow.json" end
if im.Selectable1("Barebones Mission Template") then template = "barebonesTemplate.flow.json" end
if im.Selectable1("Simple Scenariolike Template") then template = "simpleScenarioTemplate.flow.json" end
im.EndMenu()
im.Separator()
if im.Selectable1("Open Vehicle Group Manager") then
if editor_multiSpawnManager then
if not e.foundFile then im.BeginDisabled() end
if im.Selectable1("Load File into Vehicle Group Manager") then
if editor_multiSpawnManager then
for _, v in ipairs(e.values) do
if im.Selectable1(v, v == mtd[e.fieldName]) then
mtd[e.fieldName] = v
@/lua/ge/extensions/editor/toolUtilities/materialSelectionMgr.lua
if onSelectMaterialFunct and (im.Selectable1(objId, false) or clickedImage) then
onSelectMaterialFunct(objId) -- Call the callback function for handling the material selection event, if it exists.
@/lua/ge/extensions/editor/mapSensorEditor.lua
local sensor = sensors[i]
if im.Selectable1(sensor.name, i == selectedSensorIdx, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if i ~= selectedSensorIdx then
@/lua/ge/extensions/editor/createObjectTool.lua
local isSelected = i == selectedButtonListIndex
if imgui.Selectable1(result.name, isSelected) or classSelected and selectedButtonListIndex == i then
simObjectSearch:updateFrecencyEntry(result.name)
@/lua/ge/extensions/editor/dynamicDecals/history.lua
im.PushID1(tostring(k))
if im.Selectable1(tostring(k) .. ": " .. action.name, isSel) then undoStackSelectedIndex = k end
if im.IsItemHovered() then
im.PushID1(tostring(k) .. "redo")
if im.Selectable1(tostring(k) .. ": " .. action.name, isSel) then redoStackSelectedIndex = k end
if im.IsItemHovered() then
@/lua/ge/extensions/editor/roadSpline.lua
local flag = i == selectedGroupIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedGroupIdx = i
local flag = (layer.id == selectedLayerId)
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedLayerId = layer.id
@/lua/ge/extensions/editor/missionEditor/careerSetup.lua
for _, key in ipairs(self.attributeOptions) do
if im.Selectable1(key,false) then
ret = key
for _, skill in ipairs(self.skillOptions) do
if im.Selectable1(skill, skill == self.mission.careerSetup.skill) then
self.mission.careerSetup.skill = skill
@/lua/ge/extensions/editor/resourceChecker.lua
if im.BeginPopup("Popup_" .. res[2]..count) then
if im.Selectable1("Copy material data##"..res[2]) then
copiedData = {}
end
if im.Selectable1("Paste material data##"..res[2]) then
if copiedData and copiedData ~= {} and copiedData ~= "removed" then
end
if im.Selectable1("Remove duplicate##"..res[2]) then
duplicateTable[res[1]][res[2]] = "removed"
end
if im.Selectable1("Open in Explorer##"..res..count) then
if type and type == 'material' or type == 'duplicates' or type == 'usedMat' then
if string.lower(res):find(".json") == nil and string.lower(res):find(".cs") == nil then
if im.Selectable1("Preview##"..res..count) then
if not type then
if type and type == 'duplicates' then
if im.Selectable1("Duplicates Resolver##"..res..count) then
duplicateName = res
if type and type == 'usedMat' then
if im.Selectable1("Save all usages data##"..res..count) then
local path = filepath.."/resourceChecker_matData_"..res..".json"
if not type or type ~= 'material' and type ~= 'duplicates' and type ~= 'usedMat' then
if im.Selectable1("Copy path to clipboard##"..res..count) then
if not string.startswith(res, '/') then
end
if im.Selectable1("Dump asset##"..res..count) then
if not string.startswith(res, '/') then
@/lua/ge/extensions/editor/flowgraph/garbageDebug.lua
for _, key in ipairs(valueKeys) do
if im.Selectable1(valueLabels[key], key == editor.getPreference("flowgraph.debug.garbageSort")) then
editor.setPreference("flowgraph.debug.garbageSort", key)
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua
if im.Selectable1(obj.name .. '##' .. obj.id, selected) then
self:selectElement(obj.id, mode)
if self.createByShift then
if im.Selectable1('New...', self.index == nil) then
self:selectElement(nil)
else
if im.Selectable1('Create...', false) then
local elem = self.elementEditor:create(nil)
im.Separator()
if im.Selectable1("Remove Tag") then
removeTag = self.popupTag
for tag, _ in pairs(self.currTags) do
if im.Selectable1(tag) then
self.addTagText = im.ArrayChar(256, tag)
@/lua/ge/extensions/editor/raceEditor/timeTrials.lua
for i, d in ipairs(difficulties) do
if im.Selectable1(d, d == intDiffToString(self.path.difficulty)) then
self:changeField("difficulty", (i - 1) * 25 + 12)
@/lua/ge/extensions/flowgraph/nodes/ui/customUiLayout.lua
for _, key in ipairs(sorted) do
if im.Selectable1(key) then
self.storedLayout = deepcopy(layouts[key])
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/pathStored.lua
for id, rec in pairs(editor_scriptAIManager.getCurrentRecordings()) do
if im.Selectable1(tostring(id), tostring(id) == self.currentID) then
self.currentID = id
@/lua/ge/extensions/editor/assemblySpline.lua
local flag = i == selectedSplineIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
selectedSplineIdx = i
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/vehicleAction.lua
local action = modelA.actions[name]
if im.Selectable1(action.title, self.action == action) then
self.action = action
local action = allA.actions[name]
if im.Selectable1(action.title, self.action == action) then
self.action = action
@/lua/ge/extensions/editor/rallyEditor/notebookInfo.lua
if mode ~= "auto" then
if im.Selectable1(mode, mode == notebookAudioMode) then
self.path:setAudioMode(RallyEnums.pacenoteAudioMode[mode])
-- for _, mode in ipairs(RallyEnums.drivelineModeNames) do
-- if im.Selectable1(mode, mode == notebookDrivelineMode) then
-- self.path:reloadMissionSettings()
end
if im.Selectable1(codriverName, codriver.id == self.codriverId) then
editor.history:commitAction("Select Codriver",
im.Separator()
if im.Selectable1('New...', self.codriverId == nil) then
local codriver = self.path.codrivers:create(nil, nil)
@/lua/ge/extensions/editor/audioEventsList.lua
if im.BeginPopup("rightClickPopupMenu" .. event.id) then
if im.Selectable1("Copy to clipboard") then
im.SetClipboardText(event.eventName)
-- Right clicking opens popup menu
im.Selectable1(event.eventName, nil, im.SelectableFlags_SpanAllColumns)
local selectableHovered = im.IsItemHovered()
im.SameLine()
if im.Selectable1("..", nil, im.SelectableFlags_SpanAllColumns) then
table.remove(currDir, currDirLen)
im.SameLine()
if im.Selectable1(v.name, nil, im.SelectableFlags_SpanAllColumns) then
table.insert(currDir, k)
@/lua/ge/extensions/editor/missionEditor.lua
else
im.Selectable1(name, clickedMission == missionData)
end
for _, mType in ipairs(missionTypeWindow.missionTypes) do
if im.Selectable1(mType, mType == newMissionData.type) then
newMissionData.type = mType
for _, gr in ipairs(groupingNamesSorted) do
if im.Selectable1(gr.name, gr.key == grouping.mode) then
grouping.mode = gr.key
@/lua/ge/extensions/editor/slotTrafficEditor.lua
im.PushStyleColor2(im.Col_Text, im.ImVec4(roadColor.r, roadColor.g, roadColor.b, 1))
if im.Selectable1(roadId, roadId == selectedRoad, im.SelectableFlags_SpanAllColumns) then
selectRoad(roadId)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua
local name = flexbody ~= nil and flexbody.mesh or "None"
if im.Selectable1(name) then
selectFlexbody(i)
if string.find(name, input, 1, true) then
if im.Selectable1(name) then
selectFlexbody(i)
-- on clicking suggestion, select node!
if im.Selectable1(nodeName) then
ffi.copy(nodeInputTextInput, "")
-- on clicking suggestion, select vertex!
if im.Selectable1(vertName) then
ffi.copy(vertexInputTextInput, "")
@/lua/ge/extensions/editor/missionEditor/conditions.lua
--if self.field == 'visible' then
if im.Selectable1("automatic", "automatic" == condition.type) then
condition.type = "automatic"
for _, cType in ipairs(getConditionsSorted()) do
if im.Selectable1(cType, cType == condition.type) then
condition.type = cType
for _, branch in ipairs(career_branches.getSortedBranches()) do
if im.Selectable1(branch.id, branch.id == condition.branchId) then
self.mission._dirty = true
for _,i in ipairs({ "4WD", "AWD", "FWD", "Other", "RWD" }) do
if im.Selectable1(i..'##'..index, i == condition.value) then
condition.value = i
for _,i in ipairs({ "Electric", "ICE" }) do
if im.Selectable1(i..'##'..index, i == condition.value) then
condition.value = i
for _, c in ipairs(comparisonOps) do
if im.Selectable1(c.opSymbol..'##'..index..self.name, c.opSymbol == condition.comparator) then
condition.comparator = c.opSymbol
for _, c in ipairs({"A","B","C","D","E"}) do
if im.Selectable1(c..'##'..index..self.name, c == condition.value) then
condition.value = c
for idx, man in ipairs(self.manufacturerList) do
if im.Selectable1(man..'##ManSelect'..idx..self.name, man == condition.value) then
self.fields[name] = im.ArrayChar(1024, man)
@/lua/ge/extensions/editor/missionEditor/dev.lua
for _, mode in ipairs(modes) do
if im.Selectable1(mode,mode == self.mission.devNotes.mode) then
self.mission.devNotes.mode = mode
@/lua/ge/extensions/flowgraph/nodes/math/ease.lua
for _, fun in ipairs(easeFuncNameList) do
if im.Selectable1(fun, fun == self.easeFuncName) then
self.easeFuncName = fun
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
end
if im.Selectable1(name, node.id == self.index) then
editor.history:commitAction("Select Pathnode",
im.Separator()
if im.Selectable1('New...', self.index == nil) then
self:selectPathnode(nil)
if nd then
if im.Selectable1(name, name == node.navgraphName) then
editor.history:commitAction("Change Node Mode",
if im.BeginCombo(name..'##'..fieldName, objects[node[fieldName]].name) then
if im.Selectable1('#'..0 .. " - None", node[fieldName] == -1) then
editor.history:commitAction("Removed Recovery Position",
for i, sp in ipairs(self.path.startPositions.sorted) do
if im.Selectable1('#'..i .. " - " .. sp.name, node[fieldName] == sp.id) then
editor.history:commitAction("Removed Recovery Position",
@/lua/ge/extensions/editor/raceEditor/startPositions.lua
for i, sp in ipairs(self.path.startPositions.sorted) do
if im.Selectable1(sp.name, sp.id == self.index) then
self:selectStartPosition(sp.id)
im.Separator()
if im.Selectable1('New...', self.index == nil) then
self:selectStartPosition(nil)
@/lua/ge/extensions/editor/sceneTree.lua
end
imgui.Selectable1("##" .. label, node.selected or node.dragSelected, imgui.SelectableFlags_SpanAllColumns)
imgui.SetItemAllowOverlap()
if node.className == "Prefab" then
if imgui.Selectable1("Convert to V2") then
local objects = editor.selection.object or {}
elseif node.className == "PrefabInstance" then
if imgui.Selectable1("Unpackage") then
local groups = editor.unpackageSelectedPrefabInstance()
else
if imgui.Selectable1("Package") then
local saveFileDialogCallback = function(data)
end
if imgui.Selectable1("Package as level dressing") then
local saveFileDialogCallback = function(data)
end
if imgui.Selectable1("Select Children") then
if tableSize(instance.selectedNodes) == 1 then
end
if imgui.Selectable1("Duplicate Selection") then
editor.duplicate()
end
if imgui.Selectable1("Delete Selection") then
if not tableIsEmpty(instance.selectedNodes) then
imgui.Separator()
if imgui.Selectable1("Create New Group") then
local grp = addNewGroupToSceneTree(instance)
end
if imgui.Selectable1("Put Into New Group") then
local grp = addNewGroupToSceneTreeFromSelection(instance)
end
if imgui.Selectable1("Collapse Parent Group") then
local parentNode = node.parent
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Hide Selection") then
hideSelectionClicked = true
end
if imgui.Selectable1("Show Selection") then
showSelectionClicked = true
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Lock Selection") then
lockSelectionClicked = true
end
if imgui.Selectable1("Unlock Selection") then
unlockSelectionClicked = true
imgui.Separator()
if imgui.Selectable1("Collapse All Scene Tree") then
collapseAllSceneTree(instance)
end
if imgui.Selectable1("Select Children") then
if tableSize(instance.selectedNodes) == 1 then
end
if imgui.Selectable1("New Group") then
local grp = addNewGroupToSceneTree(instance)
end
if imgui.Selectable1("Duplicate Selection") then
editor.duplicate()
end
if imgui.Selectable1("Delete Selection") then
if not tableIsEmpty(instance.selectedNodes) then
end
if imgui.Selectable1("Put Into New Group") then
local grp = addNewGroupToSceneTreeFromSelection(instance)
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Hide Selection") then
hideSelectionClicked = true
end
if imgui.Selectable1("Show Selection") then
showSelectionClicked = true
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Lock Selection") then
lockSelectionClicked = true
end
if imgui.Selectable1("Unlock Selection") then
unlockSelectionClicked = true
imgui.Separator()
if imgui.Selectable1("Sort Group") then
sortGroupNode(instance, node)
end
if imgui.Selectable1("Sort Group Recursive") then
sortGroupNode(instance, node, true)
if object and node.className ~= "Prefab" then
if imgui.Selectable1("Pack Prefab") then
--TODO: check JSON save, load, replace cs to json save load
imgui.Separator()
if imgui.Selectable1("Collapse Parent Group") then
local parentNode = node.parent
end
if imgui.Selectable1("Collapse All Scene Tree") then
collapseAllSceneTree(instance)
if imgui.Selectable1("Bulk Rename...") then
editor.showWindow("bulkRename")
end
if imgui.Selectable1("Duplicate Selection") then
if not tableIsEmpty(instance.selectedNodes) then
end
if imgui.Selectable1("Delete Selection") then
if not tableIsEmpty(instance.selectedNodes) then
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Hide Selection") then
hideSelectionClicked = true
end
if imgui.Selectable1("Show Selection") then
showSelectionClicked = true
if not tableIsEmpty(instance.selectedNodes) then
if imgui.Selectable1("Lock Selection") then
lockSelectionClicked = true
end
if imgui.Selectable1("Unlock Selection") then
unlockSelectionClicked = true
if imgui.Selectable1("Bulk Rename...") then
editor.showWindow("bulkRename")
imgui.Separator()
if imgui.Selectable1("Put Into New Group") then
local grp = addNewGroupToSceneTreeFromSelection(instance)
end
if imgui.Selectable1("Pack Into Prefab") then
extensions.editor_fileDialog.saveFile(function(data)
if node.className == "Prefab" then
if imgui.Selectable1("Unpack Prefab") then
local groups = editor.explodeSelectedPrefab()
imgui.Separator()
if imgui.Selectable1("Collapse Parent Group") then
local parentNode = node.parent
end
if imgui.Selectable1("Collapse All Scene Tree") then
collapseAllSceneTree(instance)
if imgui.Selectable1("Inspect in new Window") then
editor.addInspectorInstance(editor.selection)
for _, item in ipairs(items) do
if item.title and imgui.Selectable1(item.title) and item.extendedSceneTreeObjectMenuItems then
item.extendedSceneTreeObjectMenuItems(node)
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
for i, note in ipairs(self.path.pacenotes.sorted) do
if im.Selectable1(note.name, note.id == self.index) then
editor.history:commitAction("Select Pacenote",
im.Separator()
if im.Selectable1('New...', self.index == nil) then
self:selectPacenote(nil)
if im.BeginCombo(name..'##'..fieldName, objects[node[fieldName]].name) then
if im.Selectable1('#'..0 .. " - None", node[fieldName] == -1) then
editor.history:commitAction("Removed Segment for pacenote",
for i, sp in ipairs(self.path.segments.sorted) do
if im.Selectable1('#'..i .. " - " .. sp.name, node[fieldName] == sp.id) then
editor.history:commitAction("Changed Segment for pacenote",
@/lua/ge/extensions/editor/levelValidator.lua
if im.Selectable1(title, false, 0) then
if functionName == sortingParam then
local textSize = im.CalcTextSize(logItem.message:sub(1, 1000) or "", nil, nil, im.GetColumnWidth(2) - im.GetStyle().ItemSpacing.x)
if im.Selectable1(" " .. (logItem.logLevel or "") .. "##" .. i, selected == i, im.SelectableFlags_SpanAllColumns, im.ImVec2(0, textSize.y + 5)) then
end
@/lua/ge/extensions/editor/rallyEditor/pacenotes/measurementsForm.lua
local isSelected = opt.value == currentIntensity
if im.Selectable1(opt.label, isSelected) then
pacenote.intensityVariationDivision = opt.value
@/lua/ge/extensions/editor/roadArchitect.lua
local flag = i == mfe.selectedRoadIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
table.clear(roadMgr.multi)
local flag = i == mfe.selectedNodeIdx or doesMultiContain(mfe.selectedRoadIdx, i, roadMgr.multi)
if im.Selectable1('Node [' .. tostring(i) .. ']', flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
table.clear(roadMgr.multi)
local flag = i == mfe.selectedLayerIdx
if im.Selectable1(tostring(i) .. "###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedLayerIdx = max(1, min(numLayers, i))
local flag = iii == mfe.selectedSidewalkIdx
if im.Selectable1(tostring(iii) .. "###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedSidewalkIdx = iii
local flag = i == mfe.selectedJctIdx
if im.Selectable1(tostring(i) .. "###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedJctIdx = max(1, min(#junctions, i))
local flag = i == mfe.selectedPlacedGroupIdx
if im.Selectable1(tostring(i) .. "###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedPlacedGroupIdx = max(1, min(#placedGroups, i))
local flag = i == mfe.selectedLaneIdx
if im.Selectable1('[' .. tostring(i) .. ']', flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedLaneIdx = i
local flag = i == mfe.selectedLaneIdx
if im.Selectable1('[' .. tostring(i) .. ']', flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedLaneIdx = i
local flag = i == mfe.selectedProfileIdx
if im.Selectable1("###" .. tostring(wCtr), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedProfileIdx = i
local flag = i == mfe.selectedLaneIdx
if im.Selectable1(tostring(i), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedLaneIdx = i
local flag = i == mfe.selectedLaneIdx
if im.Selectable1(tostring(i), flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedLaneIdx = i
if not skipMaterial then
if im.Selectable1(objName, isSelected) or clickedImage then
local flag = i == mfe.selectedMeshIdx
if im.Selectable1(availStaticMeshes[i].filename, flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
mfe.selectedMeshIdx = i
local flag = i == mfe.selectedGroupIdx
if im.Selectable1(group.name, flag, bit.bor(im.SelectableFlags_SpanAllColumns, im.SelectableFlags_AllowItemOverlap)) then
if mfe.selectedGroupIdx ~= i then
@/lua/ge/extensions/flowgraph/nodes/vehicle/fire/fire.lua
for _, fun in ipairs(self.functions) do
if im.Selectable1(fun, fun == self.selected) then
self.selected = fun
@/lua/ge/extensions/ui/apps/minimap/minimap.lua
for i, v in ipairs(debugSettingsData[key]) do
if im.Selectable1(v.name) then
debugSettings[key] = i
@/lua/ge/extensions/editor/util/zoneSelectorUtil.lua
if not initialZonesSet[zoneName] then
if im.Selectable1(zoneName, zoneName == e.selectedInitialZone) then
e.selectedInitialZone = zoneName
if not destinationZonesSet[zoneName] then
if im.Selectable1(zoneName, zoneName == e.selectedDestinationZone) then
e.selectedDestinationZone = zoneName
@/lua/ge/extensions/editor/gen/ui.lua
local selected = (o == W.out.curselect)
if im.Selectable1(tostring(s), selected) then
lo('?? UI.sel2:'..o..':'..tostring(W)..':'..tostring(meshType))
@/lua/ge/extensions/editor/util/vehicleSelectUtil.lua
for _, t in ipairs(self.allowedTypes) do
if im.Selectable1(t.."##vehicleSelectorTypeNames"..dumps(self.id), t == self.vehType) then
self.vehType = t
local label = m.Name and (m.Name.." ["..m.key.."]")
if im.Selectable1(label.."##vehicleSelectorModelNames"..dumps(self.id) or m.key, m.key == self.model) then
self.model = m.key
if im.Selectable1("(Default)##vehicleSelectorConfigNames"..dumps(self.id), self.config == nil) then
self.config = nil
local label = dumps(c.Name).." ["..dumps(c.key).."]"
if im.Selectable1(label.."##vehicleSelectorConfigNames"..dumps(self.id), c.key == self.config) then
self.config = c.key
if im.BeginCombo("##vehicleSelectorPaints"..dumps(self.id).."_"..i, label) then
if im.Selectable1("(Default)##vehicleSelectorPaintNames"..dumps(self.id).."_"..i, self[key] == nil) then
self[key] = nil
for _, paint in ipairs(self.paintKeys) do
if im.Selectable1(paint.."##vehicleSelectorPaintNames"..dumps(self.id).."_"..i, self[key] == paint) then
self[key] = paint
@/lua/ge/extensions/career/career.lua
imgui.Separator()
if imgui.Selectable1("Save Career") then
career_saveSystem.saveCurrent()
end
if imgui.Selectable1("Exit Career Mode") then
endCareerMode = true
end
if imgui.Selectable1("Open Save Folder") then
Engine.Platform.exploreFolder(currentSavePath:lower())
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/linkedSet.lua
if not layer.properties[property.id] then
if im.Selectable1(string.format("%s##LinkedSet_AddProperty_%s_%s_%s", property.name, cat, guiId, layer.uid)) then
if layer.properties[property.id] then
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
for i, missionName in ipairs(self.missionDropdownItems) do
if im.Selectable1(missionName, i == self.selectedMissionIndex[0] + 1) then
self.selectedMissionIndex[0] = i - 1
@/lua/ge/extensions/editor/particleEditor.lua
for _, emitter in ipairs(particleEmitters) do
if im.Selectable1(string.format("%s (%s)", emitter:getName(), emitter:getField("particles", ""))) then
selectEmitterFromMenu(Sim.upcast(emitter))
loopParticles(currentEmitter, function(particle)
if im.Selectable1(particle:getName()) then
selectParticleFromMenu(particle)
for _, particleData in ipairs(particleDatas) do
if im.Selectable1(particleData:getName()) then
particleNames[i] = particleData:getName()
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua
-- on clicking suggestion, add to list!
if im.Selectable1(dispText) then
ffi.copy(nodeInputTextInput, "")
-- on clicking suggestion, add to list!
if im.Selectable1(dispText) then
ffi.copy(beamInputTextInput, "")
@/lua/ge/extensions/editor/dragRaceEditor/facilities.lua
if im.Selectable1(label, isSelected) then
M.selectFacility(i)
@/lua/ge/extensions/editor/util/searchUtil.lua
else
im.Selectable1(result.id)
end
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
end
if im.Selectable1(note:pacenoteTextForSelect(), note.id == self.pacenoteToolsState.selected_pn_id) then
self:selectPacenote(note.id)
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
if im.Selectable1(displayName, isSelected) then
if selection.index == i then
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
for _, gmName in ipairs(groundModelNamesSorted) do
if im.Selectable1(gmName) then
notificationState = 0
for _, gmName in ipairs(groundModelNamesSorted) do
if im.Selectable1(gmName) then
notificationState = 0
for id, mtl in pairs(editor_terrainEditor.getMaterialsInJson()) do
if im.Selectable1(mtl.internalName .. "##Terrain Materials" .. id, name == mtl.internalName, nil,
im.ImVec2(im.GetContentRegionAvailWidth() - (editor_terrainEditor.getVars().style.ItemSpacing.x + btnHeight), 0))
im.SameLine()
if im.Selectable1(annotations[n], isSelected) then
value = annotations[n]
@/lua/ge/extensions/editor/missionEditor/objectives.lua
if im.BeginCombo("Default Star " .. defaultIndex, self.mission.careerSetup.defaultStarKeys[defaultIndex] or "None!") then
if im.Selectable1("None", not self.mission.careerSetup.defaultStarKeys[defaultIndex]) then
self.mission.careerSetup.defaultStarKeys[defaultIndex] = nil
if not self.mission.careerSetup.starsActive[key] then im.BeginDisabled() end
if im.Selectable1(key, self.mission.careerSetup.defaultStarKeys[defaultIndex] == key) then
self.mission.careerSetup.defaultStarKeys[defaultIndex] = key
for _, key in ipairs(self.attributeOptions) do
if im.Selectable1(key,false) then
ret = key
if im.BeginCombo("##sss"..key, currentSlot) then
if im.Selectable1("Bonus Star", currentSlot == "Bonus Star") then
if idx then
for i = 1, #tableKeys(self.mission.careerSetup.starsActive) do
if im.Selectable1("Default Star " .. i, currentSlot == "Default Star " .. i) then
if idx then