143 lines
No EOL
4.1 KiB
Lua
143 lines
No EOL
4.1 KiB
Lua
local XUiComeAcrossGame = XLuaUiManager.Register(XLuaUi, "UiComeAcrossGame")
|
|
local XUiPanelGame = require("XUi/XUiComeAcross/XUiPanelGame")
|
|
local XUiPanelEliminateGame = require("XUi/XUiComeAcross/XUiPanelEliminateGame")
|
|
local XUiPanelComeAcrossReward = require("XUi/XUiComeAcross/XUiPanelComeAcrossReward")
|
|
local XUiPanelStart = require("XUi/XUiComeAcross/XUiPanelStart")
|
|
|
|
function XUiComeAcrossGame:OnAwake()
|
|
self:InitAutoScript()
|
|
self:Init()
|
|
end
|
|
|
|
function XUiComeAcrossGame:Init()
|
|
self.ComeAcrossClickGame = XUiPanelGame.New(self.PanelGame, self)
|
|
self.ComeAcrossEliminateGame = XUiPanelEliminateGame.New(self.PanelEliminateGame, self)
|
|
self.ComeAcrossRewardPanel = XUiPanelComeAcrossReward.New(self.PanelComeAcrossReward, self)
|
|
self.StartPanel = XUiPanelStart.New(self.PanelStart, self)
|
|
|
|
self.CurGame = nil
|
|
self.PanelStart.gameObject:SetActive(true)
|
|
self.PanelComeAcrossReward.gameObject:SetActive(false)
|
|
self.PanelGame.gameObject:SetActive(false)
|
|
self.PanelEliminateGame.gameObject:SetActive(false)
|
|
|
|
self.PanelMask.gameObject:SetActive(false)
|
|
|
|
self.Timer = XScheduleManager.ScheduleForever(function()
|
|
self:Update()
|
|
end, 0)
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:OnStart(gameData)
|
|
self.GameData = gameData
|
|
local gameType = gameData.GameConfig.Type
|
|
if gameType == ComeAcrossGameType.GAME_CLICK then
|
|
self.CurGame = self.ComeAcrossClickGame
|
|
else
|
|
self.CurGame = self.ComeAcrossEliminateGame
|
|
end
|
|
|
|
local position = self.GameData.Position
|
|
|
|
self.StartPanel:SetupContent(self.GameData)
|
|
self:SetUiSprite(self.ImgBg, position.BgIcon)
|
|
self:PlayAnimation("UiComeAcrossGameStartBegin")
|
|
|
|
|
|
end
|
|
|
|
function XUiComeAcrossGame:OnFinish(result)
|
|
|
|
if not self.GameData then
|
|
return
|
|
end
|
|
|
|
local finitshNum = 0
|
|
for _, v in ipairs(result) do
|
|
if v == 1 then
|
|
finitshNum = finitshNum + 1
|
|
end
|
|
end
|
|
|
|
XDataCenter.ComeAcrossManager.ReqTrustGameResultRequest(self.GameData.Character.Id, self.GameData.GameConfig.Id, finitshNum, function()
|
|
self.PanelStart.gameObject:SetActive(true)
|
|
self.PanelMask.gameObject:SetActive(false)
|
|
self.CurGame.GameObject:SetActive(false)
|
|
|
|
self.StartPanel:SetupResult()
|
|
end)
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:SetupReward()
|
|
local result = XDataCenter.ComeAcrossManager.GetLastResult()
|
|
if result then
|
|
self.PanelComeAcrossReward.gameObject:SetActive(true)
|
|
self.ComeAcrossRewardPanel:SetupReward(self.GameData, result)
|
|
end
|
|
end
|
|
|
|
function XUiComeAcrossGame:OnEnable()
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:OnDisable()
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:OnDestroy()
|
|
if self.Timer ~= nil then
|
|
XScheduleManager.UnSchedule(self.Timer)
|
|
self.Timer = nil
|
|
end
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:OnNotify()
|
|
end
|
|
|
|
|
|
function XUiComeAcrossGame:Update()
|
|
local dt = CS.UnityEngine.Time.deltaTime
|
|
if self.CurGame then
|
|
self.CurGame:Update(dt)
|
|
end
|
|
end
|
|
|
|
-- auto
|
|
-- Automatic generation of code, forbid to edit
|
|
function XUiComeAcrossGame:InitAutoScript()
|
|
self:AutoInitUi()
|
|
self:AutoAddListener()
|
|
end
|
|
|
|
function XUiComeAcrossGame:AutoInitUi()
|
|
self.PanelStart = self.Transform:Find("Animator/FullScreenBackground/PanelStart")
|
|
self.PanelGame = self.Transform:Find("Animator/FullScreenBackground/PanelGame")
|
|
self.PanelComeAcrossReward = self.Transform:Find("Animator/FullScreenBackground/PanelComeAcrossReward")
|
|
self.PanelMask = self.Transform:Find("Animator/FullScreenBackground/PanelMask")
|
|
self.PanelEliminateGame = self.Transform:Find("Animator/FullScreenBackground/PanelEliminateGame")
|
|
self.ImgBg = self.Transform:Find("Animator/FullScreenBackground/ImgBg"):GetComponent("Image")
|
|
end
|
|
|
|
function XUiComeAcrossGame:AutoAddListener()
|
|
end
|
|
-- auto
|
|
function XUiComeAcrossGame:OnBtnSelectClick()
|
|
if not self.CurGame then
|
|
return
|
|
end
|
|
|
|
self.PanelStart.gameObject:SetActive(false)
|
|
self.PanelMask.gameObject:SetActive(true)
|
|
self.CurGame.GameObject:SetActive(true)
|
|
|
|
self.CurGame:SetupGameData(self.GameData)
|
|
self.CurGame:Play()
|
|
|
|
end
|
|
|
|
function XUiComeAcrossGame:OnSliderFavorClick()
|
|
|
|
end |