Files
JJBB/Assets/Project/Script/LuaScripts/UI/Lua/EquipSuit/EquipSuitTooltips.txt
2024-08-23 15:49:34 +08:00

270 lines
9.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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