源战役客户端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

105 righe
3.3 KiB

--个性化聊天界面
ChatBagView = ChatBagView or BaseClass(BaseView)
function ChatBagView:__init()
self.base_file = "chat"
self.layout_file = "ChatBagView"
self.layer_name = "UI"
self.destroy_imm = true
self.change_scene_close = true
self.hide_maincancas = false
-- self.use_local_view = true
self.model = ChatModel:getInstance()
self.good_item_list = {}
self.load_callback = function ()
self:LoadSuccess()
self:InitEvent()
end
self.open_callback = function ()
self.model.chat_bag_view_is_open = true
self:UpdateView()
self.model:Fire(ChatModel.SHOW_BAG_SELECT_BG, true)
end
self.close_callback = function ()
self.model:Fire(ChatModel.SHOW_BAG_SELECT_BG, false)
end
self.destroy_callback = function ()
self.model.chat_bag_view_is_open = false
self:Clear()
end
end
function ChatBagView:Clear()
for i, item in pairs(self.good_item_list) do
item:DeleteMe()
end
self.good_item_list = {}
self.model.selected_good_item = nil
if self.orientation_change_id then
GlobalEventSystem:UnBind(self.orientation_change_id)
self.orientation_change_id = nil
end
end
function ChatBagView:LoadSuccess()
self.scroll_content = self:GetChild("InfoCon/ScrollView/Viewport/Content")
self.info_con = self:GetChild("InfoCon")
--self.bg = self:GetChild("bg")
self.closeBtn = self:GetChild("InfoCon/closeBtn").gameObject
-- self.transform.sizeDelta = Vector2(SrcScreenWidth, ScreenHeight)
-- self.bg.transform.sizeDelta = Vector2(SrcScreenWidth/2, ScreenHeight)
-- self.bg.transform.anchoredPosition = Vector2(0, 0)
-- self.transform.anchoredPosition = Vector2(ClientConfig.iphone_x_offset_left, 0)
end
function ChatBagView:InitEvent()
local function onOrientationChange()
self.transform.anchoredPosition = Vector2(ClientConfig.iphone_x_offset_left, 0)
end
self.orientation_change_id = GlobalEventSystem:Bind(EventName.ORIENTATION_DID_CHANGE, onOrientationChange)
local function onBtnClickHandler(target)
if target == self.closeBtn then
self:Close()
end
end
--AddClickEvent(self.bg.gameObject,onBtnClickHandler)
AddClickEvent(self.closeBtn, onBtnClickHandler)
end
function ChatBagView:UpdateView()
local index = 1
local wear_equip_list = {}
local bag_goods_list = {}
for k, v in pairs(GoodsModel:getInstance().wear_equip_dic) do
table.insert(wear_equip_list, v)
end
for k, v in pairs(GoodsModel:getInstance().bag_goods_dic) do
table.insert(bag_goods_list, v)
end
local function sort_func(v1, v2)
return v1.type_id > v2.type_id
end
table.sort(wear_equip_list, sort_func)
table.sort(bag_goods_list, sort_func)
local createItem = function (vo)
item = self.good_item_list[index]
if item == nil then
item = EquipShowItem.New(self.scroll_content)
self.good_item_list[index] = item
end
item:ChangeCountVisible(false, 0)
item:SetData(vo)
item:SetVisible(true)
index = index + 1
end
for i, v in ipairs(wear_equip_list) do
v.used = true
createItem(v)
end
for i, v in ipairs(bag_goods_list) do
createItem(v)
end
end