|
|
- CSMainExploitRankTopItem = CSMainExploitRankTopItem or BaseClass(BaseItem)
- local CSMainExploitRankTopItem = CSMainExploitRankTopItem
-
- function CSMainExploitRankTopItem:__init()
- self.base_file = "csMain"
- self.layout_file = "CSMainExploitRankTopItem"
- self.model = CSMainModel:getInstance()
-
- self:Load()
- end
-
- function CSMainExploitRankTopItem:Load_callback()
- self.nodes = {
- "bg:img", "headCon:obj", "rankIcon:img", "none:obj",
- "name:tmp", "vipCon", "worshipBtn:obj:img", "worshipBtn/worshipRed:obj",
- }
- self:GetChildren(self.nodes)
-
- self.vipItem = RoleVipItem.New(self.vipCon)
- self.roleItem = HeadRoleItem.New(self.headCon)
- self.roleItem:SetItemSize(75,75)
-
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function CSMainExploitRankTopItem:AddEvents( )
- local on_click = function ( click_obj )
- if self.worshipBtn_obj == click_obj then
- if self.data then
- local click_worship_role = self.model:GetCSMainClickWorshipRole()
- -- local can_worship = self.model:CanPlayerWorship(self.data.role_id)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60309,self.data.role_id)
- else
- Message.show("不可膜拜")
- end
- end
- end
- AddClickEvent(self.worshipBtn_obj, on_click)
-
- --60309 膜拜后刷新状态
- local function on_update_worship(vo)
- if self.is_loaded then
- self:UpdateView()
- end
- end
- self:BindEvent(self.model, CSMainConst.UPDATE_WORSHIP_STATE, on_update_worship)
- end
-
- function CSMainExploitRankTopItem:UpdateView( )
- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetCSMainImage("cs_main_top_bg_"..self.index), true)
- lua_resM:setImageSprite(self, self.rankIcon_img, "csMain_asset","cs_main_rank_"..self.index, true)
-
- self.worshipBtn_obj:SetActive(self.is_my_contray)
- if self.data then
- self.none_obj:SetActive(false)
- self.headCon_obj:SetActive(true)
- self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type)
- if self.data.vip_flag > 0 then
- SetAnchoredPositionX(self.name, 15)
- SetAnchoredPositionX(self.vipCon, 15-self.name_tmp.preferredWidth)
- else
- SetAnchoredPositionX(self.name, 0)
- end
- if self.index == 1 then
- self.name_tmp.text = string.format("<#fdffc2>%s</color>",GetCSLongName(self.data.name,self.data.ser_num))
- else
- self.name_tmp.text = string.format("<#ffffff>%s</color>",GetCSLongName(self.data.name,self.data.ser_num))
- end
-
- SetAnchoredPositionX(self.vipCon, 15-self.name_tmp.preferredWidth/2-15-8)
-
- local head_data = {
- vo = {
- id=self.data.rid,
- career=self.data.career,
- level=self.data.level,
- sex=self.data.sex,
- turn=self.data.turn,
- dress_board_id = self.data.dress_board or self.data.dress_id,
- picture_ver = self.data.picture_ver,
- picture = self.data.picture,
- profile_photo_id = self.data.profile_photo_id,
- },
- }
- self.roleItem:SetData(head_data)
-
- local can_worship = self.model:CanPlayerWorship(self.data.role_id)
- if can_worship then --可以膜拜
- SetImageGray(self.worshipBtn_img, false)
- self.worshipRed_obj:SetActive(true)
- else
- SetImageGray(self.worshipBtn_img, true)
- self.worshipRed_obj:SetActive(false)
- end
- else
- self.vipItem:SetData(0, 0)
- self.none_obj:SetActive(true)
- self.headCon_obj:SetActive(false)
- SetAnchoredPositionX(self.name, 0)
- self.name_tmp.text = self.index == 1 and "<#fdffc2>虚位以待</color>" or "<#ffffff>虚位以待</color>"
- SetImageGray(self.worshipBtn_img, true)
- self.worshipRed_obj:SetActive(false)
- end
-
- SetAnchoredPosition(self.bg,CSMainConst.ExploitTopItemPos[self.index].bg_x,CSMainConst.ExploitTopItemPos[self.index].bg_y)
- local rank_scale = CSMainConst.ExploitTopItemPos[self.index].rank_scale
- SetLocalScale(self.rankIcon,rank_scale,rank_scale,rank_scale)
- SetAnchoredPosition(self.rankIcon,CSMainConst.ExploitTopItemPos[self.index].rank_x,CSMainConst.ExploitTopItemPos[self.index].rank_y)
- local head_scale = CSMainConst.ExploitTopItemPos[self.index].head_scale
- SetLocalScale(self.headCon,head_scale,head_scale,head_scale)
- SetLocalScale(self.none,head_scale,head_scale,head_scale)
- SetAnchoredPosition(self.headCon,CSMainConst.ExploitTopItemPos[self.index].head_x,CSMainConst.ExploitTopItemPos[self.index].head_y)
- SetAnchoredPosition(self.none,CSMainConst.ExploitTopItemPos[self.index].head_x,CSMainConst.ExploitTopItemPos[self.index].head_y)
- SetAnchoredPositionY(self.name,CSMainConst.ExploitTopItemPos[self.index].name_y)
- SetAnchoredPositionY(self.vipCon,CSMainConst.ExploitTopItemPos[self.index].name_y)
-
-
-
-
- end
-
- function CSMainExploitRankTopItem:SetData( data,index,is_my_contray )
- self.data = data
- self.index = index
- self.is_my_contray = is_my_contray
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function CSMainExploitRankTopItem:__delete( )
- if self.vipItem then
- self.vipItem:DeleteMe()
- self.vipItem = nil
- end
- if self.roleItem then
- self.roleItem:DeleteMe()
- self.roleItem = nil
- end
- end
|