public void ChangeSecondPet(string petName, float keepTime) { if (!m_SecondPetName.Equals(keepTime)) { m_SecondPetDuration = keepTime; ResetSecondPet(); } else { m_SecondPetDuration = Mathf.Max(keepTime, m_SecondPetDuration); } m_SecondPetTime = 0; m_SecondPetGo = Global.gApp.gResMgr.InstantiateObj("Prefabs/Pet/" + petName); m_SecondPetGo.transform.SetParent(Global.gApp.gRoleNode.transform, false); m_SecondPet = m_SecondPetGo.GetComponent <BasePet>(); if (m_SecondPetGo.GetComponent <BlinkTools>()) { m_SecondPetGo.GetComponent <BlinkTools>().SetStartTime(m_SecondPetDuration - 3); } else { m_SecondPetGo.AddComponent <BlinkTools>().SetStartTime(m_SecondPetDuration - 3); } m_SecondPet.Init(m_PlayerGo, ++m_Guid); m_ChangeSecondPet = true; }
public void ChangePet(string petName) { if (petName != null && !petName.Equals(GameConstVal.EmepyStr)) { m_PlayerGo.AddComponent <DelayCallBack>().SetAction(() => { m_FirstPetGo = Global.gApp.gResMgr.InstantiateObj("Prefabs/Pet/" + petName); m_FirstPetGo.transform.SetParent(Global.gApp.gRoleNode.transform, false); m_FirstPet = m_FirstPetGo.GetComponent <BasePet>(); m_FirstPet.Init(m_PlayerGo, ++m_Guid); }, 0.1f, true); } }