源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

167 lines
4.6 KiB

--自动挂机时间,经验状态tips
AutoFightTips = AutoFightTips or BaseClass(BaseView)
function AutoFightTips:__init()
self.base_file = "autoFight"
self.layout_file = "AutoFightTips"
self.layer_name = "Activity"
self.open_wnd_anim = 0
-- self.use_local_view = true
self.change_scene_close = true
self.close_mode = CloseMode.CloseDestroy
self.destroy_imm = true
self.hide_maincancas = false
self.background_alpha = 0
self.use_background = true --任务栏特效遮罩影响了这里,加上透明背景
self.click_bg_toClose = true
self.model = AutoFightManager:getInstance()
self.item_list = {}
self.load_callback = function()
self:LoadSuccess()
self:InitEvent()
end
self.open_callback = function()
GoodsModel:getInstance():Fire(GoodsModel.GET_GOODS_BUFF_LIST) --发15055更新物品buff
self:SetData()
end
self.destroy_callback = function()
self:Remove()
end
end
function AutoFightTips:Remove()
if self.orientation_change_id then
GlobalEventSystem:UnBind(self.orientation_change_id)
self.orientation_change_id = nil
end
if self.event_id then
AutoFightManager:getInstance():UnBind(self.event_id)
self.event_id = nil
end
if self.event_id2 then
GoodsModel:getInstance():UnBind(self.event_id2)
self.event_id2 = nil
end
if self.event_id3 then
AutoFightManager:getInstance():UnBind(self.event_id3)
self.event_id3 = nil
end
if self.event_id4 then
GlobalEventSystem:UnBind(self.event_id4)
self.event_id4 = nil
end
if self.event_id5 then
GlobalEventSystem:UnBind(self.event_id5)
self.event_id5 = nil
end
for i,v in ipairs(self.item_list) do
v:DeleteMe()
v = nil
end
self.item_list = {}
end
function AutoFightTips:Open()
BaseView.Open(self)
end
function AutoFightTips:LoadSuccess()
self.raycast = self:GetChild("raycast")
self.raycast.transform.sizeDelta = Vector2(ScreenWidth,ScreenHeight)
self.raycast.localPosition = Vector3(-ScreenWidth/2+ClientConfig.iphone_x_offset_left, ScreenHeight/2, 0)
self.layout = self:GetChild("layout")
self.layout.localPosition = Vector3(-ScreenWidth/2 + 172 + ClientConfig.iphone_x_offset_left, ScreenHeight / 2 - 90, 0)
self.ScrollView = self:GetChild("layout/ScrollView")
self.ScrollViewViewport = self:GetChild("layout/ScrollView/Viewport")
self.ScrollViewCon = self:GetChild("layout/ScrollView/Viewport/Content")
self.bg = self:GetChild("layout/bg")
self.scroll_comp = self.ScrollView:GetComponent("ScrollRect")
end
function AutoFightTips:InitEvent()
local function onOrientationChange()
self.layout.localPosition = Vector2(ClientConfig.iphone_x_offset_left, 0)
end
self.orientation_change_id = GlobalEventSystem:Bind(EventName.ORIENTATION_DID_CHANGE, onOrientationChange)
AddClickEvent(self.raycast.gameObject,function ()
self:Close()
end)
local update_fun = function ()
-- local function on_delay( )
self:SetData()
-- end
-- setTimeout(on_delay, 0.1)
end
-- self.event_id = AutoFightManager:getInstance():Bind(AutoFightManager.UPDATE_EXPERIENCE_DATA, update_fun)
-- self.event_id2 = GoodsModel:getInstance():Bind(GoodsModel.UPDATE_GOODS_BUFF_DATA, update_fun)
self.event_id4 = GlobalEventSystem:Bind(EventName.UPDATE_BUFF_VIEW, update_fun)
local close_fun = function ()
self:Close()
end
self.event_id3 = AutoFightManager:getInstance():Bind(AutoFightManager.CLOSE_AUTO_FIGHT_TIP, close_fun)
local function onSceneChangeHandler()
self:Close()
end
self.event_id5 = GlobalEventSystem:Bind(SceneEventType.SCENE_CHANGED, onSceneChangeHandler)
self:SetData()
end
function AutoFightTips:SetData()
if IsNull(self.gameObject) then
return
end
for k,v in pairs(self.item_list) do
v:SetVisible(false)
end
local mvo = RoleManager.Instance.mainRoleInfo
local scroll_height = 0
local count = 0
local height = 0
local buff_list = MainUIModel:getInstance():GetAllBuff()
if buff_list then
for i,v in ipairs(buff_list) do
if Config.ConfigBuffIcon[v.id] then
local item = self.item_list[count + 1]
if item == nil then
item = BufferTipsItem.New(self.ScrollViewCon)
self.item_list[count + 1] = item
end
local is_end = i == #buff_list
item:SetData(v, is_end)
item:SetVisible(true)
local x = 6
item:SetAnchoredPosition(x, -height)
count = count + 1
height = item:GetAllHeight() + height
end
end
end
scroll_height = height
self.scroll_comp.enabled = false
if count >= 4 then
height = 418
self.scroll_comp.enabled = true
elseif count > 0 then
height = height + 31
else
height = 0
end
self.gameObject:SetActive(height > 0)
self.bg.sizeDelta = Vector2(311, height)
self.ScrollView.sizeDelta = Vector2(311, height-31)
self.ScrollViewCon.sizeDelta = Vector2(311, scroll_height)
end