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