public void HideModel() { mVisiable = false; HideSelf(); HideBlobShadow(); HideEffect(); HideHorse(); HideWing(); HideMagic(); HideZhenFa(); List <ActorObj> pets = CoreEntry.gActorMgr.GetAllPetActors(); for (int i = 0; i < pets.Count; i++) { PetObj pet = pets[i] as PetObj; if (null != pet && pet.m_MasterServerID == serverID) { pet.HideSelf(); break; } } }
public GameObject LoadPet(MsgData_sSceneObjectEnterPet petStruct) { LuaTable petCfg = ConfigManager.Instance.HeroConfig.GetHeroConfig(petStruct.ConfigID); if (null == petCfg) { return(null); } float s = petCfg.Get <float>("scale"); Vector3 position = CommonTools.ServerPosToClient(petStruct.PosX, petStruct.PosY); Vector3 eulerAngle = CommonTools.ServerDirToClient(petStruct.Dir); Vector3 scale = new Vector3(s, s, s); if (petStruct.Job <= 0) { return(null); } int modelid = petCfg.Get <int>("model" + petStruct.Job); if (petStruct.Level > 0) { LuaTable petShengjieCfg = ConfigManager.Instance.HeroConfig.GetHeroShengjieConfig(petStruct.ConfigID * 100 + petStruct.Level); if (petShengjieCfg != null) { modelid = petShengjieCfg.Get <int>("model" + petStruct.Job); } } GameObject obj = CreateGameObject(modelid, position, eulerAngle, scale); if (obj == null) { return(null); } //obj.transform.localScale = Vector3.one; ActorObj actorObject = null; actorObject = obj.GetComponent <ActorObj>(); if (null != actorObject) { Object.DestroyImmediate(actorObject); } PlayerAgent agent = obj.GetComponent <PlayerAgent>(); if (null != agent) { agent.enabled = false; } PetObj pet = obj.AddComponent <PetObj>(); pet.Starlevel = petStruct.Level; pet.Qua = petStruct.Qua; pet.OwnName = UiUtil.GetNetString(petStruct.RoleName); pet.SetMaster(petStruct.Owner); //Debug.LogError("pet :" + petStruct.Owner + " id:" + petStruct.ConfigID); pet.Init(modelid, petStruct.ConfigID, petStruct.Guid); pet.ServerID = petStruct.Guid; pet.InitSpeed(CommonTools.ServerValueToClient(petStruct.Speed)); CoreEntry.gActorMgr.AddActorObj(pet); //宠物创建时,需要检查主人的显示隐藏属性 if (pet.m_MasterActor && !pet.m_MasterActor.Visiable) { pet.HideSelf(); } //ActorObj owner = CoreEntry.gActorMgr.GetPlayerActorByServerID(petStruct.Owner); //if (null != owner) //{ // if (owner.mActorType == ActorType.AT_LOCAL_PLAYER) // { // pet.ChangeWeapon(PlayerData.Instance.GetWeaponModelID()); // } // else // { // MsgData_sSceneObjectEnterHuman ownerData = CoreEntry.gSceneObjMgr.GetEntityData(petStruct.Owner) as MsgData_sSceneObjectEnterHuman; // if (null != ownerData) // { // pet.ChangeWeapon(GetWeaponModelID(ownerData.FashionState == 0 ? ownerData.FashionWeapon : 0, ownerData.ShenBin, ownerData.Weapon, ownerData.Prof)); // } // } //} return(obj); }