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