83 lines
2.4 KiB
Lua
83 lines
2.4 KiB
Lua
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 |