forked from endernon/PGRData
79 lines
No EOL
2.5 KiB
Lua
79 lines
No EOL
2.5 KiB
Lua
local ATTR_COLOR = {
|
||
BELOW = XUiHelper.Hexcolor2Color("d11e38ff"),
|
||
EQUAL = XUiHelper.Hexcolor2Color("000000ff"),
|
||
OVER = XUiHelper.Hexcolor2Color("188649ff"),
|
||
}
|
||
|
||
local XUiGridEquipReplaceAttr = XClass(nil, "XUiGridEquipReplaceAttr")
|
||
|
||
function XUiGridEquipReplaceAttr:Ctor(ui, name, doNotChangeColor)
|
||
self.GameObject = ui.gameObject
|
||
self.Transform = ui.transform
|
||
self:InitAutoScript()
|
||
self.TxtName.text = name
|
||
self.DoNotChangeColor = doNotChangeColor
|
||
end
|
||
|
||
function XUiGridEquipReplaceAttr:UpdateData(curAttrValue, newattrvalue, notShowSame, attrName)
|
||
if curAttrValue then
|
||
self.CurAttrValue = curAttrValue
|
||
self.TxtCurAttr.text = self.CurAttrValue
|
||
end
|
||
|
||
if attrName then
|
||
self.TxtName.text = attrName
|
||
end
|
||
|
||
if not newattrvalue or notShowSame and self.CurAttrValue and newattrvalue == self.CurAttrValue then
|
||
self.TxtSelectAttr.gameObject:SetActive(false)
|
||
return
|
||
end
|
||
|
||
self.Newattrvalue = newattrvalue
|
||
self.TxtSelectAttr.text = self.Newattrvalue
|
||
self.TxtSelectAttr.gameObject:SetActive(true)
|
||
|
||
if not self.DoNotChangeColor then
|
||
if self.CurAttrValue == self.Newattrvalue then
|
||
self.TxtSelectAttr.color = ATTR_COLOR.EQUAL
|
||
elseif self.CurAttrValue < self.Newattrvalue then
|
||
self.TxtSelectAttr.color = ATTR_COLOR.OVER
|
||
elseif self.CurAttrValue > self.Newattrvalue then
|
||
self.TxtSelectAttr.color = ATTR_COLOR.BELOW
|
||
end
|
||
end
|
||
end
|
||
-- auto
|
||
-- Automatic generation of code, forbid to edit
|
||
function XUiGridEquipReplaceAttr:InitAutoScript()
|
||
self:AutoInitUi()
|
||
self:AutoAddListener()
|
||
end
|
||
|
||
function XUiGridEquipReplaceAttr:AutoInitUi()
|
||
self.TxtName = self.Transform:Find("TxtName"):GetComponent("Text")
|
||
self.TxtCurAttr = self.Transform:Find("TxtCurAttr"):GetComponent("Text")
|
||
self.TxtSelectAttr = self.Transform:Find("TxtSelectAttr"):GetComponent("Text")
|
||
end
|
||
|
||
function XUiGridEquipReplaceAttr:RegisterClickEvent(uiNode, func)
|
||
if func == nil then
|
||
XLog.Error("XUiGridEquipReplaceAttr:RegisterClickEvent函数参数错误:参数func不能为空")
|
||
return
|
||
end
|
||
|
||
if type(func) ~= "function" then
|
||
XLog.Error("XUiGridEquipReplaceAttr:RegisterClickEvent函数错误, 参数func需要是function类型, func的类型是" .. type(func))
|
||
end
|
||
|
||
local listener = function(...)
|
||
func(self, ...)
|
||
end
|
||
|
||
CsXUiHelper.RegisterClickEvent(uiNode, listener)
|
||
end
|
||
|
||
function XUiGridEquipReplaceAttr:AutoAddListener()
|
||
end
|
||
-- auto
|
||
return XUiGridEquipReplaceAttr |