Files
JJBB/Assets/Project/Script/LuaScripts/UI/Lua/EquipSuit/EquipSuitTooltips.txt

270 lines
9.7 KiB
Plaintext
Raw Normal View History

2024-08-23 15:49:34 +08:00

require("LuaUtil")
require("TextUtil")
EquipSuitTooltips = {}
local equipItem = null
local isInit = false
local enableTime = 0
local actCnt = {1,2}
local suitLvTab
local minLvTab = null
local maxStep1 = 1
local maxStep2 = 8
local minStep2 = 5
function EquipSuitTooltips.OnEnable()
print(EquipSuitTooltips.OnEnable)
isInit = false
enableTime = CS.UnityEngine.Time.time
EquipSuitTooltips.RefreshSuitAttrs()
end
function EquipSuitTooltips.Update()
if(isInit == false) then
if(CS.UnityEngine.Time.time - enableTime > 0.2) then
isInit = true
EquipSuitTooltips.GetEquipItem()
end
end
end
function EquipSuitTooltips.GetEquipItem()
print("EquipSuitTooltips.GetEquipItem");
equipItem = null
local equipTooltipInfo = self:GetComponent("EquipTooltipsInfo");
if(equipTooltipInfo ~= null) then
local equipItems = CS.GameManager.gameManager.PlayerDataPool.EquipPack.Items
local equipItemCnt = equipItems.Count
for i=0,equipItemCnt-1,1 do
local equipName = equipItems[i]:GetName()
local idx,_ = string.find(equipName, "%(")
local nameMatch = null
if(idx == null) then
nameMatch = string.match(equipTooltipInfo._ItemName.text,equipName)
else
equipName = string.sub(equipName, 1, idx - 1)
nameMatch = string.match(equipTooltipInfo._ItemName.text,equipName)
end
if(nameMatch == equipName and
equipTooltipInfo._EquipCombat.text == tostring(equipItems[i].EnchanceScore)) then
equipItem = equipItems[i]
end
end
else
print("EquipSuitTooltips.GetEquipItem equipTooltipInfo is nil");
end
if(equipItem ~= null) then
print("EquipSuitTooltips.LuaDistributesEquipSuitGetInfoReq:"..equipItem.Guid);
require("LuaDistributesEquipSuitGetInfoReq")
local reqInfo = { equipGuid = equipItem.Guid}
LuaDistributesEquipSuitGetInfoReq.SendPacket(reqInfo)
--test
local packet = {}
packet['suitValue1'] = 150
packet['suitValue2'] = 50
packet['suitClass1'] = 1
packet['suitClass2'] = 2
packet['fairyAttrId'] = {1000002,1010102,-1}
packet['fairyClassID'] = {-1,1,2}
packet['fairyEquipCnt'] = {1,2,3}
packet['godAttrId'] = {2000002,2010102,-1}
packet['godClassID'] = {1,-1,2}
packet['godEquipCnt'] = {2,3,4}
--require("LuaDistributesEquipSuitInfoRet")
--LuaDistributesEquipSuitInfoRet.SendPacket(packet)
--EquipSuitTooltips.RefreshSuitAttrs(packet)
end
end
function EquipSuitTooltips.RefreshSuitAttrs(suitInfo)
print("EquipSuitTooltips.LuaDistributesEquipSuitGetInfoReq:");
if(suitInfo == null) then
EquipSuitTooltips.ClearSuitInfo()
else
actCnt[1] = suitInfo.fairyEquipCnt[1]
actCnt[2] = suitInfo.godEquipCnt[1]
print("suitInfo.fairyEquipCnt:"..suitInfo.fairyEquipCnt[1]..suitInfo.fairyEquipCnt[2]..suitInfo.fairyEquipCnt[3])
print("suitInfo.godEquipCnt:"..suitInfo.godEquipCnt[1]..suitInfo.godEquipCnt[2]..suitInfo.godEquipCnt[3])
local commonItemTab = TabMan.GetCommonItemByID(equipItem.DataID, 0);
local Table_EquipSuitLvUp = require("Table_EquipSuitLvUp")
suitLvTab = null
minLvTab = null
for i,v in ipairs(Table_EquipSuitLvUp) do
if(v.Profession == CS.ObjManager.Instance.MainPlayer.BaseAttr.Profession and
v.Quality == commonItemTab.Quality) then
if (minLvTab == null) then
minLvTab = v
end
if(v.Level == equipItem:GetEquipLevel()) then
suitLvTab = v
end
end
end
local stepCnt = #suitLvTab.SuitTypeStep
minStep2 = 0
for i=1,stepCnt,1 do
if(suitLvTab.SuitTypeStep[i] < 100) then
if( suitLvTab.SuitTypeStep[i] > 0) then
maxStep1 = i
end
else
if(minStep2 == 0) then
minStep2 = i
end
if suitLvTab.SuitTypeStep[i] > 0 then
maxStep2 = i
end
end
end
local suitAttrTab1 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.fairyAttrId[1])
EquipSuitTooltips.SetAttr(suit1Attr1, suitAttrTab1.AttrType[1], suitAttrTab1.AttrValue[1], suitAttrTab1.EquipRequreNum[1], suitInfo.fairyAttrId[1] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr1Ex, suitAttrTab1.ExAttrType[1], suitAttrTab1.ExAttrValue[1], suitAttrTab1.EquipRequreNum[1], suitInfo.fairyAttrId[1] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr1NewEx, suitAttrTab1.NewExAttrType[1], suitAttrTab1.NewExAttrValue[1], suitAttrTab1.EquipRequreNum[1], suitInfo.fairyAttrId[1] >= 0)
local suitAttrTab2 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.fairyAttrId[2])
EquipSuitTooltips.SetAttr(suit1Attr2, suitAttrTab2.AttrType[2], suitAttrTab2.AttrValue[2], suitAttrTab2.EquipRequreNum[2], suitInfo.fairyAttrId[2] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr2Ex, suitAttrTab2.ExAttrType[2], suitAttrTab2.ExAttrValue[2], suitAttrTab2.EquipRequreNum[2], suitInfo.fairyAttrId[2] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr2NewEx, suitAttrTab2.NewExAttrType[2], suitAttrTab2.NewExAttrValue[2], suitAttrTab2.EquipRequreNum[2], suitInfo.fairyAttrId[2] >= 0)
local suitAttrTab3 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.fairyAttrId[3])
EquipSuitTooltips.SetAttr(suit1Attr3, suitAttrTab3.AttrType[3], suitAttrTab3.AttrValue[3], suitAttrTab3.EquipRequreNum[3], suitInfo.fairyAttrId[3] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr3Ex, suitAttrTab3.ExAttrType[3], suitAttrTab3.ExAttrValue[3], suitAttrTab3.EquipRequreNum[3], suitInfo.fairyAttrId[3] >= 0)
EquipSuitTooltips.SetAttr(suit1Attr3NewEx, suitAttrTab3.NewExAttrType[3], suitAttrTab3.NewExAttrValue[3], suitAttrTab3.EquipRequreNum[3], suitInfo.fairyAttrId[3] >= 0)
suitLabel1:SetActive(true)
local suitName = suitAttrTab1.SuitName..' ('..suitInfo.fairyEquipCnt[1]..'/2) '
suitLabel1:GetComponent("Text").text = suitName
suitLabel12:SetActive(true)
local suitName = suitAttrTab2.SuitName..' ('..suitInfo.fairyEquipCnt[2]..'/5) '
suitLabel12:GetComponent("Text").text = suitName
suitLabel13:SetActive(true)
local suitName = suitAttrTab3.SuitName..' ('..suitInfo.fairyEquipCnt[3]..'/10) '
suitLabel13:GetComponent("Text").text = suitName
if(suitAttrTab2 ~= null) then
local suitAttrTab4 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.godAttrId[1])
EquipSuitTooltips.SetAttr(suit2Attr1, suitAttrTab4.AttrType[1], suitAttrTab4.AttrValue[1], suitAttrTab4.EquipRequreNum[1], suitInfo.godAttrId[1] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr1Ex, suitAttrTab4.ExAttrType[1], suitAttrTab4.ExAttrValue[1], suitAttrTab4.EquipRequreNum[1], suitInfo.godAttrId[1] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr1NewEx, suitAttrTab4.NewExAttrType[1], suitAttrTab4.NewExAttrValue[1], suitAttrTab4.EquipRequreNum[1], suitInfo.godAttrId[1] >= 0)
local suitAttrTab5 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.godAttrId[2])
EquipSuitTooltips.SetAttr(suit2Attr2, suitAttrTab5.AttrType[2], suitAttrTab5.AttrValue[2], suitAttrTab5.EquipRequreNum[2], suitInfo.godAttrId[2] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr2Ex, suitAttrTab5.ExAttrType[2], suitAttrTab5.ExAttrValue[2], suitAttrTab5.EquipRequreNum[2], suitInfo.godAttrId[2] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr2NewEx, suitAttrTab5.NewExAttrType[2], suitAttrTab5.NewExAttrValue[2], suitAttrTab5.EquipRequreNum[2], suitInfo.godAttrId[2] >= 0)
local suitAttrTab6 = EquipSuitTooltips.GetDefaultAttrTab(suitInfo.godAttrId[3])
EquipSuitTooltips.SetAttr(suit2Attr3, suitAttrTab6.AttrType[3], suitAttrTab6.AttrValue[3], suitAttrTab6.EquipRequreNum[3], suitInfo.godAttrId[3] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr3Ex, suitAttrTab6.ExAttrType[3], suitAttrTab6.ExAttrValue[3], suitAttrTab6.EquipRequreNum[3], suitInfo.godAttrId[3] >= 0)
EquipSuitTooltips.SetAttr(suit2Attr3NewEx, suitAttrTab6.NewExAttrType[3], suitAttrTab6.NewExAttrValue[3], suitAttrTab6.EquipRequreNum[3], suitInfo.godAttrId[3] >= 0)
suitLabel2:SetActive(true)
local suitName2 = suitAttrTab4.SuitName..' ('..suitInfo.godEquipCnt[1]..'/2) '
suitLabel2:GetComponent("Text").text = suitName2
suitLabel22:SetActive(true)
local suitName2 = suitAttrTab5.SuitName..' ('..suitInfo.godEquipCnt[2]..'/5) '
suitLabel22:GetComponent("Text").text = suitName2
suitLabel23:SetActive(true)
local suitName2 = suitAttrTab6.SuitName..' ('..suitInfo.godEquipCnt[3]..'/10) '
suitLabel23:GetComponent("Text").text = suitName2
end
end
end
function EquipSuitTooltips.GetDefaultAttrTab(suitAttrID)
local Table_EquipSuitAttr = require("Table_EquipSuitAttr")
local suitAttrTab = Table_EquipSuitAttr[suitAttrID]
local isAct1 = true
if(suitAttrTab == null) then
isAct1 = false
if(pageIdx == 1) then
suitAttrTab = Table_EquipSuitAttr[suitLvTab.SuitAttrID[1]]
else
suitAttrTab = Table_EquipSuitAttr[suitLvTab.SuitAttrID[minStep2]]
end
end
return suitAttrTab
end
function EquipSuitTooltips.ClearSuitInfo()
suitLabel1:SetActive(false)
suitLabel12:SetActive(false)
suitLabel13:SetActive(false)
suit1Attr1:SetActive(false)
suit1Attr1Ex:SetActive(false)
suit1Attr1NewEx:SetActive(false)
suit1Attr2:SetActive(false)
suit1Attr2Ex:SetActive(false)
suit1Attr2NewEx:SetActive(false)
suit1Attr3:SetActive(false)
suit1Attr3Ex:SetActive(false)
suit1Attr3NewEx:SetActive(false)
suitLabel2:SetActive(false)
suitLabel22:SetActive(false)
suitLabel23:SetActive(false)
suit2Attr1:SetActive(false)
suit2Attr1Ex:SetActive(false)
suit2Attr1NewEx:SetActive(false)
suit2Attr2:SetActive(false)
suit2Attr2Ex:SetActive(false)
suit2Attr2NewEx:SetActive(false)
suit2Attr3:SetActive(false)
suit2Attr3Ex:SetActive(false)
suit2Attr3NewEx:SetActive(false)
end
function EquipSuitTooltips.SetAttr(attrGO, attrType, attrValue, requreNum, isAct)
print("EquipSuitTooltips.SetAttr"..attrType)
if(attrType >= 0) then
attrGO:SetActive(true)
local attr = TextUtil.GetAttrValueName(attrType, -1, attrValue);
local name = CS.GCGame.Table.StrDictionary.GetClientDictionaryString("#{5454}", requreNum);
attr = attr.." "..name..""
if(isAct == true) then
attr = attr
else
attr = "<color=#828282FF>"..attr .."</color>"
end
attrGO.transform:Find("Value"):GetComponent("Text").text = attr
else
attrGO:SetActive(false)
end
end