require("Base/BasePanel") AttriTips = Inherit(BasePanel) local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig) local Thread = nil local proList = {} --初始化组件(用于子类重写) function AttriTips:InitComponent() AttriTips.proPre = Util.GetGameObject(AttriTips.gameObject,"proPre") AttriTips.attriParent = Util.GetGameObject(AttriTips.gameObject,"AttriParent") end --添加事件监听(用于子类重写) function AttriTips:AddListener() end --移除事件监听(用于子类重写) function AttriTips:RemoveListener() end function AttriTips:OnDestroy() Thread = nil proList = {} end function AttriTips:OnOpen() end --关闭弹出信息 function AttriTips.CloseAttriTip() AttriTips:ClosePanel() end --显示弹出信息 --type=null List[num]=属性ID#属性值; type=1 List[属性ID]=属性值; function AttriTips.ShowAttriTip(_attriList,_type) UIManager.OpenPanel(UIName.AttriTips) local attriList = {} if _type then for key, value in pairs(_attriList) do attriList[#attriList + 1][1] = key attriList[#attriList + 1][2] = value end else attriList = _attriList end for i = 1, #attriList do local data = attriList[i] if not proList[i] then proList[i] = newObject(AttriTips.proPre) proList[i].transform.name = "proPre"..i proList[i].transform:SetParent(AttriTips.attriParent.transform) proList[i].transform.localScale = Vector3.one proList[i].transform.localPosition = Vector3.zero end proList[i]:SetActive(false) local proData = propertyConfig[data[1]] Util.GetGameObject(proList[i],"name"):GetComponent("Text").text = proData.Info local str = data[2] if proData.Style == 2 then str = tostring(data[2]/100).."%" end Util.GetGameObject(proList[i],"value"):GetComponent("Text").text = str end if Thread then coroutine.stop(Thread) Thread = nil end Thread = coroutine.start(function() for i = 1, #proList do proList[i]:SetActive(false) PlayUIAnims(proList[i]) coroutine.wait(0.04) proList[i]:SetActive(true) coroutine.wait(0.08) proList[i]:SetActive(true) end coroutine.wait(1) AttriTips:ClosePanel() end) end return AttriTips