|
|
|
@ -6,7 +6,6 @@ using UnityEngine.UI; |
|
|
|
public class EnemyAction |
|
|
|
{ |
|
|
|
public Sprite sprite; |
|
|
|
public bool isAoe = false; |
|
|
|
public virtual void SettleText( EnemyNode enemyNode ,Text attackDamageText,Text stateText) |
|
|
|
{ |
|
|
|
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString(); |
|
|
|
@ -26,43 +25,45 @@ public class EnemyAction |
|
|
|
public virtual void ShowAttackRange(EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
//遍历影响池变色
|
|
|
|
if(isAoe ==false ) |
|
|
|
foreach (var mapNode in enemyNode.rangePool) |
|
|
|
{ |
|
|
|
foreach (var mapNode in enemyNode.rangePool) |
|
|
|
{ |
|
|
|
mapNode.markInfluenced = true; |
|
|
|
mapNode.hightLigtMark.GetComponent<Renderer>().material = mapNode.enemyMark; |
|
|
|
} |
|
|
|
mapNode.markInfluenced = true; |
|
|
|
mapNode.hightLigtMark.GetComponent<Renderer>().material = mapNode.enemyMark; |
|
|
|
} |
|
|
|
else |
|
|
|
foreach (var mapNode in enemyNode.aoeRangePool) |
|
|
|
{ |
|
|
|
foreach (var mapNode in enemyNode.rangePool) |
|
|
|
{ |
|
|
|
mapNode.aoeInfluenced = true; |
|
|
|
} |
|
|
|
mapNode.aoeInfluenced = true; |
|
|
|
} |
|
|
|
} |
|
|
|
public virtual void ShowAttackRangeAoe(EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
//±éÀúÓ°Ïì³Ø±äÉ«
|
|
|
|
foreach (var mapNode in enemyNode.aoeRangePool) |
|
|
|
{ |
|
|
|
mapNode.aoeInfluenced = true; |
|
|
|
} |
|
|
|
} |
|
|
|
public virtual void FadeAttackRange(EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
//遍历影响池变色
|
|
|
|
if(isAoe ==false ) |
|
|
|
for (int i = 0; i < enemyNode.rangePool.Count; i++) |
|
|
|
{ |
|
|
|
for (int i = 0; i < enemyNode.rangePool.Count; i++) |
|
|
|
{ |
|
|
|
enemyNode.rangePool[i].markInfluenced = false; |
|
|
|
} |
|
|
|
enemyNode.rangePool[i].markInfluenced = false; |
|
|
|
} |
|
|
|
} |
|
|
|
public virtual void FadeAttackRangeAll(EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
//±éÀúÓ°Ïì³Ø±äÉ«
|
|
|
|
for (int i = 0; i < enemyNode.rangePool.Count; i++) |
|
|
|
{ |
|
|
|
enemyNode.rangePool[i].markInfluenced = false; |
|
|
|
} |
|
|
|
else |
|
|
|
foreach (var mapNode in enemyNode.aoeRangePool) |
|
|
|
{ |
|
|
|
foreach (var mapNode in enemyNode.rangePool) |
|
|
|
{ |
|
|
|
mapNode.aoeInfluenced = false; |
|
|
|
} |
|
|
|
mapNode.aoeInfluenced = false; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//范围遍历方法
|
|
|
|
//通用普攻
|
|
|
|
public virtual void GeneralAttackRange(EnemyNode enemyNode) |
|
|
|
@ -87,9 +88,9 @@ public class EnemyAction |
|
|
|
{ |
|
|
|
Debug.Log("aoe"); |
|
|
|
//几-几
|
|
|
|
isAoe = true; |
|
|
|
EnemyManager.Instance.AttackRangeInfluencedNode(GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY], enemyNode.EnemyState.attackRange, enemyNode.rangePool); |
|
|
|
EnemyManager.Instance.AttackRangeInfluencedNode(GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY],3, enemyNode.aoeRangePool); |
|
|
|
ShowAttackRange(enemyNode); |
|
|
|
ShowAttackRangeAoe(enemyNode); |
|
|
|
} |
|
|
|
//魔法
|
|
|
|
public virtual void MagicAttackRange(EnemyNode enemyNode) |
|
|
|
|