| | |
| | | using TowerDefense.Towers; |
| | | using TowerDefense.Towers.Projectiles; |
| | | using UnityEngine; |
| | | using KTGMGemClient; |
| | | |
| | | namespace TowerDefense.Affectors |
| | | { |
| | |
| | | protected float energyCalTime = 0; |
| | | protected float fInEnergy = 0; |
| | | protected float fBackupTimer = 0.0f; |
| | | |
| | | /// <summary> |
| | | /// Gets the search rate from the targetter |
| | | /// </summary> |
| | |
| | | this.energyCalTime += Time.deltaTime; |
| | | float process = energyCalTime % 11.0f; |
| | | int proint = (int)Math.Floor(process); |
| | | towerPtr.energyCtl.SetEnergyProgress(proint); |
| | | proint += towerPtr.uiProOffset; |
| | | towerPtr.energyCtl.SetEnergyProcessFloat( process ); |
| | | if (proint == 10) |
| | | { |
| | | fInEnergy = 5.0f; |
| | |
| | | // 设置多倍攻击速度 |
| | | fBackupTimer = m_FireTimer; |
| | | m_FireTimer = m_FireTimer / 3.0f; |
| | | |
| | | towerPtr.uiProOffset = 0; |
| | | towerPtr.PlayEnergyEffect(true); |
| | | } |
| | | } |
| | | else |
| | |
| | | fInEnergy -= Time.deltaTime; |
| | | if( fInEnergy <= 0) |
| | | { |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.FireTowerChargeEnd); |
| | | fInEnergy = 0.0f; |
| | | this.energyCalTime = 0.0f; |
| | | towerPtr.energyCtl.SetEnergyProgress(0); |
| | | |
| | | // 恢复正常攻击速度 |
| | | m_FireTimer = fBackupTimer; |
| | | |
| | | towerPtr.PlayEnergyEffect(false); |
| | | |
| | | } |
| | | } |
| | | |