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 = ""..attr .."" end attrGO.transform:Find("Value"):GetComponent("Text").text = attr else attrGO:SetActive(false) end end