--个性化聊天界面 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