using Snxxz.UI; using UnityEngine; public class GA_Pet : GActorNpcFight { private H0435_tagPetAppear m_H0435; private HeadUpName m_HeadUpName; protected override void OnInit(GameNetPackBasic package) { base.OnInit(package); m_H0435 = package as H0435_tagPetAppear; if (m_H0435 == null) { return; } ActorInfo.moveSpeed = 1; ActorInfo.ownerSID = m_H0435.PlayerID; ActorInfo.serverBornPos = new Vector2(m_H0435.PosX, m_H0435.PosY); AdjustPos((ushort)m_H0435.PosX, (ushort)m_H0435.PosY); GActor _parent = GAMgr.Instance.GetBySID(m_H0435.PlayerID); if (_parent != null) { ActorInfo.moveSpeed = _parent.ActorInfo.moveSpeed; } } protected sealed override void OnAfterInit() { uint _parentSID = ServerInstID / 10; if (_parentSID != PlayerDatas.Instance.PlayerId) { GA_Player _player = GAMgr.Instance.GetBySID(_parentSID) as GA_Player; if (_player != null) { if (!_player.ShowOrHide) { ShowOrHideModel(false); } } } } protected sealed override void OnUnit() { base.OnUnit(); } public sealed override void RequestLifeBar() { } public sealed override void ReleaseLifeBar() { } public sealed override void RefreshLifeBar(uint value) { //#if UNITY_EDITOR // UnityEditor.EditorApplication.isPaused = true; // UnityEngine.Debug.LogFormat("异常的宠物刷新血量逻辑, 速速 @朝黄 ."); // UnityEngine.Debug.LogWarningFormat("异常的宠物刷新血量逻辑, 速速 @朝黄 ."); // UnityEngine.Debug.LogErrorFormat("异常的宠物刷新血量逻辑, 速速 @朝黄 ."); //#endif } public sealed override void RequestName() { } public sealed override void ReleaseName() { } public sealed override void RequestDialogueBubble() { // 非自己的宠物出现不BB if (ActorInfo.ownerSID != PlayerDatas.Instance.PlayerId) { return; } // 否则有出现BB逻辑 if (m_DialogAppear) { NPCDialogueBubble.Recyle(m_DialogAppear); } } protected override void UpdateTimeDialogueBubble() { // 瞎BB逻辑 if (Time.realtimeSinceStartup - m_LastTalkTime > 5) { if (m_DialogTiming != null) { NPCDialogueBubble.Recyle(m_DialogTiming); } m_DialogTiming = NPCDialogueBubble.TimingShow(NpcConfig.NPCID, MP_Name, CameraController.Instance.CameraObject); m_LastTalkTime = Time.realtimeSinceStartup; } } protected sealed override void OnUpdate() { } protected sealed override void OnLateUpdate() { } protected sealed override void OnFixedUpdate() { // 非自己的宠物出现不BB if (ActorInfo.ownerSID != PlayerDatas.Instance.PlayerId) { return; } // 宠物瞎BB逻辑 if (Time.realtimeSinceStartup - m_LastTalkTime > 5) { if (m_DialogTiming != null) { NPCDialogueBubble.Recyle(m_DialogTiming); } m_DialogTiming = NPCDialogueBubble.TimingShow(NpcConfig.NPCID, MP_Name, CameraController.Instance.CameraObject); m_LastTalkTime = Time.realtimeSinceStartup; } } public sealed override bool CanAtked() { return false; } public sealed override bool CanAtkedRotate() { return false; } public sealed override bool CanPushedBack() { return false; } public sealed override bool CanHurted() { return false; } public sealed override bool CanDieFly() { return false; } public sealed override bool CanBeSelected() { return false; } public sealed override void OnSelect() { throw new System.NotImplementedException(); } public sealed override void OnUnSelect() { throw new System.NotImplementedException(); } public sealed override void OnClick() { throw new System.NotImplementedException(); } }