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