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