|
|
- PetShareLookView = PetShareLookView or BaseClass(BaseView)
- local PetShareLookView = PetShareLookView
-
- function PetShareLookView:__init()
- self.base_file = "pet"
- self.layout_file = "PetShareLookView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
- self.change_scene_close = true
- self.hide_maincancas = true
- -- self.append_to_ctl_queue = true --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.is_set_zdepth = true
- self.click_bg_toClose = false
- self.close_fog = true
- self.click_bg_toClose = true
-
- self.blur_activity_bg = true
- -- self.use_show_anim = true
- -- self.use_hide_anim = true
-
- self.model = PetModel:getInstance()
-
- self.skill_item_list = {}
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- --16311
- function PetShareLookView:Open(vo)
- self.data = vo
- self.data.pet_stage = math.ceil((vo.pet_star-0.5)/5)
- BaseView.Open(self)
- end
-
- function PetShareLookView:LoadSuccess()
- local nodes = {
- "modelCon",
- "sexFlag:img",
- "raceIcon:img",
- "skillCon",
- "attrScrollView/Viewport/Content", "attrScrollView",
- "playerHeadCon",
- "playerVipCon",
- "petName:tmp",
- "petPower:txt",
- "playerPower:tmp",
- "playerName:tmp",
- "petPowerLabel",
- }
- self:GetChildren(nodes)
-
- local close_callback = function()
- self:Close()
- end
- self.tabWindowComponent = UITabWindow.New(self.transform, nil, nil, close_callback, self.background_wnd,
- self.transform,UITabWindow.SizeSmallNoTab,nil,nil,nil)
- self.tabWindowComponent:SetBackgroundRes("pet_share_look_bg")
- self.tabWindowComponent:SetTitleText("宠物分享")
-
- -- local function bg_back_func( ... )
- -- if self.background_wnd and self.background_wnd:GetComponent("RawImageExtend") then
- -- self:MoveUIToBack(self.background_wnd:GetComponent("RawImageExtend"))
- -- end
- -- self:MoveUIToBack(self.tabWindowComponent.win_bg)
- -- end
- -- if self.background_wnd then
- -- bg_back_func()
- -- else
- -- self.bg_back_func = bg_back_func
- -- end
-
- self.star = {}--星级
- for i=1,5 do
- self.star[i] = self:GetChild("starCon/star"..i):GetComponent("Image")
- end
-
- self.roleItem = HeadRoleItem.New(self.playerHeadCon)
- self.roleItem:SetItemSize(84,84)
-
- self.vipItem = RoleVipItem.New(self.playerVipCon)
- end
-
- function PetShareLookView:AddEvent()
-
-
- end
-
- function PetShareLookView:OpenSuccess()
- local pet_cfg = self.model:GetPetCfg(self.data.pet_id, self.data.pet_star)
-
- --星级
- local max_star = self.model:GetMaxStarInStage(self.data.pet_id,self.data.pet_star)
- local show_star = self.model:GetNowShowPetStar(self.data.pet_star)
- for i=1,show_star do
- lua_resM:setImageSprite(self, self.star[i], "pet_asset", PetConst.stage_message[self.data.pet_stage].star_res,true)
- self.star[i].gameObject:SetActive(true)
- end
- for i=show_star+1,max_star do
- self.star[i].gameObject:SetActive(false)
- end
-
- --名字
- self.petName_tmp.text = Trim(pet_cfg.pet_name)
- SetAnchoredPositionX(self.raceIcon,-176-self.petName_tmp.preferredWidth/2-20)
-
- --种族
- lua_resM:setImageSprite(self, self.raceIcon_img, "pet_asset", "pet_race_"..pet_cfg.pet_race,true)
-
- --战力
- self.petPower_txt.text = self.data.pet_power
- SetAnchoredPositionX(self.petPowerLabel,265-self.petPower_txt.preferredWidth/2-56)
-
- --属性栏 先把data转换为我们可用的data
- local attr_data = {}
- for i,v in ipairs(self.data.attr_list) do
- attr_data[i] = {v.attr_id,v.attr_value}
- end
-
- self:UpdateAttrList(attr_data)
-
- --技能栏
- self:UpdateSkillList()
-
- --宠物模型展示
- local res_data = {
- layer_name = "Activity",
- father_node = self,
- transform = self.modelCon,
- fashion_type = FuncOpenModel.TypeId.Pet,
- figure_id = pet_cfg.figure_id,
- position = Vector3(0,-160,-500),
- ui_model_type = UIModelCommon.ModelType.Model,
- }
- FuncOpenModel:getInstance():SetModelRes(res_data)
-
- --玩家数据
- local head_data = {
- vo = {
- id = self.data.role_id,
- server_id = self.data.ser_id,
- career = self.data.career,
- sex = self.data.sex,
- turn = self.data.turn,
- picture_ver = self.data.picture_ver,
- picture = self.data.picture,
- profile_photo_id = self.data.profile_photo_id,
- dress_board_id = self.data.dress_id,
- level = self.data.level,
- }
- }
- self.roleItem:SetData(head_data)
- self.playerName_tmp.text = self.data.name
- self.playerPower_tmp.text = self.data.fighting
- self.vipItem:SetData(self.data.vip_flag,self.data.sup_vip_type)
- if self.data.sex==1 then
- lua_resM:setImageSprite(self,self.sexFlag_img,"common_asset","com_boy",true)
- elseif self.data.sex==2 then
- lua_resM:setImageSprite(self,self.sexFlag_img,"common_asset","com_girl",true)
- end
- SetAnchoredPositionX(self.sexFlag,870+self.playerName_tmp.preferredWidth+3)
-
- end
-
- function PetShareLookView:UpdateAttrList(attr_list)
- if not self.attr_list_com then
- self.attr_list_com = self:AddUIComponent(UI.ItemListCreator)
- end
- local info = {
- data_list = attr_list,
- item_con = self.Content,
- item_class = PetShareAttrItem,
- -- item_width = 193,
- item_height = 49,
- space_x = -7,
- space_y = 0,
- start_x = 1,
- start_y = 0,
- scroll_view = self.attrScrollView,
- create_frequency = 0.01,
- on_update_item = function(item, i, v)
- item:SetData(i,v,true)
- end,
- }
- self.attr_list_com:UpdateItems(info)
- end
-
- function PetShareLookView:UpdateSkillList( )
- local skill_table = {}
- for i=1,4 do
- local data = self.model:GetPetSkillCfg(self.data.pet_id,i,self.data.is_awaken==1)--通过id和槽位获取技能配置
- if data then
- table.insert(skill_table,data)
- end
- end
-
- for k,v in pairs(self.skill_item_list) do
- v:SetVisible(false)
- end
- for i,v in ipairs(skill_table) do
- local item = self.skill_item_list[i]
- if not item then
- item = PetShareSkillItem.New(self.skillCon)
- self.skill_item_list[i] = item
- end
- item:SetVisible(true)
- item:SetData(v,self.data.pet_id,self.data)
- item:SetPosition(21+82*(i-1),12)
- end
- end
-
- function PetShareLookView:DestroySuccess( )
- if self.roleItem then
- self.roleItem:DeleteMe()
- self.roleItem = nil
- end
-
- if self.vipItem then
- self.vipItem:DeleteMe()
- self.vipItem = nil
- end
-
- for i, v in ipairs(self.skill_item_list) do
- v:DeleteMe()
- end
- self.skill_item_list = {}
-
- if self.tabWindowComponent then
- self.tabWindowComponent:DeleteMe()
- self.tabWindowComponent = nil
- end
- end
-
-
|