BeenAttackTips = BeenAttackTips or BaseClass(BaseView) local BeenAttackTips = BeenAttackTips function BeenAttackTips:__init() self.base_file = "common" self.layout_file = "BeenAttackTips" self.layer_name = "Main" self.destroy_imm = true self.change_scene_close = true 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.show_role_id = 0 self.load_callback = function () self:LoadSuccess() self:AddEvent() 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 BeenAttackTips:Open( ) BaseView.Open(self) end function BeenAttackTips:LoadSuccess() local nodes = { "click/con_head:raw","click/btn_close:obj","click/lb_status:tmp","click/lb_name:tmp","click:obj", "click/con_vip:obj", "click/lb_lv:tmp", } self:GetChildren(nodes) SetAnchoredPosition( self.transform, 6 - ClientConfig.iphone_x_offset_right, 351 ) self:SetViewShow(false,false) -- self.head_item = self.head_item or self:CreateItem(HeadRoleItem, self.con_head, self.layer_name) -- self.head_item:SetItemSize(88,88) self.vip_item = self.vip_item or self:CreateItem(RoleVipItem, self.con_vip, self.layer_name) self.lb_status_tmp.text = "(点击反击)" end function BeenAttackTips:SetViewShow( role_id, bool ) self.transform.gameObject:SetActive(bool) GlobalEventSystem:Fire(EventName.BOARDCAST_ATTACK_BACK, role_id, bool and "open" or "close") end function BeenAttackTips:AddEvent() local function call_back( target ) if target == self.btn_close_obj then self:SetViewShow(false,false) elseif target == self.click_obj then local have_select = false if self.show_role_id and self.show_role_id > 0 then local temp = Scene:getInstance():GetRole(self.show_role_id) if temp then ------------------------- if SceneManager:getInstance():IsCanAttackByMainRole(temp.vo) then --可攻击的话不需要切换 else PKStatusModel:getInstance():Fire(PKStatusModel.CHANGE_PK_STATUS, PKStatusModel.Status.Force) end ------------------------- Scene.Instance:SetClickTarget(temp) GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT) have_select = true else Message.show("对方已不在该场景") end else Message.show("请选择一个目标") end if not have_select then self.show_role_id = 0 self:SetViewShow(false,false) end end end AddClickEvent(self.btn_close_obj,call_back,false) AddClickEvent(self.click_obj,call_back,false) local function REFRESH_BEEN_ATTACK_TIPS( role_id ) if not role_id then return end if role_id > 0 then self.show_role_id = role_id self:UpdateView() end end self:BindEvent(GlobalEventSystem, EventName.REFRESH_BEEN_ATTACK_TIPS, REFRESH_BEEN_ATTACK_TIPS) local function onOrientationChange() SetAnchoredPosition( self.transform, 6 - ClientConfig.iphone_x_offset_right, 351 ) end self:BindEvent(GlobalEventSystem, EventName.ORIENTATION_DID_CHANGE, onOrientationChange) end function BeenAttackTips:OpenSuccess() self:UpdateView() end function BeenAttackTips:UpdateView() local role_data = SceneManager.Instance:GetRoleVo( self.show_role_id ) if self.show_role_id > 0 and role_data then self:SetViewShow(self.show_role_id,true) -- local head_data = { -- vo = {id=role_data.role_id,career=role_data.career,level=role_data.level,sex=role_data.sex,turn=role_data.turn, -- board = role_data.dress_id,picture_ver = role_data.picture_ver,picture = role_data.picture, -- profile_photo_id = role_data.profile_photo_id, do_not_click = true}, -- } -- self.head_item:SetData(head_data) CustomRoleHead:getInstance():Create(self, self.con_head_raw, role_data.role_id, role_data.career, role_data.sex, role_data.turn, nil, role_data.picture_ver, role_data.picture, false, role_data.profile_photo_id) self.lb_name_tmp.text = role_data.name self.lb_lv_tmp.text = role_data.level ------------------------- self.vip_item:SetData(role_data.vip_flag,role_data.sup_vip_type) local show_vip = role_data.vip_flag > 0 self.vip_item:SetVisible( show_vip ) SetAnchoredPositionX( self.lb_name.transform, show_vip and 38 or 8 ) ------------------------- self.hide_clock = 3 local function hide_call() self.hide_clock = self.hide_clock - 1 if self.hide_clock < 0 then self:SetViewShow(false,false) if self.close_time_id then GlobalTimerQuest:CancelQuest(self.close_time_id) self.close_time_id = nil end end end self.close_time_id = self.close_time_id or GlobalTimerQuest:AddPeriodQuest(hide_call, 1, -1) else self:SetViewShow(false,false) end end function BeenAttackTips:DestroySuccess( ) if self.close_time_id then GlobalTimerQuest:CancelQuest(self.close_time_id) self.close_time_id = nil end GlobalEventSystem:Fire(EventName.BOARDCAST_ATTACK_BACK, false,false) end