local this = class("heroModeControllerBase")
local normalShowModuleTypes = {}

function this:ctor()
  self._spiritronId = nil
  self._selectHeroConfigId = nil
  self._selectHeroGuid = nil
end

function this:checkCanChangeHero()
  return true
end

function this:checkCanShowDownBG()
  return true
end

function this:getShowModuleTypes()
  return normalShowModuleTypes
end

function this:checkModuleIsShow(moduleType)
  local isShow = self:checkModuleIsShowCustom(moduleType)
  if isShow ~= nil then
    return isShow
  end
  local showTypes = self:getShowModuleTypes()
  return showTypes[moduleType] == true
end

function this:checkModuleIsShowCustom(moduleType)
  return nil
end

function this:getHomeName()
  return L_WordsTpl:getValue("ui_character")
end

function this:showTimeline()
  return true
end

function this:showMainBtn()
  return true
end

function this:isPreviewMode()
  return false
end

function this:checkShowPreviewLevel(moduleType)
  return false
end

function this:getHero(heroId)
  return nil
end

function this:checkShowUnLook()
  return false
end

function this:checkShowFavorabilityInfo()
  return true
end

function this:setSelectGuid(id, create)
  local souId = self._selectHeroGuid
  self._selectHeroGuid = id
  if not create then
    L_HeroStore:call(L_HeroStore.event.setCurHeroGuid, id, souId)
  end
end

function this:getSelectGuid()
  return self._selectHeroGuid
end

function this:getSelectConfigId()
  return self._selectHeroConfigId or self._selectHeroGuid
end

return this
