using System;
|
using vnxbqy.UI;
|
|
public class PN_ShowMotion : ProcessNode
|
{
|
private bool m_BossShowFinished = false;
|
|
public PN_ShowMotion(GA_NpcClientFightNorm npc, int id)
|
{
|
m_Target = npc;
|
intParam = id;
|
}
|
|
public override void Init()
|
{
|
m_BossShowFinished = false;
|
if (m_Target.NextAction != GAStaticDefine.Act_Dead)
|
{
|
m_Target.IdleImmediate();
|
}
|
|
GA_Hero _hero = PlayerDatas.Instance.hero;
|
if (_hero != null)
|
{
|
_hero.Behaviour.StopKillUntilDieAI();
|
_hero.Behaviour.StopHandupAI();
|
_hero.IdleImmediate();
|
}
|
|
#if UNITY_EDITOR
|
if (RuntimeLogUtility.s_LogProcessInfo)
|
{
|
UnityEngine.Debug.LogFormat("开始播放动画: {0}", intParam);
|
}
|
#endif
|
|
var _actorShow = ActorShowConfig.Get(intParam);
|
BossShowModel.Instance.Start(PlayerDatas.Instance.baseData.MapID, _actorShow.NpcID);
|
BossShowModel.Instance.bossShowCompletedEvent += CompeleteEvent;
|
m_Target.isTalking = true;
|
}
|
|
private void CompeleteEvent()
|
{
|
m_BossShowFinished = true;
|
}
|
|
public override bool IsOver()
|
{
|
return m_BossShowFinished;
|
}
|
|
public override void UnInit()
|
{
|
#if UNITY_EDITOR
|
if (RuntimeLogUtility.s_LogProcessInfo)
|
{
|
UnityEngine.Debug.LogFormat("动画: {0} 播放结束", intParam);
|
}
|
#endif
|
m_Target.isTalking = false;
|
}
|
|
public override void Update()
|
{
|
}
|
}
|