local AvgBubblePanel = class("AvgBubblePanel", BasePanel)
AvgBubblePanel._sSortingLayerName = AllEnum.SortingLayerName.UI_Top
AvgBubblePanel._bAddToBackHistory = false
AvgBubblePanel._tbDefine = {
	{
		sPrefabPath = "AvgBubble/AvgBubbleUI.prefab",
		sCtrlName = "Game.UI.AvgBubble.AvgBubbleCtrl"
	}
}
function AvgBubblePanel:Awake()
	self.sAvgBBCmdCfgPath = nil
	self.tbAvgBBCmdCfg = {}
	self.nBubbleType = 1
	local tbParam = self:GetPanelParam()
	self.sAvgId = tbParam[1]
	self.sGroupId = tostring(tbParam[2])
	self.nCurLanguageIdx = GetLanguageIndex(tbParam[3])
	self.sTxtLan = tbParam[3]
	self.sVoLan = tbParam[4]
	self.bIsPlayerMale = PlayerData.Base:GetPlayerSex() == true
	self.bParseSuc = self:ParseAvgBubbleConfig()
end
function AvgBubblePanel:OnEnable()
	if self.bParseSuc == false then
		EventManager.Hit(EventId.AvgBubbleExit)
		NovaAPI.DispatchEventWithData("AVG_BB_END", nil, string.format("%s|%s", self.sAvgId, tostring(self.sGroupId)))
	end
end
function AvgBubblePanel:OnDestroy()
	self.tbAvgBBCmdCfg = nil
	if self.sAvgBBCmdCfgPath ~= nil then
		package.loaded[self.sAvgBBCmdCfgPath] = nil
		self.sAvgBBCmdCfgPath = nil
	end
end
function AvgBubblePanel:ParseAvgBubbleConfig()
	self.sAvgBBCmdCfgPath = GetAvgLuaRequireRoot(self.nCurLanguageIdx) .. "Config/" .. self.sAvgId
	local ok, tbEntireAvgBBCmdCfg = pcall(require, self.sAvgBBCmdCfgPath)
	if not ok then
		printError("AvgId对应的配置文件没有找到,path:" .. self.sAvgBBCmdCfgPath .. ". error: " .. tbEntireAvgBBCmdCfg)
		return false
	else
		local bMatch = false
		for _, v in ipairs(tbEntireAvgBBCmdCfg) do
			if v.cmd == "SetGroupId" then
				if self.sGroupId == "PLAY_ALL_PLAY_ALL" then
					bMatch = true
				else
					bMatch = tostring(v.param[1]) == self.sGroupId
				end
			end
			if bMatch == true then
				if v.cmd == "SetBubbleUIType" then
					self.nBubbleType = v.param[1]
				elseif v.cmd == "SetBubble" then
					table.insert(self.tbAvgBBCmdCfg, v)
				end
			end
		end
		if #self.tbAvgBBCmdCfg > 0 then
			return true
		else
			printError(string.format("此AVG气泡指令配置文件里,该组未找到任何数据,path:%s, groupId:%s", self.sAvgBBCmdCfgPath, self.sGroupId))
			return false
		end
	end
end
return AvgBubblePanel
