| | |
| | | GA_Hero.s_MapSwitching = true; |
| | | } |
| | | |
| | | ClientSceneManager.Instance.ExitClientFightMode(); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | public override void Update() |
| | | { |
| | | if (m_InShow) |
| | | if (m_Owner.isTalking) |
| | | { |
| | | return; |
| | | } |
| | |
| | | |
| | | public override void Update() |
| | | { |
| | | if (m_Owner.isTalking) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | // ai休眠时间 |
| | | if (Time.realtimeSinceStartup - m_LastThinkTime > m_SleepTime) |
| | | { |
| | |
| | | { |
| | | public override void Init() |
| | | { |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("恢复自动AI状态"); |
| | | #endif |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | public sealed override void Init() |
| | | { |
| | | m_Target.OnAttacked += OnBeAttacked; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("开始计算被攻击次数"); |
| | | #endif |
| | | } |
| | | |
| | | private void OnBeAttacked() |
| | | { |
| | | m_BeAttackCount += 1; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("被攻击次数: {0}", m_BeAttackCount); |
| | | #endif |
| | | } |
| | | |
| | | public sealed override bool IsOver() |
| | |
| | | public sealed override void UnInit() |
| | | { |
| | | m_Target.OnAttacked -= OnBeAttacked; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("被攻击检测节点结束"); |
| | | #endif |
| | | } |
| | | |
| | | public sealed override void Update() |
| | |
| | | public sealed override void Init() |
| | | { |
| | | m_Target.lockSkillID = param; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("进入释放技能: {0} 节点", param); |
| | | #endif |
| | | } |
| | | |
| | | public sealed override bool IsOver() |
| | |
| | | public sealed override void UnInit() |
| | | { |
| | | m_Target.lockSkillID = -1; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("{0} 技能释放结束", param); |
| | | #endif |
| | | } |
| | | |
| | | public sealed override void Update() |
| | |
| | | public override void Init() |
| | | { |
| | | m_Target.lockCommonAtk = true; |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("开始锁定普攻"); |
| | | #endif |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | |
| | | public override void Init() |
| | | { |
| | | m_Target.ActorInfo.serverDie = true; |
| | | GAMgr.Instance.ServerDie(m_Target.ServerInstID); |
| | | GAMgr.Instance.Release(m_Target); |
| | | m_Target.Die(); |
| | | GAMgr.Instance.DoDelayDie(m_Target); |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("强制对象死亡"); |
| | | #endif |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | |
| | | public override void Init() |
| | | { |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("开始等待血量下降到: {0}", m_Target.ActorInfo.RealMaxHp * m_Per); |
| | | #endif |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | |
| | | public override void UnInit() |
| | | { |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("血量下降到: {0} 了", m_Target.ActorInfo.RealHp); |
| | | #endif |
| | | } |
| | | |
| | | public override void Update() |
| | |
| | | } |
| | | public override void Init() |
| | | { |
| | | m_Target.LockHp(param * Constants.F_BETA); |
| | | if (param <= 0) |
| | | { |
| | | m_Target.LockHp(0); |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("解除锁定血量"); |
| | | #endif |
| | | } |
| | | else |
| | | { |
| | | m_Target.LockHp(param * Constants.F_BETA); |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("开始锁定血量: {0}", param * Constants.F_BETA); |
| | | #endif |
| | | } |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | #if UNITY_EDITOR |
| | | Debug.LogFormat("开始对话: {0}", param); |
| | | #endif |
| | | m_Target.isTalking = true; |
| | | } |
| | | |
| | | private void DialogFinish() |
| | |
| | | |
| | | public sealed override void UnInit() |
| | | { |
| | | m_Target.isTalking = false; |
| | | } |
| | | |
| | | public sealed override void Update() |
| | |
| | | _hero.Behaviour.StopHandupAI(); |
| | | _hero.IdleImmediate(); |
| | | } |
| | | |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("开始播放动画: {0}", param); |
| | | #endif |
| | | |
| | | m_Target.isTalking = true; |
| | | } |
| | | |
| | | public override bool IsOver() |
| | |
| | | |
| | | public override void UnInit() |
| | | { |
| | | #if UNITY_EDITOR |
| | | UnityEngine.Debug.LogFormat("动画: {0} 播放结束", param); |
| | | #endif |
| | | m_Target.isTalking = false; |
| | | } |
| | | |
| | | public override void Update() |
| File was renamed from Fight/Actor/AI/Process/ProcessManager.cs.cs |
| | |
| | | private Queue<ProcessNode> m_NodeQueue = new Queue<ProcessNode>(); |
| | | private ProcessNode m_Current; |
| | | |
| | | public void UnLoad() |
| | | { |
| | | m_Current = null; |
| | | foreach (var _node in m_NodeQueue) |
| | | { |
| | | _node.UnInit(); |
| | | } |
| | | m_NodeQueue.Clear(); |
| | | |
| | | } |
| | | |
| | | public void Load(GA_NpcClientFightNorm npc) |
| | | { |
| | | m_NodeQueue.Clear(); |
| | |
| | | if (_node.IsOver()) |
| | | { |
| | | _node.UnInit(); |
| | | |
| | | m_NodeQueue.Dequeue(); |
| | | } |
| | | } |
| File was renamed from Fight/Actor/AI/Process/ProcessManager.cs.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: bc619663298bfa443bcd0facb86a84ed |
| | | timeCreated: 1555593845 |
| | | guid: 47f5e4702055fa647924fcf7645c5d72 |
| | | timeCreated: 1555740004 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | lockSkillID = -1; |
| | | } |
| | | |
| | | public bool isTalking = false; |
| | | |
| | | private HeadUpName m_HeadUpName; |
| | | private LifeBar m_LifeBar; |
| | | |
| | |
| | | // 战斗类型的怪物随机朝向 |
| | | Rotation = Quaternion.Euler(0, UnityEngine.Random.Range(0, 360), 0); |
| | | |
| | | m_ProcessManager = new ProcessManager(); |
| | | m_ProcessManager.Load(this); |
| | | |
| | | if (NpcConfig.AIType == 1) |
| | | { |
| | | m_AIHandler = new AI_Npc_200(this, BornPos); |
| | |
| | | m_NPCInteractProcessor = null; |
| | | } |
| | | |
| | | if (m_ProcessManager != null) |
| | | { |
| | | m_ProcessManager.UnLoad(); |
| | | } |
| | | |
| | | if (m_AIHandler != null) |
| | | { |
| | | m_AIHandler.UnInit(); |
| | |
| | | return; |
| | | } |
| | | |
| | | if (m_ProcessManager != null) |
| | | { |
| | | m_ProcessManager.Update(); |
| | | } |
| | | |
| | | if (m_AIHandler != null) |
| | | { |
| | | m_AIHandler.Update(); |
| | |
| | | {
|
| | | _needHide = false;
|
| | | }
|
| | | else
|
| | | {
|
| | | _needHide = true;
|
| | | }
|
| | | }
|
| | |
|
| | | // 这里针对指定的NPC特殊矫正位置
|
| | |
| | | GameNetSystem.Instance.SendInfo(_a225); |
| | | } |
| | | } |
| | | |
| | | public void ExitClientFightMode() |
| | | { |
| | | CA225_tagCMClientTaskCount _a225 = new CA225_tagCMClientTaskCount |
| | | { |
| | | CountID = 10000 |
| | | }; |
| | | GameNetSystem.Instance.SendInfo(_a225); |
| | | } |
| | | } |