2025-06-04 05:02:57 +08:00

725 lines
21 KiB
Plaintext

PetInfoView = class("PetInfoView",BaseView)
PetInfoView.ViewType = UIViewType.NormalLayer
PetInfoView.PfbPath = "View/PetDressingBord"
autoImport("PetResetSkillItemCell");
autoImport("PetInfoLabelCell");
autoImport("PetDressingBord")
local MulitiGiftIcon = "pet_icon_present"
PetInfoView.EventTip = {
adventure = ZhString.PetInfoView_Unlock_Adventure,
body = ZhString.PetInfoView_Unlock_Fashion,
equip = ZhString.PetInfoView_Unlock_Equip,
}
function PetInfoView:Init()
self:InitView();
self:MapEvent();
end
function PetInfoView:InitView()
local headGO = self:FindGO("PlayerHeadCell");
self.headIconCell = PlayerFaceCell.new(headGO);
self.headData = HeadImageData.new();
self.namelab = self:FindComponent("Name", UILabel);
self.mood_symbol = self:FindComponent("Symbol", UISprite, self:FindGO("Mood"));
self.friendly_valuelab = self:FindComponent("Value", UILabel, self:FindGO("Friendly"));
self.level_valuelab = self:FindComponent("Value", UILabel, self:FindGO("Level"));
self.friendly_slider = self:FindComponent("Friend_ExpSlider", UISlider);
self.level_slider = self:FindComponent("Level_ExpSlider", UISlider);
self.skillTipStick = self:FindComponent("SkillTipStick", UIWidget);
self.feedPetStick = self:FindComponent("FeedPetStick",UIWidget)
local table = self:FindComponent("AttriTable", UITable);
self.attriCtl = UIGridListCtrl.new(table , PetInfoLabelCell, "PetInfoLabelCell");
self.attriCtl:AddEventListener(MouseEvent.MouseClick, self.ClickSkill, self);
self.touchButton = self:FindGO("TouchButton");
self:AddClickEvent(self.touchButton, function (go)
self:DoTouch();
end);
self.giftButton = self:FindGO("GiftButton");
self:AddClickEvent(self.giftButton, function (go)
self:DoGift();
end);
self.giftSprite = self.giftButton:GetComponent(UISprite);
self.gift_num = self:FindComponent("Num", UILabel, self.giftButton);
self.playButton = self:FindGO("PlayButton");
self.playButton_Symbol = self.playButton:GetComponent(UISprite);
self.playButton_Collider = self.playButton:GetComponent(BoxCollider);
self.playButton_Lock = self:FindGO("LockTip", self.playButton);
self:AddClickEvent(self.playButton, function (go)
self:DoPlay();
end);
self.restButton = self:FindGO("RestButton");
self:AddClickEvent(self.restButton, function (go)
self:DoRest();
end);
self.resetSkillButton = self:FindGO("RestSkillButton");
self:AddClickEvent(self.resetSkillButton, function (go)
self:DoResetSkill();
end);
self.changeNameButton = self:FindGO("ChangeNameButton");
self:AddClickEvent(self.changeNameButton, function (go)
self:DoChangeName();
end);
self.petEquip1 = self:FindGO("PetEquipItem1");
self.petEquip1Cell = ItemCell.new(self.petEquip1);
self.petEquip1_add = self:FindGO("Add", self.petEquip1);
self.petEquip1_add_Symbol = self.petEquip1_add:GetComponent(UISprite);
self.petEquip1_bg = self.petEquip1:GetComponent(UIWidget);
self:AddClickEvent(self.petEquip1, function (go)
self:DoAddPetEquipItem1();
end);
self.petBody = self:FindGO("PetBody");
self.petBody_lock = self:FindGO("Lock", self.petBody);
self.petBody_locktip = self:FindComponent("LockTip", UILabel, self.petBody_lock);
self.petBody_Collider = self.petBody:GetComponent(BoxCollider);
self.petBody_bg = self:FindComponent("Background", UISprite, self.petBody);
self.petBody_Icon = self:FindComponent("Icon_Sprite", UISprite, self.petBody);
self:AddClickEvent(self.petBody, function (go)
self:DoAddPetBody();
end);
self.skillResetBord = self:FindGO("SkillResetBord");
local resetSkillGrid = self:FindComponent("ResetSkillGrid", UIGrid);
self.skillResetCtl = UIGridListCtrl.new(resetSkillGrid, PetResetSkillItemCell, "PetResetSkillItemCell");
self.skillResetCtl:AddEventListener(MouseEvent.MouseClick, self.ClickResetSkillItem, self);
self.closeComp = self.skillResetBord:GetComponent(CloseWhenClickOtherPlace);
self.closeComp.callBack = function (go)
self.skillResetBord_Show = false;
end
self.dressingBord = self:FindGO("PetDressing")
self.previewObj = self:FindGO("Preview")
end
function PetInfoView:ClickSkill(skillCell)
local skillData = skillCell.data;
if(type(skillData) == "number")then
TipManager.Instance:ShowPetSkillTip( SkillItemData.new(skillCell.data), self.skillTipStick, NGUIUtil.AnchorSide.TopLeft, {-185,0} )
end
end
function PetInfoView:ClickResetSkillItem(cell)
local data = cell.data;
if(data ~= nil)then
local itemName = data.staticData.NameZh;
if(data.id == "Reset_Grey")then
MsgManager.ShowMsgByIDTable(9012, {itemName});
else
local dont = LocalSaveProxy.Instance:GetDontShowAgain(9011)
if(dont == nil)then
MsgManager.DontAgainConfirmMsgByID(9011, function ()
FunctionPet.Me():DoResetSkill(data.staticData.id);
end, nil, nil, itemName);
else
FunctionPet.Me():DoResetSkill(data.staticData.id);
end
end
self.skillResetBord:SetActive(false);
end
end
local tempParam = {};
function PetInfoView:DoTouch()
tempParam.petid = self.petInfoData.petid;
FunctionPlayerTip.Pet_Touch(tempParam)
end
function PetInfoView:DoGift()
if Table_PetCompose[self.petInfoData.petid] then
local data =
{
petinfoData=self.petInfoData,
-- type="FeedPet",
}
TipManager.Instance:ShowFeedPetTip(data,self.feedPetStick,NGUIUtil.AnchorSide.Center,{0,0})
return
end
tempParam.petid = self.petInfoData.petid;
FunctionPlayerTip.Pet_GiveGift(tempParam)
end
function PetInfoView:DoPlay()
if(self.ishand)then
FunctionPlayerTip.Pet_CancelHug({petid = self.petInfoData.petid})
else
FunctionPlayerTip.Pet_Hug({petid = self.petInfoData.petid})
end
end
function PetInfoView:DoRest()
ServiceScenePetProxy.Instance:CallEggRestorePetCmd(self.petInfoData.petid);
self:CloseSelf();
end
function PetInfoView:DoChangeName()
self:sendNotification(UIEvent.JumpPanel, {view = PanelConfig.PetMakeNamePopUp, viewdata = {etype = 2, petid = self.petInfoData.petid}})
end
function PetInfoView.SortResetSkillItems( a, b )
if(a.id ~= b.id)then
return a.id ~= "Reset_Grey";
end
return a.staticData.id < b.staticData.id;
end
function PetInfoView:DoResetSkill()
if(self.petInfoData:IsSkillPerfect())then
MsgManager.ShowMsgByIDTable(9010);
return;
end
if(self.resetSkillItems == nil)then
self.resetSkillItems = {};
else
TableUtility.ArrayClear(self.resetSkillItems)
end
local resetSkill_Config = GameConfig.Pet.reset_skill;
for j=1,#resetSkill_Config do
local itemid = resetSkill_Config[j];
local item = BagProxy.Instance:GetItemByStaticID(itemid);
if(item == nil)then
local itemData = ItemData.new("Reset_Grey", itemid);
itemData.num = 1;
table.insert(self.resetSkillItems, itemData);
else
local itemData = ItemData.new(item.id, itemid);
itemData.num = 1;
table.insert(self.resetSkillItems, itemData);
end
end
table.sort(self.resetSkillItems, PetInfoView.SortResetSkillItems);
self.skillResetCtl:ResetDatas(self.resetSkillItems);
self.skillResetBord:SetActive(true);
end
local petEquipsSort = function (a,b)
if(a.id == "NoGet" or b.id == "NoGet")then
return a.id ~= "NoGet";
end
return a.staticData.id < b.staticData.id;
end
function PetInfoView:DoAddPetEquipItem1()
if(nil==self.petDressingBord)then
self:LoadPreferb(self.PfbPath, self.dressingBord, true)
self.petDressingBord = PetDressingBord.new(self.dressingBord,self.petInfoData)
end
self.petDressingBord:ShowBord()
-- local equip1Data = self.petInfoData:GetEquips()[1];
-- if(equip1Data)then
-- local sdata = {
-- itemdata = equip1Data,
-- ignoreBounds = {self.petEquip1_bg}
-- };
-- local itemFloatTip = self:ShowItemTip(sdata, self.petEquip1_bg, nil, {206, 208});
-- local comcell = itemFloatTip:GetCell(1);
-- comcell:AddTipFunc(ZhString.PetInfoView_Unlock_Unload, self.DoUnloadPetEquip, {self, equip1Data});
-- comcell:HideGetPath();
-- comcell:HidePreviewButton();
-- else
-- local equips = self:GetPetEquips(true);
-- table.sort(equips, petEquipsSort);
-- local equipChooseTip = TipManager.Instance:ShowEquipChooseTip(equips, self.petEquip1_bg, {84,281});
-- equipChooseTip:SetClickEvent(self.ChoosePetEquip, self);
-- equipChooseTip:Set_CheckValidFunc(self.CheckEquipValid, self);
-- equipChooseTip:AddIgnoreBounds(self.petEquip1);
-- end
end
function PetInfoView:GetPetEquips(createNoGet)
local itemids = self.petInfoData:GetCanEquipItemIds();
local equips = {};
if(itemids)then
for i=1,#itemids do
local items = BagProxy.Instance:GetItemsByStaticID(itemids[i]);
if(items)then
for j=1,#items do
table.insert(equips, items[j]);
end
else
if(createNoGet)then
local itemData = ItemData.new("NoGet", itemids[i]);
table.insert(equips, itemData);
end
end
end
end
return equips;
end
function PetInfoView.DoUnloadPetEquip(param)
local self, itemdata = param[1], param[2]
ServiceScenePetProxy.Instance:CallEquipOperPetCmd(ScenePet_pb.EPETEQUIPOPER_OFF, self.petInfoData.petid, itemdata.id);
TipManager.Instance:CloseTip();
end
function PetInfoView:DoAddPetBody()
local petid = self.petInfoData.petid;
local nowbody = self.petInfoData.body;
if(nowbody == self.petInfoData.petid)then
nowbody = 0;
end
local nowfriendlv = self.petInfoData.friendlv;
local bodyDatas = {};
local defaultBodyData = {};
defaultBodyData[1] = petid;
defaultBodyData[2] = 0;
defaultBodyData[3] = nowbody;
defaultBodyData[4] = false;
table.insert(bodyDatas, defaultBodyData);
local showBodyIds = {};
local bodyEvents = self.petInfoData:GetUnLockBodyEvents();
if(bodyEvents)then
for k,v in pairs(bodyEvents)do
local alreadyIn = false;
for i=1,#bodyDatas do
if(bodyDatas[2] == v[2])then
alreadyIn = true;
break;
end
end
if(not alreadyIn)then
local bodyData = {};
bodyData[1] = petid;
bodyData[2] = v[2];
bodyData[3] = nowbody;
bodyData[4] = nowfriendlv < v[0];
bodyData[5] = string.format(ZhString.PetInfoView_UnlockBody, v[0]);
table.insert(bodyDatas, bodyData);
end
end
end
local bodys = self.petInfoData:GetUnLockBodys();
if(bodys)then
for i=1,#bodys do
local alreadyIn = false;
for k, data in pairs(bodyDatas)do
if(data[2] == bodys[i])then
alreadyIn = true;
break;
end
end
if(not alreadyIn)then
local bodyData = {};
bodyData[1] = petid;
bodyData[2] = bodys[i];
bodyData[3] = nowbody;
bodyData[4] = false;
table.insert(bodyDatas, bodyData);
end
end
end
if(#bodyDatas == 1)then
local bodyData = {};
bodyData[1] = 0;
table.insert(bodyDatas, bodyData);
end
local fashionChooseTip = TipManager.Instance:ShowPetFashionChooseTip(bodyDatas, self.petBody_bg, NGUIUtil.AnchorSide.TopLeft, {215, 130});
fashionChooseTip:SetClickEvent(self.ChoosePetBody, self);
fashionChooseTip:AddIgnoreBounds(self.petBody);
end
function PetInfoView:CheckEquipValid(data)
if(data)then
if(self.petInfoData)then
local isvalid, unlocklv = self.petInfoData:CheckEquipIsUnlock(data.staticData.id);
if(not isvalid)then
return false, string.format(ZhString.PetInfoView_EquipUnlockTip, unlocklv);
end
end
if(data.id == "NoGet")then
return false, ZhString.PetInfoView_NoGet;
end
local myPro = MyselfProxy.Instance:GetMyProfession();
if(data.equipInfo and data.equipInfo:CanUseByProfess(myPro))then
return true, ZhString.PetInfoView_AttriNoEffect;
end
end
return true, ZhString.PetInfoView_CanEquip;
end
function PetInfoView:ChoosePetEquip(data)
if(data)then
ServiceScenePetProxy.Instance:CallEquipOperPetCmd(ScenePet_pb.EPETEQUIPOPER_ON, self.petInfoData.petid, data.id);
end
TipManager.Instance:CloseTip();
end
function PetInfoView:ChoosePetBody(data)
local petid, bodyid = data[1], data[2];
if(petid == 0)then
return;
end
if(bodyid ~= self.petInfoData.body)then
ServiceScenePetProxy.Instance:CallEquipOperPetCmd(ScenePet_pb.EPETEQUIPOPER_BODY, petid, tostring(bodyid));
TipManager.Instance:CloseTip();
end
end
local MoodSymbolMap = {
[0] = "pet_icon_02",
[1] = "pet_icon_01",
[2] = "pet_icon_03",
[3] = "pet_icon_04",
}
function PetInfoView:UpdatePetBriefInfo()
if(self.petInfoData)then
self.headData:TransByPetInfoData(self.petInfoData);
self.headIconCell:SetData(self.headData);
self.namelab.text = self.petInfoData.name;
self.friendly_valuelab.text = "Lv " .. self.petInfoData.friendlv;
self.level_valuelab.text = "Lv " .. self.petInfoData.lv;
self.friendly_slider.value = self.petInfoData:GetMyPetFriendPct();
local moodlevel = self.petInfoData:GetMoodLevel();
self.mood_symbol.spriteName = MoodSymbolMap[moodlevel];
local expslider_value = 0;
local nowlvConfig = Table_PetBaseLevel[self.petInfoData.lv + 1];
if(nowlvConfig)then
self.level_slider.value = self.petInfoData.exp/nowlvConfig.NeedExp_2;
else
self.level_slider.value = 1;
end
self:UpdateHandSymbol();
self:UpdateAtrtri();
end
end
function PetInfoView:UpdateHandSymbol()
local handFollowerId = Game.Myself:Client_GetHandInHandFollower();
self.ishand = handFollowerId~=0 and handFollowerId == self.petInfoData.guid or false;
local scenePet = PetProxy.Instance:GetMySceneNpet(petid)
self.behold = scenePet and scenePet.data:GetFeature_BeHold() or false;
if(self.ishand)then
if(self.behold)then
self.playButton_Symbol.spriteName = "pet_icon_putdown";
else
self.playButton_Symbol.spriteName = "pet_icon_hand2";
end
else
if(self.behold)then
self.playButton_Symbol.spriteName = "pet_icon_hug";
else
self.playButton_Symbol.spriteName = "pet_icon_hand";
end
end
if(self.petInfoData:CanHug())then
self.playButton_Collider.enabled = true;
self.playButton_Lock:SetActive(false);
self.playButton_Symbol.color = ColorUtil.NGUIWhite
else
self.playButton_Collider.enabled = false;
self.playButton_Lock:SetActive(true);
self.playButton_Symbol.color = ColorUtil.NGUIShaderGray
end
end
function PetInfoView:UpdatePetBody()
local unlockBodys = self.petInfoData:GetUnLockBodys();
-- if((unlockBodys and #unlockBodys>0))then
self.petBody_lock:SetActive(false);
self.petBody_Collider.enabled = true;
self.petBody_bg.color = ColorUtil.NGUIWhite;
self.petBody_Icon.color = ColorUtil.NGUIWhite;
-- else
-- self.petBody_lock:SetActive(true);
-- self.petBody_Collider.enabled = false;
-- self.petBody_bg.color = ColorUtil.NGUIShaderGray;
-- self.petBody_Icon.color = ColorUtil.NGUIShaderGray;
-- end
self.petBody_Icon.gameObject:SetActive(true);
IconManager:SetFaceIcon(self.petInfoData:GetHeadIcon(), self.petBody_Icon)
end
function PetInfoView:GetCurNpet()
if(self.petInfoData == nil)then
return;
end
return PetProxy.Instance:GetMySceneNpet(self.petInfoData.petid);
end
local PetShowAttris1 = {
"Atk","MAtk",
"Def","MDef",
}
local PetShowAttris2 = {
"Str","Int",
"Vit","Agi",
"Dex","Luk",
}
function PetInfoView:UpdateAtrtri()
local npet = self:GetCurNpet();
if(npet == nil)then
self:CloseSelf();
return;
end
local attriDatas = {};
local props = npet.data.props;
if(props)then
local hp = props.Hp:GetValue();
local maxhp = props.MaxHp:GetValue();
local hpdata = {}
hpdata[1] = PetInfoLabelCell.Type.Attri;
hpdata[2] = "Hp";
hpdata[3] = hp .. "/" .. maxhp;
table.insert(attriDatas, hpdata);
for i=1,#PetShowAttris1 do
local prop = props[ PetShowAttris1[i] ];
if(prop)then
local pdata = {};
pdata[1] = PetInfoLabelCell.Type.Attri;
pdata[2] = prop.propVO.displayName;
pdata[3] = prop:GetValue();
table.insert(attriDatas, pdata);
end
end
if(self.petInfoData.skills and #self.petInfoData.skills>0)then
local skilldatas = {};
skilldatas[1] = PetInfoLabelCell.Type.Skill;
skilldatas[2] = self.petInfoData.skills;
table.insert(attriDatas, skilldatas);
end
for i=1,#PetShowAttris2 do
local prop = props[ PetShowAttris2[i] ];
if(prop)then
local pdata = {};
pdata[1] = PetInfoLabelCell.Type.Attri;
pdata[2] = prop.propVO.displayName;
pdata[3] = prop:GetValue();
table.insert(attriDatas, pdata);
end
end
local petFriendRatio = self.petInfoData:GetPetFriendRatio() or _EmptyTable;
local friendlyEvents = self.petInfoData:GeMyPetFriendEvents();
local lastRatioValue = nil;
for i=1,10 do
for k,v in pairs(friendlyEvents)do
local level, eventkey = v[0],v[1];
if(level == i)then
local eventtip = self.EventTip[ eventkey ];
local unlocktip = {};
unlocktip[1] = PetInfoLabelCell.Type.Attri;
unlocktip[2] = string.format(ZhString.PetInfoView_UnlockTip, level, eventtip)
table.insert(attriDatas, unlocktip);
end
end
if(petFriendRatio[i] ~= 0 and petFriendRatio[i]~=lastRatioValue)then
lastRatioValue = petFriendRatio[i];
local unlocktip = {};
unlocktip[1] = PetInfoLabelCell.Type.Attri;
unlocktip[2] = string.format(ZhString.PetInfoView_Unlock_PetWort_MulTime, i, math.floor(petFriendRatio[i]*100));
table.insert(attriDatas, unlocktip);
end
end
end
self.attriCtl:ResetDatas(attriDatas);
end
function PetInfoView:UpdatePetEquips()
local equips = self.petInfoData:GetEquips();
self.petEquip1Cell:SetData(equips[1]);
local petEquips = self:GetPetEquips();
if(#petEquips > 0)then
self.petEquip1_add_Symbol.color = ColorUtil.NGUIWhite;
else
self.petEquip1_add_Symbol.color = ColorUtil.NGUIShaderGray;
end
end
function PetInfoView:UpdateGiftInfo()
local isComposePet = nil~=Table_PetCompose[self.petInfoData.petid]
if isComposePet then
self:Hide(self.gift_num)
IconManager:SetUIIcon(MulitiGiftIcon,self.giftSprite)
return
end
self:Show(self.gift_num)
local giftItems = self.petInfoData:GetGiftItems();
local itemid;
if(giftItems)then
_,itemid = next(giftItems);
end
self.gift_num.text = BagProxy.Instance:GetItemNumByStaticID(itemid) or 0;
local icon = Table_Item[itemid] and Table_Item[itemid].Icon;
if(icon)then
IconManager:SetItemIcon(icon,self.giftSprite)
end
end
function PetInfoView:UpdatePetTotalInfo()
self:UpdatePetBriefInfo();
self:UpdatePetBody();
self:UpdatePetEquips();
self:UpdateGiftInfo();
end
function PetInfoView:MapEvent()
self:AddListenEvt(ItemEvent.ItemUpdate, self.HandleItemUpdate);
self:AddListenEvt(ServiceEvent.ScenePetEquipUpdatePetCmd, self.UpdatePetEquips);
self:AddListenEvt(ServiceEvent.ScenePetPetInfoPetCmd, self.UpdatePetTotalInfo);
self:AddListenEvt(ServiceEvent.ScenePetPetInfoUpdatePetCmd, self.UpdatePetTotalInfo);
self:AddListenEvt(ServiceEvent.ScenePetUnlockNtfPetCmd, self.HandlePetUnlockNtfPetCmd);
self:AddListenEvt(ServiceEvent.ScenePetPetOffPetCmd, self.HandleScenePetPetOff);
self:AddListenEvt(ServiceEvent.ScenePetResetSkillPetCmd, self.HandleSkillReset);
self:AddListenEvt(ServiceEvent.NUserBeFollowUserCmd,self.UpdateHandSymbol);
self:AddDispatcherEvt(FunctionFollowCaptainEvent.StateChanged, self.UpdateHandSymbol);
self:AddListenEvt(SceneUserEvent.SceneRemovePets, self.HandleSceneRemovePets);
self:AddListenEvt(PetCreatureEvent.PetChangeDress, self.RecvPetChangeDress)
self:AddListenEvt(PetCreatureEvent.PetDressPreview,self.HandlePreview)
end
function PetInfoView:HandlePreview()
local previewData = FunctionPet.Me():GetPreviewData()
local result = false
for k,v in pairs(previewData) do
if nil~=k then
self:Show(self.previewObj)
return
end
end
self:Hide(self.previewObj)
end
function PetInfoView:RecvPetChangeDress(note)
local data = note.body
if data and self.petDressingBord then
self.petDressingBord:RecvPetChangeDress(data)
end
end
function PetInfoView:HandleSceneRemovePets(note)
if(self:GetCurNpet() == nil)then
self:CloseSelf();
end
end
function PetInfoView:HandleItemUpdate()
self:UpdateGiftInfo();
self:UpdatePetEquips();
end
function PetInfoView:HandleSkillReset(note)
local cells = self.attriCtl:GetCells();
if(cells)then
for i=1,#cells do
cells[i]:PlayResetEffect();
end
end
end
function PetInfoView:HandlePetUnlockNtfPetCmd(note)
self:UpdatePetEquips();
self:UpdatePetBody();
end
function PetInfoView:HandleScenePetPetOff(note)
local petid = note.body.petid;
if(petid and petid == self.petInfoData.petid)then
self:CloseSelf();
end
end
function PetInfoView:HandleSceneRemovePets(note)
local petids = note.body;
if(petids)then
for i=1,#petids do
if(petids[i] == self.petInfoData.guid)then
self:CloseSelf();
break;
end
end
end
end
function PetInfoView:OnEnter()
PetInfoView.super.OnEnter(self);
self.petInfoData = self.viewdata.viewdata.petInfoData;
if(self.petInfoData == nil)then
return;
end
local npet = self:GetCurNpet();
if(npet)then
self:CameraFaceTo(npet.assetRole.completeTransform, CameraConfig.NPC_FuncPanel_ViewPort);
end
self:UpdatePetTotalInfo();
FunctionPet.Me():SetCameraFoucus(false);
EventManager.Me():AddEventListener(MyselfEvent.Pet_HpChange, self.UpdateAtrtri, self)
end
function PetInfoView:OnExit()
EventManager.Me():RemoveEventListener(MyselfEvent.Pet_HpChange, self.UpdateAtrtri, self)
PetInfoView.super.OnExit(self);
TipManager.Instance:CloseTip();
FunctionPet.Me():SetCameraFoucus(true);
FunctionPet.Me():ClearPreviewData()
local scenePet = PetProxy.Instance:GetMySceneNpet()
if scenePet then
scenePet:ReDress()
end
self:CameraReset();
end