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();
}
}