miduo_client/Assets/ManagedResources/~Lua/Modules/DynamicActivity/XinJiangLaiXi.lua

237 lines
8.4 KiB
Lua
Raw Normal View History

local XinJiangLaiXi = {}
2020-12-01 15:52:34 +08:00
local allData={}
local itemsGrid = {}--item重复利用
2020-12-01 13:51:13 +08:00
local sortingOrder = 0
2020-12-01 15:52:34 +08:00
local parent = {}
self.LiveObj = nil
function XinJiangLaiXi:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = XinJiangLaiXi })
return b
2020-12-01 13:51:13 +08:00
end
2020-12-02 09:51:17 +08:00
function XinJiangLaiXi:InitComponent()
self.time = Util.GetGameObject(self.gameObject, "time/times"):GetComponent("Text")
self.money = Util.GetGameObject(self.gameObject, "money/times"):GetComponent("Text")
self.fightBtn = Util.GetGameObject(self.gameObject, "layout/fightBtn")
self.storeBtn = Util.GetGameObject(self.gameObject, "storeBtn")
self.helpBtn = Util.GetGameObject(self.gameObject, "helpBtn")
self.helpPosition=self.helpBtn:GetComponent("RectTransform").localPosition
self.scrollItem = Util.GetGameObject(self.gameObject, "scroller/grid")
self.liveRoot = Util.GetGameObject(self.gameObject, "bg/liveRoot")
self.tip1 = Util.GetGameObject(self.gameObject, "layout/Text1"):GetComponent("Text")
self.tip2 = Util.GetGameObject(self.gameObject, "layout/Text2"):GetComponent("Text")
self.addBtn = Util.GetGameObject(self.gameObject, "layout/addBtn")
2020-12-01 15:52:34 +08:00
--shop
self.tabList = Util.GetGameObject(self.mainPanel,"bg/tabbox")
self.btnBack = Util.GetGameObject(self.mainPanel,"bg/btnBack")
self.bottomBar = Util.GetGameObject(self.mainPanel,"bg/bottomBar")
2020-12-01 15:52:34 +08:00
self.shop = Util.GetGameObject(self.gameObject,"shop")
self.shopBack = Util.GetGameObject(self.shop,"shopBack/btnBack")
self.content = Util.GetGameObject(self.shop,"content")
2020-12-01 13:51:13 +08:00
end
--绑定事件(用于子类重写)
function XinJiangLaiXi:BindEvent()
Util.AddClick(self.helpBtn, function()
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.XinJiangLaiXi,self.helpPosition.x,self.helpPosition.y)
end)
Util.AddClick(self.addBtn, function()
2020-12-03 15:11:24 +08:00
--购买特权
if allData.buyTime > 0 then
local costId, finalNum, oriCostNum = ShopManager.calculateBuyCost(SHOP_TYPE.FUNCTION_SHOP,10036, 1)
local itemName = ConfigManager.GetConfigData(ConfigName.ItemConfig,costId).Name
2021-04-09 12:26:35 +08:00
MsgPanel.ShowTwo(string.format( Language[10516],finalNum,GetLanguageStrById(itemName)), nil, function()
--买东西
ShopManager.RequestBuyShopItem(SHOP_TYPE.FUNCTION_SHOP,10036,1,function()
2021-04-09 12:26:35 +08:00
PopupTipPanel.ShowTip(Language[10517])
PrivilegeManager.RefreshPrivilegeUsedTimes(2013, 1)--更新特权
XinJiangLaiXi:Refresh()
end)
end)
else
2021-04-09 12:26:35 +08:00
PopupTipPanel.ShowTip(Language[10518])
end
end)
Util.AddClick(self.fightBtn,function()
2020-12-03 15:11:24 +08:00
--开始战斗
if allData.fightTime > 0 then
2020-12-02 17:14:52 +08:00
NetManager.NewGeneralAttackRequest(allData.activityId,2012,function(msg)
PrivilegeManager.RefreshPrivilegeUsedTimes(2012, 1)--更新特权
local fightData = BattleManager.GetBattleServerData(msg,0)
UIManager.OpenPanel(UIName.BattlePanel, fightData, BATTLE_TYPE.XINJIANG,function ()
2020-12-03 15:11:24 +08:00
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1,function ()
this:Refresh()
end)
2020-12-02 17:14:52 +08:00
end)
end)
else
2020-12-03 15:11:24 +08:00
--购买特权
if allData.buyTime > 0 then
local costId, finalNum, oriCostNum = ShopManager.calculateBuyCost(SHOP_TYPE.FUNCTION_SHOP,10036, 1)
local itemName = ConfigManager.GetConfigData(ConfigName.ItemConfig,costId).Name
2021-04-09 12:26:35 +08:00
MsgPanel.ShowTwo(string.format( Language[10516],finalNum,itemName), nil, function()
--买东西
ShopManager.RequestBuyShopItem(SHOP_TYPE.FUNCTION_SHOP,10036,1,function()
2021-04-09 12:26:35 +08:00
PopupTipPanel.ShowTip(Language[10517])
PrivilegeManager.RefreshPrivilegeUsedTimes(2013, 1)--更新特权
XinJiangLaiXi:Refresh()
end)
end)
else
2021-04-09 12:26:35 +08:00
PopupTipPanel.ShowTip(Language[10519])
end
end
2020-12-01 15:52:34 +08:00
end)
Util.AddClick(self.storeBtn,function()
self.shop:SetActive(true)
self.btnBack:SetActive(false)
self.tabList:SetActive(false)
self.bottomBar:SetActive(false)
2020-12-01 15:52:34 +08:00
this:StoreShow()--商店
end)
Util.AddClick(self.shopBack,function()
self.shop:SetActive(false)
self.btnBack:SetActive(true)
self.tabList:SetActive(true)
self.bottomBar:SetActive(true)
2020-12-03 18:36:01 +08:00
parent.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
XinJiangLaiXi:Refresh()
2020-12-01 15:52:34 +08:00
end)
2020-12-01 13:51:13 +08:00
end
--添加事件监听(用于子类重写)
function XinJiangLaiXi:AddListener()
end
--移除事件监听(用于子类重写)
function XinJiangLaiXi:RemoveListener()
end
--界面打开时调用(用于子类重写)
function XinJiangLaiXi:OnOpen()
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function XinJiangLaiXi:OnShow(_sortingOrder,_parent)
local actId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.XinJiangLaiXi)
if not actId or actId <= 0 then return end
2020-12-01 15:52:34 +08:00
parent = _parent
sortingOrder = _sortingOrder
XinJiangLaiXi:Refresh()
end
function XinJiangLaiXi:Refresh()
CheckRedPointStatus(RedPointType.XinJiangLaiXi)
2020-12-01 15:52:34 +08:00
allData = DynamicActivityManager.XinJiangBuildData()
XinJiangLaiXi:OnShowData()
XinJiangLaiXi:SetTime()
end
2020-12-01 15:52:34 +08:00
function XinJiangLaiXi:OnShowData()
self.shop:SetActive(false)
2020-12-01 15:52:34 +08:00
if not itemsGrid then
itemsGrid = {}
end
for k,v in ipairs(itemsGrid) do
v.gameObject:SetActive(false)
end
2020-12-02 09:51:17 +08:00
for i = 1,#allData.reward do
if not itemsGrid[i] then
itemsGrid[i] = SubUIManager.Open(SubUIConfig.ItemView,self.scrollItem.transform)
2020-12-01 15:52:34 +08:00
end
2020-12-02 09:51:17 +08:00
itemsGrid[i].gameObject:SetActive(true)
itemsGrid[i]:OnOpen(false, allData.reward[i], 1,false,false,false,sortingOrder)
2020-12-01 15:52:34 +08:00
end
if self.LiveObj then
poolManager:UnLoadLive(self.LiveObj.name,self.LiveObj)
self.LiveObj = nil
2020-12-01 15:52:34 +08:00
end
2021-01-27 14:05:31 +08:00
local configData = ConfigManager.GetConfigData(ConfigName.NewHeroConfig,allData.activityId)
local HeroId = configData.HeroId
local imgName = GetResourcePath(ConfigManager.GetConfigData(ConfigName.HeroConfig,HeroId).Live)
self.LiveObj = poolManager:LoadLive(imgName,self.liveRoot.transform, Vector3.one*configData.Size[1], Vector2.New(configData.Size[2],configData.Size[3]))
2020-12-01 15:52:34 +08:00
self.tip1.text = Language[10520].."<color=#6BC74D>"..allData.fightTime.."</color>"
self.tip2.text = Language[10521].."<color=#6BC74D>"..allData.buyTime.."</color>"
self.money.text = allData.money
2020-12-01 13:51:13 +08:00
end
2020-12-01 15:52:34 +08:00
function XinJiangLaiXi:SetTime()
if self.timer then
self.timer:Stop()
self.timer = nil
end
local timeDown = allData.endTime - GetTimeStamp()
self.time.text = Language[10470]..TimeToFelaxible(timeDown)
2020-12-01 15:52:34 +08:00
self.timer = Timer.New(function()
timeDown = timeDown - 1
if timeDown < 1 then
self.timer:Stop()
self.timer = nil
parent:ClosePanel()
return
end
self.time.text = Language[10470]..TimeToFelaxible(timeDown)
2020-12-01 15:52:34 +08:00
end, 1, -1, true)
self.timer:Start()
end
2020-12-01 13:51:13 +08:00
--界面打开时调用(用于子类重写)
function XinJiangLaiXi:OnOpen()
end
2020-12-01 15:52:34 +08:00
--商店
2020-12-02 09:51:17 +08:00
function XinJiangLaiXi:StoreShow()
if not self.shopView then
self.shopView = SubUIManager.Open(SubUIConfig.ShopView, self.content.transform)
2020-12-01 15:52:34 +08:00
end
self.shopView:ShowShop(SHOP_TYPE.XINJIANG_SHOP,sortingOrder)
2020-12-03 18:36:01 +08:00
parent.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.XinJiangLaiXi })
2020-12-01 15:52:34 +08:00
end
2020-12-01 13:51:13 +08:00
function XinJiangLaiXi:OnClose()
end
--界面销毁时调用(用于子类重写)
function XinJiangLaiXi:OnDestroy()
2020-12-01 15:52:34 +08:00
if self.timer then
self.timer:Stop()
self.timer = nil
end
if self.LiveObj then
poolManager:UnLoadLive(self.LiveObj.name,self.LiveObj)
self.LiveObj = nil
end
2020-12-01 15:52:34 +08:00
sortingOrder = 0
itemsGrid = {}
2020-12-01 13:51:13 +08:00
end
function XinJiangLaiXi:OnHide()
2020-12-01 15:52:34 +08:00
if self.timer then
self.timer:Stop()
self.timer = nil
2020-12-23 17:28:20 +08:00
end
if self.shopView then
self.shopView = SubUIManager.Close(self.shopView)
self.shopView = nil
2020-12-23 17:28:20 +08:00
end
2020-12-01 15:52:34 +08:00
sortingOrder = 0
2020-12-01 13:51:13 +08:00
end
return XinJiangLaiXi