源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

154 lines
5.1 KiB

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