源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

124 行
3.1 KiB

DailyRechargeGuagualeView = DailyRechargeGuagualeView or BaseClass(BaseView)
function DailyRechargeGuagualeView:__init()
self.base_file = "dailyRecharge"
self.layout_file = "DailyRechargeGuagualeView"
self.layer_name = "Top"
self.use_background = true
self.is_set_zdepth = true
self.model = RechargeActivityModel:getInstance()
self.is_init = false
self.is_win = false
self.is_finished = true
self.load_callback = function ()
self:LoadSuccess()
self:InitEvent()
end
self.destroy_callback = function ()
self:Clear()
end
end
function DailyRechargeGuagualeView:Clear()
end
function DailyRechargeGuagualeView:LoadSuccess()
local nodes = {
"result_text:txt", "bg:raw", "restart_btn:obj", "gaugua_back:raw", "close_btn:obj", "title_text:txt", "gaugua_top:obj",
}
self:GetChildren(nodes)
lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("dailyRecharge_bg"),true)
if self.need_refreshData then
self:SetData()
end
end
function DailyRechargeGuagualeView:InitEvent()
local function onClickHandler(target)
if self.close_btn_obj == target then
self:Close()
elseif self.restart_btn_obj == target then
Message.show("重新刮奖")
self.is_finished = true
self:ReStartGame()
end
end
AddClickEvent(self.close_btn_obj,onClickHandler)
AddClickEvent(self.restart_btn_obj,onClickHandler)
end
function DailyRechargeGuagualeView:SetData()
if self.is_loaded then
self:ReStartGame()
else
self.need_refreshData = true
end
end
function DailyRechargeGuagualeView:UpdateView()
if not self.is_finished then
return
end
if not self.is_init then
self.gaugua_top_raw = self.gaugua_top_obj:AddComponent(typeof(UnityEngine.UI.RawImage))
self.gaugua_top_raw.raycastTarget = true
local load_done_call_back = function ( )
self.is_init = true
self.is_finished = false
self.erase_handler = self.gaugua_top_obj:AddComponent(typeof(EraseHandler))
self.erase_handler:SetCamera(MainCamera.Instance.uiCamera)
local function erase_finish_call_back()
self:CheckResult()
end
self.erase_handler:SetFinishCallBack(erase_finish_call_back)
self.erase_handler:SetEraseArgs(30, 8)
self.erase_handler:SetFinishPercent(0.5)
self.erase_handler:Reset()
self:InitResult()
end
lua_resM:setOutsideRawImage(self, self.gaugua_top_raw, GameResPath.GetReadWriteImage("erase_bg"), true, load_done_call_back)
else
self.is_finished = false
self.erase_handler:Reset()
self:InitResult()
end
end
function DailyRechargeGuagualeView:InitResult()
self.is_win = self:RandomData()
if self.is_win then
self.result_text_txt.text= "恭喜中奖"
else
self.result_text_txt.text= "谢谢惠顾"
end
end
function DailyRechargeGuagualeView:CheckResult()
if self.is_win then
Message.show("恭喜中奖")
else
Message.show("谢谢惠顾")
end
self.is_finished = true
end
function DailyRechargeGuagualeView:RandomData()
--先从2到倒数第二项,随机抽,保证一定能够错开
local idx = math.random(1, 10)
return idx > 5 and true or false
end
function DailyRechargeGuagualeView:ReStartGame()
self:UpdateView()
end