From 85f0d13945f3aef5aef1b3c1b47c77cea0514c17 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Thu, 22 Oct 2020 16:06:50 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
index 2cb58cf..48634b4 100644
--- a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
+++ b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
@@ -101,6 +101,12 @@
 		/// </summary>
 		protected Targetable m_TrackingEnemy;
 
+
+		/// <summary>
+		/// 处理装弹时间.
+		/// </summary>
+		protected float fillBulletTime = 0.0f;
+
 		/// <summary>
 		/// Gets the search rate from the targetter
 		/// </summary>
@@ -223,6 +229,23 @@
 		/// </summary>
 		protected virtual void Update()
 		{
+			// 
+			// 预留出来装填子弹的时间.
+			if( fillBulletTime > 0 )
+            {
+				fillBulletTime -= Time.deltaTime;
+				if (fillBulletTime <= 0.3f)
+				{
+					if (towerPtr && towerPtr.bulletCtl)
+						towerPtr.bulletCtl.resetToMaxBullet();
+				}
+
+				if (fillBulletTime <= 0)
+                {
+					fillBulletTime = 0;
+				}			
+			}
+
 			m_FireTimer -= Time.deltaTime;
 			if( trackingEnemy == null )
 				m_TrackingEnemy = targetter.GetTarget(waveLineID, bWoodAffector);
@@ -258,10 +281,29 @@
 			// 不再处理多子弹攻击,确保只有一个弹道
 			isMultiAttack = false; 
 			m_TrackingEnemy = targetter.GetTarget( waveLineID, bWoodAffector );
-			if (m_TrackingEnemy == null)
+			if ( (m_TrackingEnemy == null) || (fillBulletTime>0) )
 			{
+				if (this.towerPtr) 
+					towerPtr.setTowerState(false);
 				return;
-			}
+			}else
+            {
+				if (this.towerPtr) 
+					towerPtr.setTowerState(true);
+            }
+
+			// 
+			// 处理子弹充能相关的内容
+			if( towerPtr && (towerPtr.bulletCtl != null))
+            {
+				int bnum = towerPtr.bulletCtl.decBullet();
+				// 
+				if (bnum == 0)
+				{
+					damagerProjectile.damageMulti = 2.0f;	
+					fillBulletTime = 2.0f;
+				}
+            }
 
 			if (isMultiAttack)
 			{

--
Gitblit v1.9.1