GE Lua Documentation

Press F to search!

getMissionEditorForType

Definition


-- @/lua/ge/extensions/gameplay/missions/missions.lua:155
local function getMissionEditorForType(missionTypeName)
  if missionEditors[missionTypeName] == nil then
    local reqPath = missionTypesDir.."/"..missionTypeName .."/editor"
    local luaPath = reqPath..".lua"
    if not FS:fileExists(luaPath) then
      log("W", "", "found no editor for mission type " .. missionTypeName ..": "..dumps(luaPath))
    else
      missionEditors[missionTypeName] = require(reqPath)()
      if not missionEditors[missionTypeName] then
        log("E", "", "could not load editor for mission type " .. missionTypeName .. ": "..dumps(reqPath))
      end
    end
    -- make a default editor if none has been found.
    if not missionEditors[missionTypeName] then
      local E = {}
      E.__index = E
      missionEditors[missionTypeName] = gameplay_missions_missions.editorHelper(E)
    end
  end
  return missionEditors[missionTypeName]
end

Callers

@/lua/ge/extensions/editor/missionEditor/genericTypeData.lua
  for _, missionType in ipairs(self.missionTypes) do
    self.missionTypeEditors[missionType] = gameplay_missions_missions.getMissionEditorForType(missionType)
  end
function C:fillGeneric(mission)
  self.missionTypeEditors[mission.missionType] = gameplay_missions_missions.getMissionEditorForType(mission.missionType)
  mission.missionTypeData = self.missionTypeEditors[mission.missionType] and self.missionTypeEditors[mission.missionType]:getNewData() or {}
  local issues = {}
  for _, i in ipairs(gameplay_missions_missions.getMissionEditorForType(m.missionType):checkContainer(m)) do
    table.insert(issues, i)
  end
  if gameplay_missions_missions.getMissionEditorForType(m.missionType).calculateMissionIssues then
    local success, customIssues = pcall(gameplay_missions_missions.getMissionEditorForType(m.missionType).calculateMissionIssues, m)
  if gameplay_missions_missions.getMissionEditorForType(m.missionType).calculateMissionIssues then
    local success, customIssues = pcall(gameplay_missions_missions.getMissionEditorForType(m.missionType).calculateMissionIssues, m)
    if success then
@/lua/ge/extensions/gameplay/missions/missions.lua
    local issues = {}
    gameplay_missions_missions.getMissionEditorForType(mission.missionType):setContainer(mission)
    local cIssues = gameplay_missions_missions.getMissionEditorForType(mission.missionType):checkContainer(mission)
    gameplay_missions_missions.getMissionEditorForType(mission.missionType):setContainer(mission)
    local cIssues = gameplay_missions_missions.getMissionEditorForType(mission.missionType):checkContainer(mission)
    for _, i in ipairs(cIssues) do
    end
    if gameplay_missions_missions.getMissionEditorForType(mission.missionType).calculateMissionIssues then
      local success, customIssues = pcall(gameplay_missions_missions.getMissionEditorForType(mission.missionType).calculateMissionIssues, mission)
    if gameplay_missions_missions.getMissionEditorForType(mission.missionType).calculateMissionIssues then
      local success, customIssues = pcall(gameplay_missions_missions.getMissionEditorForType(mission.missionType).calculateMissionIssues, mission)
      if success then