From 68f3da2cc3b2435ceacb7ced5d0107c10ee2b361 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Wed, 11 Nov 2020 15:39:47 +0800 Subject: [PATCH] 塔充能条BUG --- Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs | 31 +++++++++++++++ Assets/Scripts/TowerDefense/Towers/Tower.cs | 46 +++++++++++++++++++++- Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs | 12 +++++- 3 files changed, 83 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs index dbbdd68..8a02c3d 100644 --- a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs +++ b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs @@ -250,7 +250,7 @@ } TowerLevel myTower; - + bool fireState = false; protected void updateTowerSkillData() { // @@ -283,6 +283,7 @@ towerPtr.energyCtl.SetEnergyProcessFloat(process); if (proint == 10) { + fireState = true; fInEnergy = 5.0f; myTower.SetFireMatSpeed(true);//设置了火宝石快速攻击 // 设置多倍攻击速度 @@ -300,6 +301,7 @@ { myTower.SetFireMatSpeed(false);//恢复了火宝石攻击速度 + fireState = false; EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.FireTowerChargeEnd); fInEnergy = 0.0f; this.energyCalTime = 0.0f; @@ -317,6 +319,33 @@ } /// <summary> + /// This function is called when the object becomes enabled and active. + /// </summary> + void OnEnable() + { + if (towerPtr && towerPtr.energyCtl) + { + if (fireState) + { + myTower.SetFireMatSpeed(true);//设置了火宝石快速攻击 + + towerPtr.PlayEnergyEffect(true); + } + } + } + + /// <summary> + /// This function is called when the behaviour becomes disabled or inactive. + /// </summary> + void OnDisable() + { + if (towerPtr && towerPtr.energyCtl) + { + towerPtr.PlayEnergyEffect(false, false); + } + } + + /// <summary> /// Update the timers /// </summary> protected virtual void Update() diff --git a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs index 5d9a3bf..e3d97ef 100644 --- a/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs +++ b/Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGridEndless.cs @@ -826,9 +826,17 @@ if (!arrTowerEnergyEffect[x, dy]) return; if (play) + { + if (!arrTowerEnergyEffect[x, dy].gameObject.activeSelf) + arrTowerEnergyEffect[x, dy].gameObject.SetActive(true); arrTowerEnergyEffect[x, dy].Play(); + } else + { + arrTowerEnergyEffect[x, dy].Stop(); + arrTowerEnergyEffect[x, dy].gameObject.SetActive(false); + } } /// <summary> @@ -851,8 +859,8 @@ { PlacementTile tileToUse; #if UNITY_STANDALONE - //tileToUse = placementTilePrefab; - tileToUse = placementTilePrefabMobile; + //tileToUse = placementTilePrefab; + tileToUse = placementTilePrefabMobile; #else tileToUse = placementTilePrefabMobile; #endif diff --git a/Assets/Scripts/TowerDefense/Towers/Tower.cs b/Assets/Scripts/TowerDefense/Towers/Tower.cs index 210f687..60df6b7 100644 --- a/Assets/Scripts/TowerDefense/Towers/Tower.cs +++ b/Assets/Scripts/TowerDefense/Towers/Tower.cs @@ -193,10 +193,13 @@ /// 播放充能状态特效. /// </summary> /// <param name="play"></param> - public void PlayEnergyEffect(bool play) + public void PlayEnergyEffect(bool play, bool isClose = true) { - if (this.energyCtl) + if (this.energyCtl && isClose) energyCtl.gameObject.SetActive(!play); + else if(!isClose){ + + } if (!opponentSide) { @@ -365,6 +368,42 @@ } /// <summary> + /// This function is called when the object becomes enabled and active. + /// </summary> + void OnEnable() + { + + // if (bulletCtl != null) + // { + // Debug.Log("打开了bulletCtl"); + // bulletCtl.gameObject.SetActive(true); + // } + + + // if (energyCtl != null) + // { + // Debug.Log("打开了energyCtl"); + // energyCtl.gameObject.SetActive(true); + // } + } + + /// <summary> + /// This function is called when the behaviour becomes disabled or inactive. + /// </summary> + void OnDisable() + { + if (bulletCtl != null) + { + bulletCtl.gameObject.SetActive(false); + } + + if (energyCtl != null) + { + energyCtl.gameObject.SetActive(false); + } + } + + /// <summary> /// 初始化当前塔防的局内升级,lvl从1开始. /// </summary> /// <param name="lvl"></param> @@ -515,7 +554,8 @@ StartCoroutine(ResetScale()); } - IEnumerator ResetScale(){ + IEnumerator ResetScale() + { yield return new WaitForSeconds(0.2f); if (gridPosition.y > 1) { -- Gitblit v1.9.1