From 8233d77d2f7cf4034c94049756d98615774f3f14 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Tue, 24 Nov 2020 18:09:08 +0800
Subject: [PATCH] 新增buff  玉米精灵蓄力时间减少 玉米精灵强化子弹蓄力,瞄准 修复了购买按钮文字显示出错问题

---
 Assets/Scripts/TowerDefense/Agents/Agent.cs |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 1 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Agents/Agent.cs b/Assets/Scripts/TowerDefense/Agents/Agent.cs
index 211683a..5ecad13 100644
--- a/Assets/Scripts/TowerDefense/Agents/Agent.cs
+++ b/Assets/Scripts/TowerDefense/Agents/Agent.cs
@@ -291,6 +291,38 @@
         private string paramName = "AgentActionState";
 
         /// <summary>
+        /// 外部赋值,唯一标识一个代理
+        /// </summary>
+        public int Id { get; set; }
+
+        private Tween repelTween;
+
+        /// <summary>
+        /// 击退距离
+        /// </summary>
+        protected float repelDistance { get; set; } = 7f;
+
+        /// <summary>
+        /// 击退时间间隔
+        /// </summary>
+        protected float repelTime { get; set; } = 0.5f;
+
+        /// <summary>
+        /// 是否受到木属性强化子弹攻击
+        /// </summary>
+        public bool IsEnhancedBulletAttack { get; set; }
+
+        /// <summary>
+        /// 木属性精灵瞄准小怪特效
+        /// </summary>
+        public ParticleSystem WoodAimEffect;
+
+        /// <summary>
+        /// 有几个木属性精灵瞄准了Agent
+        /// </summary>
+        public int WoodAimCount { get; set; }
+
+        /// <summary>
         /// 更新怪物的移动速度。
         /// </summary>
         /// <param name="fscale"></param>
@@ -450,6 +482,26 @@
             return true;
         }
 
+        /// <summary>
+        /// Agent被击退
+        /// </summary>
+        public void AgentBeRepelled()
+        {
+            CanMove = false;
+
+            if (repelTween != null)
+                repelTween.Kill();
+
+            Node StartingNodeList = EndlessLevelManager.instance.StartingNodeList[waveLineID];
+            repelTween = transform.DOMoveZ(Mathf.Min(StartingNodeList.transform.position.z, transform.position.z + repelDistance), repelTime);
+            repelTween.onComplete = RepelCompleted;
+        }
+
+        private void RepelCompleted()
+        {
+            CanMove = true;
+            repelTween = null;
+        }
 
         /// <summary>
         /// Stops the navMeshAgent and attempts to return to pool
@@ -497,12 +549,22 @@
             configuration.ClearShieldWall();
 
             StopFrostParticle();
+
+            if (WoodAimCount > 0)
+                WoodAimCount = 0;
+            WoodAimEffect.Stop();
+            WoodAimEffect.Clear();
             //this.SetTargetableMatColor(Color.white);
 
             // 删除当前停止特效和状态.
             if (MoveStopTime > 0)
                 MoveStopTime = 0.0f;
 
+            if (repelTween != null)
+            {
+                repelTween.Kill();
+                repelTween = null;
+            }
 
             // 停止DoTween动画.
             this.transform.DOKill();
@@ -521,6 +583,7 @@
         /// </summary>
         public virtual void Initialize()
         {
+            Id = GameUtils.GetId();
             ResetPositionData();
             LazyLoad();
             configuration.SetHealth(configuration.maxHealth);
@@ -1098,7 +1161,7 @@
 
             if (EnemyData != null && EndlessGameUI.instance.state != EndlessGameUI.State.GameOver)
             {
-                Debug.Log("小怪被杀死了,增加能量" + EnemyData.energy);
+                // Debug.Log("小怪被杀死了,增加能量" + EnemyData.energy);
                 EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EnergyUp, EnemyData.energy);
             }
 

--
Gitblit v1.9.1