【牛气冲天】提交
parent
3d665074a2
commit
207d85e2a2
File diff suppressed because it is too large
Load Diff
|
@ -474,6 +474,7 @@ PanelType = {
|
||||||
HongMengTower = {100,16,14,3},-- 鸿蒙碑
|
HongMengTower = {100,16,14,3},-- 鸿蒙碑
|
||||||
XinJiangLaiXi = {14,16,1210},--新将来袭
|
XinJiangLaiXi = {14,16,1210},--新将来袭
|
||||||
XiangYaoDuoBao = {14,16,1220},--降妖夺宝
|
XiangYaoDuoBao = {14,16,1220},--降妖夺宝
|
||||||
|
NiuQiChongTian = {14,16,1006},--牛气冲天
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -179,6 +179,8 @@ local ManagerNames = {
|
||||||
--主题活动管理器
|
--主题活动管理器
|
||||||
"DynamicActivity/DynamicActivityManager",
|
"DynamicActivity/DynamicActivityManager",
|
||||||
"Hero/HeroSkinManager",
|
"Hero/HeroSkinManager",
|
||||||
|
--牛气冲天管理器
|
||||||
|
"NiuQiChongTian/NiuQiChongTianManager",
|
||||||
--!!!!红点管理(尽量放在最后)!!!!--
|
--!!!!红点管理(尽量放在最后)!!!!--
|
||||||
"Player/RedpotManager",
|
"Player/RedpotManager",
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,6 +188,7 @@ ConfigName = {
|
||||||
NewHeroConfig = "NewHeroConfig",
|
NewHeroConfig = "NewHeroConfig",
|
||||||
MainLevelBossConfig = "MainLevelBoss",
|
MainLevelBossConfig = "MainLevelBoss",
|
||||||
ActivityGroups = "ActivityGroups",
|
ActivityGroups = "ActivityGroups",
|
||||||
|
ArroGantFly = "ArroGantFly",
|
||||||
}
|
}
|
||||||
|
|
||||||
require "Framework/GameDataBase"
|
require "Framework/GameDataBase"
|
||||||
|
@ -299,6 +300,17 @@ function ConfigManager.GetAllConfigsDataByDoubleKey(cfgType, key1, value1, key2,
|
||||||
assert(#expectList > 0, string.format("%s not find key1:%s,value1:%s,key2:%s, value2:%s", cfgType, key1, value1, key2, value2))
|
assert(#expectList > 0, string.format("%s not find key1:%s,value1:%s,key2:%s, value2:%s", cfgType, key1, value1, key2, value2))
|
||||||
return expectList
|
return expectList
|
||||||
end
|
end
|
||||||
|
---获取三重Key锁定下所有的表格条目
|
||||||
|
function ConfigManager.GetAllConfigsDataByThreeKey(cfgType, key1, value1, key2, value2, key3, value3)
|
||||||
|
local expectList = {}
|
||||||
|
for _, configInfo in ConfigPairs(ConfigManager.GetConfig(cfgType)) do
|
||||||
|
if configInfo[key1] == value1 and configInfo[key2] == value2 and configInfo[key3] == value3 then
|
||||||
|
table.insert(expectList, configInfo)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
assert(#expectList > 0, string.format("%s not find key1:%s,value1:%s,key2:%s, value2:%s,key3:%s, value3:%s", cfgType, key1, value1, key2, value2, key3, value3))
|
||||||
|
return expectList
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
---配置表遍历(按照id的大小升序遍历)
|
---配置表遍历(按照id的大小升序遍历)
|
||||||
|
|
|
@ -4,4 +4,83 @@ local this = NiuQiChongTianManager
|
||||||
function this.Initialize()
|
function this.Initialize()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--服务器发来的活动进度条数据
|
||||||
|
function this.GetActData()
|
||||||
|
return ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.NiuQi)
|
||||||
|
end
|
||||||
|
|
||||||
|
--组装后的进度条数据
|
||||||
|
function this.GetProgressData()
|
||||||
|
local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.NiuQi)
|
||||||
|
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",ActData.activityId)
|
||||||
|
local curScore = this.GetScore()
|
||||||
|
local rewardData = {}
|
||||||
|
|
||||||
|
for i = 1, #configData do
|
||||||
|
local v = configData[i]
|
||||||
|
for index, value in ipairs(ActData.mission) do
|
||||||
|
if v.Id == value.missionId then
|
||||||
|
local data = {}
|
||||||
|
data.missionId = value.missionId
|
||||||
|
data.reward = v.Reward
|
||||||
|
data.value = v.Values
|
||||||
|
if curScore >= data.value then
|
||||||
|
if value.state == 0 then
|
||||||
|
data.state = 1--可领的
|
||||||
|
else
|
||||||
|
data.state = 2--领完的
|
||||||
|
end
|
||||||
|
else
|
||||||
|
data.state = 0--不可领的
|
||||||
|
end
|
||||||
|
table.insert(rewardData,data)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return rewardData
|
||||||
|
end
|
||||||
|
|
||||||
|
--牛气值
|
||||||
|
function this.GetScore()
|
||||||
|
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",this.GetActData().activityId)
|
||||||
|
local itemId = configData[1].Values[1][1]
|
||||||
|
return BagManager.GetTotalItemNum()
|
||||||
|
end
|
||||||
|
|
||||||
|
--所有的任务信息数据
|
||||||
|
function this.GetAllRewardData()
|
||||||
|
local rewardData = {}
|
||||||
|
local ArroGantFly = ConfigManager.GetAllConfigsDataByKey(ConfigName.ArroGantFly,"ActivityId",this.GetActData().activityId)
|
||||||
|
for i = 1, 3 do
|
||||||
|
rewardData[i] = {}
|
||||||
|
for j = 1, 2 do
|
||||||
|
rewardData[i][j] = {}
|
||||||
|
local data = ConfigManager.GetAllConfigsDataByThreeKey(ConfigName.ArroGantFly,"ActivityId",this.GetActData().activityId,"Sort",i,"Type",j)
|
||||||
|
rewardData[i][j] = data
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return rewardData
|
||||||
|
end
|
||||||
|
|
||||||
|
--需要显示的任务数据
|
||||||
|
function this.GetNeedRewardData()
|
||||||
|
local allData = this.GetAllRewardData()
|
||||||
|
local needData = {}
|
||||||
|
for i = 1, 3 do
|
||||||
|
needData[i] = {}
|
||||||
|
for j = 1, 2 do
|
||||||
|
for k = 1, 2 do
|
||||||
|
if allData[i][j][k] then
|
||||||
|
local data = {}
|
||||||
|
data.Text = allData[i][j][k].Text
|
||||||
|
data.Reward = allData[i][j][k].Reward
|
||||||
|
data.state = 1
|
||||||
|
table.insert(needData[i],data)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return needData
|
||||||
|
end
|
||||||
|
|
||||||
return this
|
return this
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
require("Base/BasePanel")
|
require("Base/BasePanel")
|
||||||
local NiuQiChongTian = Inherit(BasePanel)
|
local NiuQiChongTian = Inherit(BasePanel)
|
||||||
|
local artConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
|
||||||
|
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||||||
local this = NiuQiChongTian
|
local this = NiuQiChongTian
|
||||||
local _sortingOrder = 0
|
local sortingOrder = 0
|
||||||
local activityId = 0
|
local activityId = 0
|
||||||
|
local progressData = {}
|
||||||
|
local rewardData = {}
|
||||||
|
local curScore = 0
|
||||||
|
local itemsGrid = {}--item重复利用
|
||||||
|
|
||||||
local TabBox = require("Modules/Common/TabBox")
|
local TabBox = require("Modules/Common/TabBox")
|
||||||
local _TabData={ [1] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "诸神" },
|
local _TabData={ [1] = { default = "r_hero_xuanze_002", select = "r_hero_xuanze_001", name = "诸神" },
|
||||||
|
@ -27,7 +33,7 @@ function NiuQiChongTian:InitComponent()
|
||||||
self.scrollItem = Util.GetGameObject(self.gameObject, "mid/rewardArena")
|
self.scrollItem = Util.GetGameObject(self.gameObject, "mid/rewardArena")
|
||||||
local rootHight = self.scrollItem.transform.rect.height
|
local rootHight = self.scrollItem.transform.rect.height
|
||||||
local width = self.scrollItem.transform.rect.width
|
local width = self.scrollItem.transform.rect.width
|
||||||
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.scrollItem.transform,self.itemPre, nil, Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 35))
|
self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.scrollItem.transform,self.itemPre, nil, Vector2.New(width, rootHight), 1, 1, Vector2.New(0,0))
|
||||||
self.ScrollView.moveTween.MomentumAmount = 1
|
self.ScrollView.moveTween.MomentumAmount = 1
|
||||||
self.ScrollView.moveTween.Strength = 2
|
self.ScrollView.moveTween.Strength = 2
|
||||||
end
|
end
|
||||||
|
@ -48,18 +54,23 @@ end
|
||||||
|
|
||||||
function NiuQiChongTian:OnSortingOrderChange()
|
function NiuQiChongTian:OnSortingOrderChange()
|
||||||
-- Util.AddParticleSortLayer(self.effect, self.sortingOrder - _sortingOrder)
|
-- Util.AddParticleSortLayer(self.effect, self.sortingOrder - _sortingOrder)
|
||||||
_sortingOrder = self.sortingOrder
|
sortingOrder = self.sortingOrder
|
||||||
end
|
end
|
||||||
|
|
||||||
--界面打开时调用(用于子类重写)
|
--界面打开时调用(用于子类重写)
|
||||||
function NiuQiChongTian:OnOpen()
|
function NiuQiChongTian:OnOpen()
|
||||||
|
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 打开,重新打开时回调
|
-- 打开,重新打开时回调
|
||||||
function NiuQiChongTian:OnShow()
|
function NiuQiChongTian:OnShow(_sortingOrder,_parent)
|
||||||
-- activityId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.NiuQi)
|
|
||||||
-- if not activityId or activityId <= 0 then return end
|
local actId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.NiuQi)
|
||||||
|
if not actId or actId <= 0 then return end
|
||||||
|
sortingOrder = _sortingOrder
|
||||||
|
self.gameObject:SetActive(true)
|
||||||
|
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.NiuQiChongTian })
|
||||||
|
|
||||||
self.TabCtrl = TabBox.New()
|
self.TabCtrl = TabBox.New()
|
||||||
self.TabCtrl:SetTabAdapter(this.TabAdapter)
|
self.TabCtrl:SetTabAdapter(this.TabAdapter)
|
||||||
self.TabCtrl:SetChangeTabCallBack(this.SwitchView)
|
self.TabCtrl:SetChangeTabCallBack(this.SwitchView)
|
||||||
|
@ -76,36 +87,85 @@ end
|
||||||
|
|
||||||
--切换
|
--切换
|
||||||
function this.SwitchView(index)
|
function this.SwitchView(index)
|
||||||
LogBlue("index:"..index)
|
progressData = NiuQiChongTianManager.GetProgressData()
|
||||||
NiuQiChongTian:SetSlider()
|
curScore = NiuQiChongTianManager.GetScore()
|
||||||
|
rewardData = NiuQiChongTianManager.GetNeedRewardData()
|
||||||
|
|
||||||
|
-- NiuQiChongTian:SetProgress()
|
||||||
NiuQiChongTian:SetReward(index)
|
NiuQiChongTian:SetReward(index)
|
||||||
end
|
end
|
||||||
|
|
||||||
function NiuQiChongTian:SetSlider()
|
function NiuQiChongTian:SetProgress()
|
||||||
-- self.progress.fillAmount = curScore/LSrewardData[#LSrewardData].Values[1][1]
|
self.progress.fillAmount = curScore/progressData[#progressData].Values[1][2]
|
||||||
-- for i = 1, self.reward.transform.childCount do
|
for i = 1, self.reward.transform.childCount do
|
||||||
-- local item = self.reward.transform:GetChild(i-1)
|
local item = self.reward.transform:GetChild(i-1)
|
||||||
-- Util.GetGameObject(item, "num/Text"):GetComponent("Text").text = LSrewardData[i].Reward[1][2]
|
Util.GetGameObject(item, "num/Text"):GetComponent("Text").text = progressData[i].Reward[1][2]
|
||||||
-- Util.GetGameObject(item, "Text"):GetComponent("Text").text = LSrewardData[i].Values[1][1]
|
Util.GetGameObject(item, "Text"):GetComponent("Text").text = progressData[i].Values[1][2]
|
||||||
-- Util.GetGameObject(item, "icon"):GetComponent("Image").sprite = Util.LoadSprite(artConfig[SpiritAnimalConfig[showData.monsterId].Icon].Name)
|
Util.GetGameObject(item, "icon"):GetComponent("Image").sprite = Util.LoadSprite(artConfig[itemConfig[progressData[i].Reward[1][1]].Icon].Name)
|
||||||
-- Util.GetGameObject(item, "red"):SetActive(rewardData[i].state == 1)
|
Util.GetGameObject(item, "red"):SetActive(progressData[i].state == 1)
|
||||||
-- local btn = Util.GetGameObject(item, "icon")
|
local btn = Util.GetGameObject(item, "icon")
|
||||||
-- Util.AddOnceClick(btn,function ()
|
Util.AddOnceClick(btn,function ()
|
||||||
-- if rewardData[i].state == 1 then
|
if progressData[i].state == 1 then
|
||||||
-- NetManager.GetActivityRewardRequest(rewardData[i].missionId,activityId,function (drop)
|
NetManager.GetActivityRewardRequest(progressData[i].missionId,activityId,function (drop)
|
||||||
-- UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function ()
|
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function ()
|
||||||
-- --次数一系列的动画
|
NiuQiChongTian:SwitchView()
|
||||||
-- end)
|
end)
|
||||||
-- end)
|
end)
|
||||||
-- else
|
else
|
||||||
-- UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,LSrewardData[i].Reward[1][1],nil)
|
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,progressData[i].Reward[1][1],nil)
|
||||||
-- end
|
end
|
||||||
-- end)
|
end)
|
||||||
-- end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function NiuQiChongTian:SetReward(index)
|
function NiuQiChongTian:SetReward(index)
|
||||||
-- body
|
local data = {}
|
||||||
|
local needData = rewardData[index]
|
||||||
|
self.ScrollView:SetData(needData, function (index, go)
|
||||||
|
NiuQiChongTian:SingleDataShow(go,index,needData[index])
|
||||||
|
end,false,false)
|
||||||
|
end
|
||||||
|
|
||||||
|
function NiuQiChongTian:SingleDataShow(go, index,data)
|
||||||
|
local title = Util.GetGameObject(go, "title/titleText"):GetComponent("Text")
|
||||||
|
local btn = Util.GetGameObject(go, "btn")
|
||||||
|
local btnText = Util.GetGameObject(go, "btn/Text"):GetComponent("Text")
|
||||||
|
local redPoint = Util.GetGameObject(go, "btn/redPoint")
|
||||||
|
local rewardList = Util.GetGameObject(go, "rewardList")
|
||||||
|
local grid = Util.GetGameObject(go, "rewardList")
|
||||||
|
local shadow = Util.GetGameObject(go, "shadow")
|
||||||
|
|
||||||
|
title.text = data.Text
|
||||||
|
local shows = data.Reward
|
||||||
|
redPoint:SetActive(data.state == 1)
|
||||||
|
--滚动条复用重设itemview
|
||||||
|
if itemsGrid[go] then
|
||||||
|
for i = 1, 4 do
|
||||||
|
itemsGrid[go][i].gameObject:SetActive(false)
|
||||||
|
end
|
||||||
|
for i = 1, #shows do
|
||||||
|
if itemsGrid[go][i] then
|
||||||
|
itemsGrid[go][i]:OnOpen(false, {shows[i][1],shows[i][2]}, 0.9,false,false,false,sortingOrder)
|
||||||
|
itemsGrid[go][i].gameObject:SetActive(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
itemsGrid[go]={}
|
||||||
|
for i = 1, 4 do
|
||||||
|
itemsGrid[go][i] = SubUIManager.Open(SubUIConfig.ItemView, grid.transform)
|
||||||
|
itemsGrid[go][i].gameObject:SetActive(false)
|
||||||
|
local obj = newObjToParent(shadow,itemsGrid[go][i].transform)
|
||||||
|
obj.transform:SetAsFirstSibling()
|
||||||
|
obj.transform:DOAnchorPos(Vector3(0,-3,0),0)
|
||||||
|
obj:GetComponent("RectTransform").transform.localScale = Vector3.one*1.1
|
||||||
|
obj.gameObject:SetActive(true)
|
||||||
|
end
|
||||||
|
for i = 1, #shows do
|
||||||
|
itemsGrid[go][i]:OnOpen(false, {shows[i][1],shows[i][2]}, 0.9,false,false,false,sortingOrder)
|
||||||
|
itemsGrid[go][i].gameObject:SetActive(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--界面关闭时调用(用于子类重写)
|
--界面关闭时调用(用于子类重写)
|
||||||
|
@ -114,6 +174,8 @@ end
|
||||||
|
|
||||||
--界面销毁时调用(用于子类重写)
|
--界面销毁时调用(用于子类重写)
|
||||||
function NiuQiChongTian:OnDestroy()
|
function NiuQiChongTian:OnDestroy()
|
||||||
_sortingOrder = 0
|
SubUIManager.Close(this.UpView)
|
||||||
|
sortingOrder = 0
|
||||||
end
|
end
|
||||||
|
|
||||||
return NiuQiChongTian
|
return NiuQiChongTian
|
Loading…
Reference in New Issue