150 lines
3.9 KiB
Plaintext
150 lines
3.9 KiB
Plaintext
PetMakeNamePopUp = class("PetMakeNamePopUp", BaseView);
|
|
|
|
PetMakeNamePopUp.ViewType = UIViewType.PopUpLayer
|
|
|
|
function PetMakeNamePopUp:Init()
|
|
self:InitUI();
|
|
end
|
|
|
|
function PetMakeNamePopUp:InitUI()
|
|
|
|
|
|
self.nameInput = self:FindComponent("NameInput", UIInput);
|
|
local limitNum = GameConfig.Pet and GameConfig.Pet.petname_max or 8;
|
|
self.nameInput.characterLimit = limitNum;
|
|
|
|
self.confirmButton = self:FindGO("ConfirmButton");
|
|
self.modelContainer = self:FindGO("ModelContainer");
|
|
|
|
local closeButton = self:FindGO("CloseButton");
|
|
self.cancel_label = self:FindComponent("Label", UILabel, closeButton);
|
|
self.confirm_label = self:FindComponent("Label", UILabel, self.confirmButton);
|
|
|
|
self.changeRq = self.modelContainer:GetComponent(ChangeRqByTex);
|
|
|
|
self.filterType = FunctionMaskWord.MaskWordType.SpecialSymbol | FunctionMaskWord.MaskWordType.Chat
|
|
|
|
self:AddClickEvent(self.confirmButton, function (go)
|
|
self:DoHatch();
|
|
end);
|
|
end
|
|
|
|
function PetMakeNamePopUp:DoHatch()
|
|
local petInfoData = PetProxy.Instance:GetMyPetInfoData()
|
|
|
|
if(self.etype == 1)then
|
|
if(petInfoData ~= nil)then
|
|
MsgManager.ShowMsgByIDTable(9003)
|
|
return;
|
|
end
|
|
|
|
local nameValue = self.nameInput.value;
|
|
if(nameValue ~= "")then
|
|
if( FunctionMaskWord.Me():CheckMaskWord(nameValue, self.filterType) )then
|
|
MsgManager.ShowMsgByIDTable(1005);
|
|
return;
|
|
end
|
|
|
|
local id = self.item.id;
|
|
if(id == "Fake")then
|
|
local item = FunctionPet.Me():GetNewestEgg(self.item.staticData.id)
|
|
id = item.id;
|
|
end
|
|
helplog("Hatch", id);
|
|
ServiceScenePetProxy.Instance:CallEggHatchPetCmd(nameValue, id);
|
|
self:CloseSelf();
|
|
else
|
|
MsgManager.ShowMsgByIDTable(1006);
|
|
end
|
|
elseif(self.etype == 2)then
|
|
if(petInfoData == nil)then
|
|
MsgManager.ShowMsgByIDTable(9003)
|
|
return;
|
|
end
|
|
|
|
local nameValue = self.nameInput.value;
|
|
if(nameValue ~= "")then
|
|
if( FunctionMaskWord.Me():CheckMaskWord(nameValue, self.filterType) )then
|
|
MsgManager.ShowMsgByIDTable(1005);
|
|
return;
|
|
end
|
|
|
|
ServiceScenePetProxy.Instance:CallChangeNamePetCmd(petInfoData.petid, nameValue)
|
|
self:CloseSelf();
|
|
else
|
|
MsgManager.ShowMsgByIDTable(1006);
|
|
end
|
|
end
|
|
end
|
|
|
|
function PetMakeNamePopUp:UpdateView()
|
|
helplog("PetMakeNamePopUp UpdateView", self.etype);
|
|
local petid;
|
|
if(self.etype == 1)then
|
|
local item = self.item;
|
|
petid = item and item.petEggInfo and item.petEggInfo.petid;
|
|
if(petid == nil)then
|
|
local petData = PetProxy.Instance:GetPetDataByEggID(item.staticData.id);
|
|
if(petData)then
|
|
petid = petData.id;
|
|
end
|
|
end
|
|
|
|
self.cancel_label.text = ZhString.PetMakeNamePopUp_PutInBag;
|
|
self.confirm_label.text = ZhString.PetMakeNamePopUp_Hatch;
|
|
elseif(self.etype == 2)then
|
|
petid = self.petid;
|
|
|
|
self.cancel_label.text = ZhString.PetMakeNamePopUp_Cancle;
|
|
self.confirm_label.text = ZhString.PetMakeNamePopUp_Confirm;
|
|
|
|
end
|
|
self:UpdateModel(petid);
|
|
end
|
|
|
|
function PetMakeNamePopUp:UpdateModel(petid)
|
|
helplog("UpdateModel", petid);
|
|
if(petid and petid ~= 0)then
|
|
self.model = Asset_RoleUtility.CreateMonsterRole( petid );
|
|
self.model:SetParent(self.modelContainer.transform);
|
|
self.model:SetLayer(RO.Config.Layer.UI.Value);
|
|
|
|
local monsterData = Table_Monster[petid];
|
|
local scale = monsterData.Scale or 1;
|
|
self.model:SetScale(scale);
|
|
|
|
self.model:SetPosition(LuaGeometry.Const_V3_zero);
|
|
self.model:SetEulerAngles(LuaGeometry.Const_Qua_identity);
|
|
|
|
self.model:RegisterWeakObserver(self);
|
|
self.model:PlayAction_Idle();
|
|
self.model:SetShadowEnable(false);
|
|
end
|
|
end
|
|
|
|
function PetMakeNamePopUp:OnEnter()
|
|
PetMakeNamePopUp.super.OnEnter(self);
|
|
|
|
local viewdata = self.viewdata.viewdata;
|
|
self.etype = viewdata.etype;
|
|
self.item = viewdata.item;
|
|
self.petid = viewdata.petid;
|
|
|
|
self:UpdateView();
|
|
end
|
|
|
|
function PetMakeNamePopUp:ObserverDestroyed(model)
|
|
if(model~=nil and model == self.model)then
|
|
self.model:SetParent(nil);
|
|
self.model = nil;
|
|
end
|
|
end
|
|
|
|
function PetMakeNamePopUp:OnExit()
|
|
if(self.model)then
|
|
self.model:Destroy();
|
|
self.model = nil;
|
|
end
|
|
|
|
PetMakeNamePopUp.super.OnExit(self);
|
|
end |