GuideHorseUseView = GuideHorseUseView or BaseClass(BaseView) function GuideHorseUseView:__init() self.base_file = "guide" self.layout_file = "GuideHorseUseView" self.layer_name = "Activity" self.destroy_imm = true self.change_scene_close = true self.time_diff = 10 self.touch_y = 0 self.open_wnd_anim = 0 self.is_set_zdepth = true self.load_callback = function () self:LoadSuccess() self:InitEvent() end self.open_callback = function () GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK) self.time_diff = 10 self:ShowTimer() self:ShowEffect() end self.close_callback = function () if not self.has_ride_horse then self.has_ride_horse = true GlobalEventSystem:Fire(EventName.RIDE_HORSE) end GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK) end self.destroy_callback = function () self:Clear() end end function GuideHorseUseView:Clear() self:RemoveTimer() self:ClearEffect() end function GuideHorseUseView:Close() BaseView.Close(self) end function GuideHorseUseView:LoadSuccess() self.effect = self:GetChild("effect") self.breakCon = self:GetChild("breakCon").gameObject self.LeftSec = self:GetChild("LeftSec"):GetComponent("Text") self.mask_bg = self:GetChild("Mask") self.mask_bg.sizeDelta = Vector2(SrcScreenWidth,ScreenHeight) self.mask_btn = self:GetChild("Mask").gameObject end function GuideHorseUseView:ShowEffect( ) local function load_end_func( ) end self.effect_id = self:AddUIEffect("ui_huadongyindao", self.effect, self.layer_name, nil, nil, true,nil,nil,nil,load_end_func) end function GuideHorseUseView:ClearEffect( ) if self.effect_id then self:ClearUIEffect(self.effect) self.effect_id = nil end end function GuideHorseUseView:InitEvent() local function onBtnClickHandler(target) if target == self.breakCon then self:SureBtnClickEvent() end end AddClickEvent(self.breakCon,onBtnClickHandler) local function draging(target,pos_x, pos_y) if target == self.mask_bg.gameObject then if pos_y-self.touch_y>150 then self:SureBtnClickEvent() end end end AddDragEvent(self.mask_bg.gameObject,draging) local function touch_begin( target,pos_x, pos_y ) if target == self.mask_bg.gameObject then self.touch_y = pos_y end end AddDownEvent(self.mask_bg.gameObject,touch_begin) end --上坐骑 function GuideHorseUseView:SureBtnClickEvent( ) if not self.has_ride_horse then self.has_ride_horse = true GlobalEventSystem:Fire(EventName.RIDE_HORSE) end self:Close() end function GuideHorseUseView:ShowTimer() self:RemoveTimer() self.LeftSec.text = string.format("(%ds后自动骑乘坐骑)", self.time_diff) local function onTimer() self.time_diff = self.time_diff - 1 if self.time_diff > 0 then self.LeftSec.text = string.format("(%ds后自动骑乘坐骑)", self.time_diff) else self:RemoveTimer() self:SureBtnClickEvent() end end self.time_id = GlobalTimerQuest:AddPeriodQuest(onTimer,1,-1) end function GuideHorseUseView:RemoveTimer() if self.time_id then GlobalTimerQuest:CancelQuest(self.time_id) self.time_id = nil end end