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

180 行
4.7 KiB

ExitBtnView = ExitBtnView or BaseClass(BaseView)
--[[
使用范例
local data = {
call_back = function() --回调
self.model:Fire(BeachConst.REQ_QUIT_SCENE)
end,
pos,--自己传位置进来不传就用默认的
}
GlobalEventSystem:Fire(EventName.OPEN_EXIT_TIME_TIP,data)
--]]
local ExitBtnView = ExitBtnView
function ExitBtnView:__init()
self.base_file = "common"
self.layout_file = "ExitBtnView"
self.layer_name = "Main"
self.destroy_imm = true
self.change_scene_close = false
self.append_to_ctl_queue = false --是否要添加进界面堆栈
self.need_show_money = false --是否要显示顶部的金钱栏
-- self.is_set_zdepth = true
self.click_bg_toClose = false
------------------------
-- 一级全屏界面:
self.hide_maincancas = false --隐藏主界面
self.use_background = false --不一定显示遮罩
self.tween_lite_list = {}
------------------------
self.load_callback = function ()
self:LoadSuccess()
end
self.open_callback = function ( )
self:OpenSuccess()
end
self.close_win_callback = function ( )
self:Close()
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function ExitBtnView:Open( )
BaseView.Open(self)
end
function ExitBtnView:LoadSuccess()
local nodes = {
"leftCon", "leftCon/exitBtn:obj",
}
self:GetChildren(nodes)
self:AddEvent()
-------------------------
self.transform.sizeDelta = Vector2(ScreenWidth, ScreenHeight)
self.transform.localPosition = Vector3(0,0,0)
self.exitBtn_obj:SetActive(false)
self:BindLittleMove(self.leftCon.transform, BaseView.LittleMoveDir.Left, 0)
if self.need_fresh then
self:ShowExitState(self.data)
end
end
function ExitBtnView:AddEvent()
local on_click = function ( click_obj )
if self.exitBtn_obj == click_obj then
if self.data and self.data.call_back then
self.data.call_back()
end
end
end
AddClickEvent(self.exitBtn_obj, on_click)
local function onOrientationChange()
if self.is_loaded and not self._use_delete_method then
SetAnchoredPositionX(self.leftCon.transform, ClientConfig.iphone_x_offset_left)
end
end
self:BindEvent(GlobalEventSystem, EventName.ORIENTATION_DID_CHANGE, onOrientationChange)
onOrientationChange()
local function showExitBtnFunc( data )
self:ShowExitState(data)
end
self:BindEvent(GlobalEventSystem, EventName.SHOW_EXIT_BTN_STATE, showExitBtnFunc)
local function hideExitBtnFunc( ... )
self:HideExitState()
end
self:BindEvent(GlobalEventSystem, EventName.HIDE_EXIT_BTN_STATE, hideExitBtnFunc)
local function hide_dialogue_cur_xy_node()--隐藏当前和对话框重叠位置的节点
self:ShowNode(false)
end
local function show_dialogue_cur_xy_node()--显示当前和对话框重叠位置的节点
self:ShowNode(true)
end
self:BindEvent(GlobalEventSystem, EventName.START_COM_DIALOGUE_SHOW_ANIM, hide_dialogue_cur_xy_node)
self:BindEvent(GlobalEventSystem, EventName.FINISHED_COM_DIALOGUE_SHOW_ANIM, show_dialogue_cur_xy_node)
end
function ExitBtnView:OpenSuccess()
self:UpdateView()
end
function ExitBtnView:UpdateView()
if self.is_loaded then
else
self.need_fresh = true
end
end
--显示
function ExitBtnView:ShowExitState( data )
self.data = data
if not self.is_loaded then
self.need_fresh = true
return
end
if not self.data then
print("huangcong:ExitBtnView [start:112] 没有数据啊,谁传过来的:")
return
end
if not self.is_show then
self.is_show = true
self:CancelHide()
end
SetAnchoredPositionX(self.transform,0)
self.exitBtn_obj:SetActive(true)
local pos = self.data.pos or {x = 200,y = 279}
SetAnchoredPosition(self.exitBtn.transform, pos.x, pos.y)
end
--隐藏
function ExitBtnView:HideExitState( )
if not self.is_loaded then
return
end
self.exitBtn_obj:SetActive(false)
self.data = nil
end
--是否隐藏副本任务栏节点
function ExitBtnView:ShowNode( show )
if not self.is_loaded then
return
end
if self.is_show == show then return end--相同的状态就不再进来做动画了
self.is_show = show
for i,v in ipairs(self.tween_lite_list) do
if v then
TweenLite.Stop(v)
v = nil
end
end
if show then
local function anim_end_func( ... )
self:CancelHide()
end
local pos = 0
self.tween_lite_list[1] = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.ANCHORED_POSX, pos, 0.2,anim_end_func)
else
local function anim_end_func( ... )
self:Hide()
end
local pos = -220
self.tween_lite_list[2] = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.ANCHORED_POSX, pos, 0.2,anim_end_func)
end
end
function ExitBtnView:DestroySuccess( )
for i,v in ipairs(self.tween_lite_list) do
if v then
TweenLite.Stop(v)
v = nil
end
end
end