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
|
|
|
|
|