|
|
- SocialityFriendSelectItem = SocialityFriendSelectItem or BaseClass(BaseItem)
- function SocialityFriendSelectItem:__init()
- self.base_file = "sociality"
- self.layout_file = "SocialityFriendSelectItem"
- self.model = SocialityModel:getInstance()
- self:Load()
- end
-
- function SocialityFriendSelectItem:Load_callback()
- self.nodes = {
- "nameCon","headCon",
- "nameCon/name:tmp","heartText:tmp","heart:img",
- "nameCon/sex:img","vip",
- "chooseBtn:obj:img", "chooseBg:obj", "getFriendBtn:obj", "sendGiftBtn:obj", "emptyBlock:obj",
- }
- self:GetChildren(self.nodes)
-
- self.emptyBlock_obj:SetActive(false)
-
- self.roleItem = HeadRoleItem.New(self.headCon)
- self.roleItem:SetItemSize(70,70)
-
- self.vipItem = RoleVipItem.New(self.vip)
-
- self:InitEvent()
-
- if self.need_refreshData then
- self:SetData(self.info,self.index)
- self:SetSelected(self.is_selected)
- end
- end
-
- function SocialityFriendSelectItem:InitEvent()
- local on_click = function ( click_obj )
- if self.chooseBtn_obj == click_obj or self.chooseBg_obj == click_obj then
- self.model.need_show_operation = "none"--收回14010协议后既不打开互动面板,也不对送礼界面进行开闭
- self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14010, self.info.role_id)
- self.model:Fire(SocialityModel.SELECT_FIREND, self.info, self.op_type)
- GlobalEventSystem:Fire(EventName.OPEN_SOCIAL_FRIEND_SEL_VIEW, false)
- self.model.select_info = nil
-
- lua_resM:setImageSprite(self, self.chooseBtn_img, "sociality_asset","sociality_btn_accept")
- elseif self.getFriendBtn_obj == click_obj then
- self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14003, self.info.role_id)
- self.getFriendBtn_obj:SetActive(false)
- elseif self.sendGiftBtn_obj == click_obj then
- local role_vo = SocialityModel:getInstance():GetFriendData(self.info.role_id)
- role_vo.vip_flag = role_vo.vip --好友那边的vip_flag字段自动转化成vip了,会拿不到vip数据,要重新转换回来
- GlobalEventSystem:Fire(EventName.OPEN_SOCIAL_FLOWER_VIEW, role_vo)
-
- GlobalEventSystem:Fire(EventName.OPEN_SOCIAL_FRIEND_SEL_VIEW, false)
- end
- end
- AddClickEvent(self.chooseBtn_obj, on_click)
- AddClickEvent(self.chooseBg_obj, on_click)
- AddClickEvent(self.getFriendBtn_obj, on_click)
- AddClickEvent(self.sendGiftBtn_obj, on_click)
-
- end
-
- function SocialityFriendSelectItem:SetData(info,index,op_type)
- if not info or not info.sex then return end
- self.info = info
- self.index = index
- self.op_type = op_type or 1--点击类型,1为显示右侧按钮,2为不显示按钮,整个区域做点击热区
-
- if not self.is_loaded then
- self.need_refreshData = true
- return
- end
- self.need_refreshData = false
-
- if self.roleItem then
- local head_data = {
- vo = {
- id = info.role_id,
- server_id = info.ser_id,
- career = info.career,
- sex = info.sex,
- turn = info.turn,
- picture_ver = info.picture_ver,
- picture = info.picture,
- profile_photo_id = info.profile_photo_id,
- dress_board_id = info.dress_board,
- level = info.lv,
- empty_head = false, -- 是否是空数据头像
- }
- }
- self.roleItem:SetData(head_data)
- end
-
-
- local role_lv = WordManager:GetRoleLevel(info.lv,info.turn)
- -- self.level_tmp.text = role_lv
-
-
- self.vipItem:SetData(info.vip,info.sup_vip_type)
- if self.info.vip and self.info.vip > 0 then
- SetAnchoredPositionX(self.nameCon,36)
- else
- SetAnchoredPositionX(self.nameCon,-3)
- end
-
- self.name_tmp.text = info.role_name
- local sex_res = info.sex == 1 and "com_boy" or "com_girl"
- lua_resM:setImageSprite(self, self.sex_img, "common_asset", sex_res, true)
- SetAnchoredPositionX(self.sex,self.name_tmp.preferredWidth+4)
-
-
- local lv = self.model:GetLvByIntimacy(info.intimacy)
- local cfg = Config.Intimacylv[lv]
-
- if not self.model:IsRelaviveType(self.info.role_id, Config.ConfigSocial.RelativeType.friend)
- or self.model:IsOneWayToFriend(self.info.role_id) then
- if self.op_type == 1 then
- self.heartText_tmp.text = string.format("%s(临时好友)",info.intimacy)
- self.chooseBtn_obj:SetActive(true)
- self.getFriendBtn_obj:SetActive(false)
- elseif self.op_type == 2 then
- self.heartText_tmp.text = string.format("<color=#ff203a>%s(临时好友)</color>",info.intimacy)
- self.chooseBtn_obj:SetActive(false)
- self.getFriendBtn_obj:SetActive(true)
- end
- self.sendGiftBtn_obj:SetActive(false)
- else
- if self.op_type == 1 then
- self.heartText_tmp.text = string.format("%s(%s)",info.intimacy,Trim(cfg.name))
- elseif self.op_type == 2 then
- if info.intimacy >= MateModel:GetInstance():GetKeyValueConf("mate_intimacy") then
- self.heartText_tmp.text = string.format("%s(%s)",info.intimacy,Trim(cfg.name))
- self.chooseBtn_obj:SetActive(true)
- self.sendGiftBtn_obj:SetActive(false)
- else
- self.heartText_tmp.text = string.format("<color=#ff203a>%s(%s)</color>",info.intimacy,Trim(cfg.name))
- self.chooseBtn_obj:SetActive(false)
- self.sendGiftBtn_obj:SetActive(true)
- end
- end
- self.getFriendBtn_obj:SetActive(false)
- end
- lua_resM:setImageSprite(self, self.heart_img, "sociality_asset","sociality_intimacy_"..lv,true)
-
-
-
-
- -- self.chooseBtn_obj:SetActive(self.op_type == 1)
- -- self.chooseBg_obj:SetActive(self.op_type == 2)
- end
-
- function SocialityFriendSelectItem:SetSelected(bool)
- self.is_selected = bool
- if not self.is_loaded then return end
-
- -- if self.selectBg_obj then
- -- self.selectBg_obj:SetActive(bool)
- -- end
-
- if bool then
- self.model.select_info = self.info
- end
- end
-
- function SocialityFriendSelectItem:__delete( )
- if self.roleItem then
- self.roleItem:DeleteMe()
- self.roleItem = nil
- end
- if self.vipItem then
- self.vipItem:DeleteMe()
- self.vipItem = nil
- end
- end
|