118 lines
3.9 KiB
Lua
118 lines
3.9 KiB
Lua
----- 命格选择命石 -----
|
|
local SelectGem = {}
|
|
--传入父脚本模块
|
|
local parent
|
|
--传入特效层级
|
|
local sortingOrder=0
|
|
local args=nil
|
|
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
local gemConfig=ConfigManager.GetConfig(ConfigName.GemConfig)
|
|
local PropertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
|
function SelectGem:InitComponent(gameObject)
|
|
self.spLoader = SpriteLoader.New()
|
|
self.itemPre=Util.GetGameObject(gameObject,"ItemPre")
|
|
self.empty=Util.GetGameObject(gameObject,"Empty")
|
|
self.itemPre:SetActive(false)
|
|
--滚动条根节点
|
|
self.root = Util.GetGameObject(gameObject, "Scroll")
|
|
self.preList={}
|
|
self.itemList={}
|
|
|
|
local rootHight = self.root.transform.rect.height
|
|
local width = self.root.transform.rect.width
|
|
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.root.transform,
|
|
self.itemPre,nil, Vector2.New(width, rootHight), 1, 1,Vector2.New(0,10))
|
|
self.ScrollView.moveTween.MomentumAmount = 1
|
|
self.ScrollView.moveTween.Strength = 2
|
|
self.ScrollView.elastic = false
|
|
|
|
end
|
|
|
|
function SelectGem:BindEvent()
|
|
end
|
|
|
|
function SelectGem:AddListener()
|
|
end
|
|
|
|
function SelectGem:RemoveListener()
|
|
end
|
|
|
|
function SelectGem:OnShow(_parent,_args)
|
|
args = _args
|
|
parent=_parent
|
|
sortingOrder =_parent.sortingOrder
|
|
SelectGem:Refresh(args[1])
|
|
end
|
|
function SelectGem:Refresh(Id)
|
|
local dataList = GemManager.GetGemsFromBagByType(Id)
|
|
if #dataList > 0 then
|
|
self.root:SetActive(true)
|
|
self.empty:SetActive(false)
|
|
self.ScrollView:SetData(dataList, function(index, go)
|
|
self:SingleDataShow(go,dataList[index],index)
|
|
go:SetActive(true)
|
|
end)
|
|
else
|
|
self.empty:SetActive(true)
|
|
self.root:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function SelectGem:SingleDataShow(go,data,index)
|
|
local icon = Util.GetGameObject(go,"Icon")
|
|
local desc = Util.GetGameObject(go,"Desc"):GetComponent("Text")
|
|
local name = Util.GetGameObject(go,"Name"):GetComponent("Text")
|
|
local btn = Util.GetGameObject(go,"Btn")
|
|
local btnText = Util.GetGameObject(go,"Btn/Text"):GetComponent("Text")
|
|
|
|
btnText.text = "镶 嵌"
|
|
if GemManager.myGemList[args[1]] and GemManager.myGemList[args[1]][args[2]] and GemManager.myGemList[args[1]][args[2]] > 0 then
|
|
btnText.text = "更 换"
|
|
end
|
|
if not self.itemList[go] then
|
|
local view = SubUIManager.Open(SubUIConfig.ItemView,icon.transform)
|
|
self.itemList[go] = view
|
|
end
|
|
local num = BagManager.GetTotalItemNum(data.id)
|
|
self.itemList[go]:OnOpen(false, {data.id,num}, 1.1, false,false,false,sortingOrder + 1)
|
|
self.itemList[go].gameObject:SetActive(true)
|
|
name.text = data.name--GetStringByEquipQua(itemConfig[data.id].Quantity1,data.name)
|
|
|
|
local property = gemConfig[data.id].Property
|
|
local textDesc = ""
|
|
for i = 1, #property do
|
|
local str=""
|
|
if PropertyConfig[property[i][1]].Style==1 then
|
|
str=string.format( "全体英雄%s+%s",PropertyConfig[property[i][1]].Info,property[i][2])
|
|
elseif PropertyConfig[property[i][1]].Style==2 then
|
|
str=string.format( "全体英雄%s+%s",PropertyConfig[property[i][1]].Info,property[i][2]/100).."%"
|
|
end
|
|
textDesc = str--textDesc..string.format( "全体神将%s+%s",PropertyConfig[property[i][1]].Info,property[i][2]/100).."%"
|
|
if property[i+1] then
|
|
textDesc = textDesc.."\n"
|
|
end
|
|
end
|
|
desc.text = textDesc
|
|
|
|
Util.AddOnceClick(btn,function ()
|
|
NetManager.LifeGridChangeRequest(1,args[1],args[2],data.id,function ()
|
|
if args[3] then
|
|
args[3]()
|
|
end
|
|
Game.GlobalEvent:DispatchEvent(GameEvent.Gem.RefreshPanel)
|
|
parent:ClosePanel()
|
|
end)
|
|
end)
|
|
end
|
|
|
|
function SelectGem:OnClose()
|
|
args=nil
|
|
end
|
|
|
|
function SelectGem:OnDestroy()
|
|
self.spLoader:Destroy()
|
|
self.preList={}
|
|
self.itemList={}
|
|
end
|
|
|
|
return SelectGem |