|
|
- 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
|