2021-04-21 13:12:04 +08:00
|
|
|
|
require("Base/BasePanel")
|
2020-05-09 13:31:21 +08:00
|
|
|
|
DiffmonsterEditPopup = Inherit(BasePanel)
|
|
|
|
|
local this=DiffmonsterEditPopup
|
|
|
|
|
-- local diffmonsterOrder = {1,9,3,5,4,6,8,7,10,2}
|
|
|
|
|
local diffmonsterGOList = {}
|
|
|
|
|
local diffmonsterUnGOList = {}
|
|
|
|
|
local selectPokemonIdList={} --选中异妖列表
|
|
|
|
|
local openPanelSelectDataList={}
|
|
|
|
|
local openPanel
|
|
|
|
|
local curFormationIndex
|
|
|
|
|
|
|
|
|
|
-- 异妖表id对应资源
|
|
|
|
|
local _IconConfig = {
|
|
|
|
|
[1] = "bd_banner-001",
|
|
|
|
|
[2] = "bd_banner-010",
|
|
|
|
|
[3] = "bd_banner-003",
|
|
|
|
|
[4] = "bd_banner-005",
|
|
|
|
|
[5] = "bd_banner-004",
|
|
|
|
|
[6] = "bd_banner-006",
|
|
|
|
|
[7] = "bd_banner-008",
|
|
|
|
|
[8] = "bd_banner-007",
|
|
|
|
|
[9] = "bd_banner-002",
|
|
|
|
|
[10] = "bd_banner-009",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
---------------------------------
|
|
|
|
|
local curIndex=0 --当前选中期类型
|
|
|
|
|
local isSelect=false --默认未选择
|
|
|
|
|
---------------------------------
|
|
|
|
|
--初始化组件(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:InitComponent()
|
2021-04-21 13:12:04 +08:00
|
|
|
|
this.spLoader = SpriteLoader.New()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
|
|
|
|
|
self.BtnBack = Util.GetGameObject(self.transform, "bg/btnBack")
|
|
|
|
|
|
|
|
|
|
this.itemRoot = Util.GetGameObject(self.gameObject, "bg/scroll/grid")
|
|
|
|
|
this.item = Util.GetGameObject(self.gameObject, "bg/scroll/grid/item")
|
|
|
|
|
-- 倒序创建物体,最强的再上面
|
|
|
|
|
for i = #_IconConfig, 1, -1 do
|
|
|
|
|
if not diffmonsterGOList[i] then
|
|
|
|
|
diffmonsterGOList[i] = newObjToParent(this.item, this.itemRoot)
|
|
|
|
|
diffmonsterGOList[i]:SetActive(true)
|
2021-04-21 13:12:04 +08:00
|
|
|
|
diffmonsterGOList[i]:GetComponent("Image").sprite = this.spLoader:LoadSprite(_IconConfig[i])
|
2020-05-09 13:31:21 +08:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
this.selectOne = Util.GetGameObject(self.transform, "selectOne")
|
|
|
|
|
this.selectTwo = Util.GetGameObject(self.transform, "selectTwo")
|
|
|
|
|
this.selectThree = Util.GetGameObject(self.transform, "selectThree")
|
|
|
|
|
diffmonsterUnGOList[1]= this.selectOne
|
|
|
|
|
diffmonsterUnGOList[2]= this.selectTwo
|
|
|
|
|
diffmonsterUnGOList[3]= this.selectThree
|
|
|
|
|
this.btnSure = Util.GetGameObject(self.transform, "bg/btnSure")
|
|
|
|
|
|
|
|
|
|
this.diffItemRoo = Util.GetGameObject(self.gameObject, "bg/scroll/grid")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--绑定事件(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:BindEvent()
|
|
|
|
|
|
|
|
|
|
for i=1, #_IconConfig do
|
|
|
|
|
Util.AddOnceClick(diffmonsterGOList[i], function()
|
|
|
|
|
--Log("点击选项" .. i)
|
|
|
|
|
this.SelectUpdata(i)
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
Util.AddClick(self.BtnBack, function()
|
|
|
|
|
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
|
|
|
|
self:ClosePanel()
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.btnSure, function()
|
|
|
|
|
local selectPokemonIdListData={}
|
|
|
|
|
local pokemonList={}
|
|
|
|
|
for i = 1, #selectPokemonIdList do
|
|
|
|
|
local singleData={}
|
|
|
|
|
singleData.pokemonId=selectPokemonIdList[i][1]
|
|
|
|
|
singleData.position=selectPokemonIdList[i][2]
|
|
|
|
|
table.insert(pokemonList,{selectPokemonIdList[i][1],selectPokemonIdList[i][2]})
|
|
|
|
|
table.insert(selectPokemonIdListData,singleData)
|
|
|
|
|
end
|
2021-09-10 16:25:38 +08:00
|
|
|
|
FormationManager.SaveFormation(curFormationIndex, FormationManager.formationList[curFormationIndex].teamHeroInfos,selectPokemonIdListData,true)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
openPanel.UpdataYiYaoData(pokemonList)
|
|
|
|
|
self:ClosePanel()
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.selectOne, function()
|
|
|
|
|
--if curIndex ~= 1 then
|
|
|
|
|
-- PopupTipPanel.ShowTip("前期已选择!")
|
|
|
|
|
--else
|
|
|
|
|
this.SelectUnUpdata(1)
|
|
|
|
|
--end
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.selectTwo, function()
|
|
|
|
|
--if curIndex~=2 then
|
|
|
|
|
-- PopupTipPanel.ShowTip("中期已选择!")
|
|
|
|
|
--else
|
|
|
|
|
this.SelectUnUpdata(2)
|
|
|
|
|
--end
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.selectThree, function()
|
|
|
|
|
--if curIndex~=3 then
|
|
|
|
|
-- PopupTipPanel.ShowTip("后期已选择!")
|
|
|
|
|
--else
|
|
|
|
|
this.SelectUnUpdata(3)
|
|
|
|
|
--end
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--添加事件监听(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:AddListener()
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--移除事件监听(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:RemoveListener()
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:OnOpen(...)
|
|
|
|
|
|
|
|
|
|
local data={...}
|
|
|
|
|
|
|
|
|
|
openPanel=data[1]
|
|
|
|
|
curFormationIndex=data[2]
|
|
|
|
|
curIndex=data[3]
|
|
|
|
|
local pokemonList = {}
|
|
|
|
|
local curFormation = FormationManager.GetFormationByID(curFormationIndex)
|
|
|
|
|
for i = 1, #curFormation.teamPokemonInfos do
|
|
|
|
|
table.insert(pokemonList,{curFormation.teamPokemonInfos[i].pokemonId,curFormation.teamPokemonInfos[i].position})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
openPanelSelectDataList=pokemonList
|
|
|
|
|
|
|
|
|
|
selectPokemonIdList={}--=curSelectIds
|
|
|
|
|
local allPokemonData=DiffMonsterManager.pokemonList
|
|
|
|
|
for i = 1, #allPokemonData do
|
|
|
|
|
if allPokemonData[i].stage>0 then
|
|
|
|
|
diffmonsterGOList[i]:SetActive(true)
|
|
|
|
|
else
|
|
|
|
|
diffmonsterGOList[i]:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for i = 1, #openPanelSelectDataList do
|
|
|
|
|
local curdiffmonsterUnGOList = diffmonsterUnGOList[openPanelSelectDataList[i][2]]
|
|
|
|
|
if #openPanelSelectDataList>=i then
|
|
|
|
|
--Log("==YSP== 打开显示的位置 "..openPanelSelectDataList[i][2].."包含的数量"..#openPanelSelectDataList)
|
|
|
|
|
curdiffmonsterUnGOList.transform:SetParent(diffmonsterGOList[openPanelSelectDataList[i][1]].transform)
|
|
|
|
|
curdiffmonsterUnGOList.transform.localScale = Vector3.one
|
|
|
|
|
curdiffmonsterUnGOList.transform.localPosition=Vector3.zero;
|
|
|
|
|
curdiffmonsterUnGOList:SetActive(true)
|
|
|
|
|
else
|
|
|
|
|
curdiffmonsterUnGOList:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
selectPokemonIdList=openPanelSelectDataList
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:OnClose()
|
|
|
|
|
|
|
|
|
|
isSelect=false
|
|
|
|
|
this.selectOne.transform:SetParent(this.transform)
|
|
|
|
|
this.selectTwo.transform:SetParent(this.transform)
|
|
|
|
|
this.selectThree.transform:SetParent(this.transform)
|
|
|
|
|
this.selectOne:SetActive(false)
|
|
|
|
|
this.selectTwo:SetActive(false)
|
|
|
|
|
this.selectThree:SetActive(false)
|
|
|
|
|
selectPokemonIdList = {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
|
|
|
function DiffmonsterEditPopup:OnDestroy()
|
2021-04-21 13:12:04 +08:00
|
|
|
|
this.spLoader:Destroy()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
|
|
|
|
|
diffmonsterGOList = {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
--点击选中
|
|
|
|
|
function this.SelectUpdata(index)
|
|
|
|
|
isSelect=true
|
|
|
|
|
--选中时先删除表数据
|
|
|
|
|
if #selectPokemonIdList>0 then
|
|
|
|
|
for i, v in ipairs(selectPokemonIdList) do
|
|
|
|
|
if curIndex==v[2] then
|
|
|
|
|
table.remove(selectPokemonIdList,i)
|
|
|
|
|
--Log("==YSP== 删除成功!"..i)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local maxNum = ActTimeCtrlManager.MaxDemonNum()
|
|
|
|
|
if #selectPokemonIdList>=maxNum then
|
|
|
|
|
if maxNum < 3 then
|
|
|
|
|
PopupTipPanel.ShowTip(ActTimeCtrlManager.TipText(maxNum + 1))
|
|
|
|
|
end
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
if selectPokemonIdList[#selectPokemonIdList+1]==nil then
|
|
|
|
|
selectPokemonIdList[#selectPokemonIdList+1]={index,curIndex}
|
|
|
|
|
else
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if curIndex==1 then
|
|
|
|
|
this.selectOne.transform:SetParent(diffmonsterGOList[index].transform)
|
|
|
|
|
this.selectOne.transform.localScale = Vector3.one
|
|
|
|
|
this.selectOne.transform.localPosition=Vector3.zero;
|
|
|
|
|
this.selectOne:SetActive(true)
|
|
|
|
|
elseif curIndex==2 then
|
|
|
|
|
this.selectTwo .transform:SetParent(diffmonsterGOList[index].transform)
|
|
|
|
|
this.selectTwo.transform.localScale = Vector3.one
|
|
|
|
|
this.selectTwo.transform.localPosition=Vector3.zero;
|
|
|
|
|
this.selectTwo:SetActive(true)
|
|
|
|
|
elseif curIndex==3 then
|
|
|
|
|
this.selectThree .transform:SetParent(diffmonsterGOList[index].transform)
|
|
|
|
|
this.selectThree.transform.localScale = Vector3.one
|
|
|
|
|
this.selectThree.transform.localPosition=Vector3.zero;
|
|
|
|
|
this.selectThree:SetActive(true)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--点击取消
|
|
|
|
|
function this.SelectUnUpdata(index)
|
|
|
|
|
for i = 1, #selectPokemonIdList do
|
|
|
|
|
if selectPokemonIdList[i][2]==index then
|
|
|
|
|
table.remove(selectPokemonIdList,i)
|
|
|
|
|
--Log("点击取消选择")
|
|
|
|
|
diffmonsterUnGOList[index]:SetActive(false)
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2020-06-23 18:36:24 +08:00
|
|
|
|
return DiffmonsterEditPopup
|