270 lines
9.7 KiB
Plaintext
270 lines
9.7 KiB
Plaintext
|
||
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
|
||
|
||
|