GE Lua Documentation

Press F to search!

loadLevelBank

Definition


-- @/lua/ge/extensions/core/audio.lua:213

local function loadLevelBank(bankFilePath)
  if string.sub(bankFilePath, 1, 1) ~= '/' then
    bankFilePath = "/"..bankFilePath
  end
  bankFilePath = string.lower(bankFilePath)
  local inLevelOrLoading = getMissionFilename() ~= "" or LoadingManager:isLoadingInProgress()
  if not inLevelOrLoading then
    for _,v in ipairs(forLoadLevel) do
      if v == bankFilePath then
        return
      end
    end
    table.insert(forLoadLevel, bankFilePath)
    return
  end

  if loadedBankCache[bankFilePath] then
    return
  end

  loadedBankCache[bankFilePath] = true
  if SFXFMODProject then
    local project = SFXFMODProject()
    if project then
      project.fileName = String(bankFilePath)
      local _, filename, _ = path.split(bankFilePath)
      local projectName = 'project_'..filename
      project:registerObject(projectName)
      scenetree.DataBlockGroup:addObject(project) -- TODO find a way to do it implicitly
      table.insert(levelProjectsCache, projectName)
    end
  else
    log("E", "audio", "SFXFMODProject is nil")
  end
end

Callers

@/lua/ge/extensions/core/audio.lua
  for i, v in ipairs(ambient_banks) do
    loadLevelBank(v)
  end
  for i, v in ipairs(forLoadLevel) do
    loadLevelBank(v)
  end