|
|
@ -53,7 +53,7 @@ public class PrismReflector : Enemy |
|
|
enemyNode.currentActionScript.SettleText(enemyNode, enemyNode.currentActionScript.colA.ToString(), "对生命值最低的单位施加"+ enemyNode.currentActionScript.colA + "点护盾并随机污染三格地块"); |
|
|
enemyNode.currentActionScript.SettleText(enemyNode, enemyNode.currentActionScript.colA.ToString(), "对生命值最低的单位施加"+ enemyNode.currentActionScript.colA + "点护盾并随机污染三格地块"); |
|
|
break; |
|
|
break; |
|
|
case EnemyAction_Spell: |
|
|
case EnemyAction_Spell: |
|
|
enemyNode.currentActionScript.SettleText(enemyNode, "", "吸收前方1范围的玩家颜色地块"); |
|
|
enemyNode.currentActionScript.SettleText(enemyNode, "", "吸收随机1范围的玩家颜色地块"); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -74,6 +74,25 @@ public class PrismReflector : Enemy |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public override void GetAimTarget() |
|
|
|
|
|
{ |
|
|
|
|
|
if (targets != null) |
|
|
|
|
|
{ |
|
|
|
|
|
targets.Clear(); |
|
|
|
|
|
} |
|
|
|
|
|
switch (enemyNode.currentActionScript) |
|
|
|
|
|
{ |
|
|
|
|
|
case EnemyAction_ShieldAndPollution: |
|
|
|
|
|
targets = MathTool.GetRandomElements(getNodeTools.getAllBlackNodes(), 3); |
|
|
|
|
|
break; |
|
|
|
|
|
case EnemyAction_Spell: |
|
|
|
|
|
MapUnity currentNode = MathTool.GetRandomElements(getNodeTools.getAllNodes(), 1).ElementAt(0); |
|
|
|
|
|
targets = new HashSet<MapUnity> { currentNode }; |
|
|
|
|
|
getNodeTools.getCircleNodeForBoom(targets, 1); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public override void BoolCheck() |
|
|
public override void BoolCheck() |
|
|
{ |
|
|
{ |
|
|
switch (enemyNode.currentActionScript) |
|
|
switch (enemyNode.currentActionScript) |
|
|
@ -81,12 +100,12 @@ public class PrismReflector : Enemy |
|
|
case EnemyAction_ShieldAndPollution: |
|
|
case EnemyAction_ShieldAndPollution: |
|
|
canMove = false; |
|
|
canMove = false; |
|
|
canAttack = false; |
|
|
canAttack = false; |
|
|
canAoe = false; |
|
|
canAoe = true; |
|
|
break; |
|
|
break; |
|
|
case EnemyAction_Spell: |
|
|
case EnemyAction_Spell: |
|
|
canMove = false; |
|
|
canMove = false; |
|
|
canAttack = false; |
|
|
canAttack = false; |
|
|
canAoe = false; |
|
|
canAoe = true; |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -112,16 +131,16 @@ public class PrismReflector : Enemy |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
EnemyManager.Instance.enemySpeedSortingList[index].EnemyState.shieldValue += EnemyManager.Instance.enemySpeedSortingList[index].ShieldCalculation(enemyNode.currentActionScript.colA); |
|
|
EnemyManager.Instance.enemySpeedSortingList[index].EnemyState.shieldValue += EnemyManager.Instance.enemySpeedSortingList[index].ShieldCalculation(enemyNode.currentActionScript.colA); |
|
|
HashSet<MapUnity> targets = getNodeTools.getAllNotBlackNodes(); |
|
|
//HashSet<MapUnity> targets = getNodeTools.getAllNotBlackNodes();
|
|
|
RandomPollute(targets, 3); |
|
|
RandomPollute(targets, 3); |
|
|
yield return new WaitForSeconds(0.5f); |
|
|
yield return new WaitForSeconds(0.5f); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public IEnumerator PolluteAction() |
|
|
public IEnumerator PolluteAction() |
|
|
{ |
|
|
{ |
|
|
MapUnity currentNode = MathTool.GetRandomElements(getNodeTools.getAllNodes(), 1).ElementAt(0); |
|
|
/*MapUnity currentNode = MathTool.GetRandomElements(getNodeTools.getAllNodes(), 1).ElementAt(0); |
|
|
HashSet<MapUnity> targets = new HashSet<MapUnity> { currentNode }; |
|
|
HashSet<MapUnity> targets = new HashSet<MapUnity> { currentNode }; |
|
|
getNodeTools.getCircleNodeForBoom(targets, 1); |
|
|
getNodeTools.getCircleNodeForBoom(targets, 1);*/ |
|
|
ClearNodes(targets); |
|
|
ClearNodes(targets); |
|
|
yield return new WaitForSeconds(0.5f); |
|
|
yield return new WaitForSeconds(0.5f); |
|
|
} |
|
|
} |
|
|
|