|
@@ -42,6 +42,9 @@ public class Boss : MoveCharacter
|
|
|
[Header("核心受到伤害倍率")]
|
|
[Header("核心受到伤害倍率")]
|
|
|
public int coreDamageRate;
|
|
public int coreDamageRate;
|
|
|
|
|
|
|
|
|
|
+ [Header("当前索敌是对塔还是对玩家")]
|
|
|
|
|
+ public TargetType curTarget;
|
|
|
|
|
+
|
|
|
//计算当前形态总血量
|
|
//计算当前形态总血量
|
|
|
private void CalculateHp()
|
|
private void CalculateHp()
|
|
|
{
|
|
{
|
|
@@ -141,4 +144,34 @@ public class Boss : MoveCharacter
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public virtual void OnMove()
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void CheckTarget()
|
|
|
|
|
+ {
|
|
|
|
|
+ Character curTar = null;
|
|
|
|
|
+ switch (curTarget)
|
|
|
|
|
+ {
|
|
|
|
|
+ case TargetType.Tower:
|
|
|
|
|
+ float minDis = -1;
|
|
|
|
|
+ foreach(GameObject g in TowerMap.myTowers)
|
|
|
|
|
+ {
|
|
|
|
|
+ float dis = Vector2.Distance(g.transform.position, transform.position);
|
|
|
|
|
+ if (minDis == -1 || dis < minDis)
|
|
|
|
|
+ {
|
|
|
|
|
+ minDis = dis;
|
|
|
|
|
+ curTar = g.GetComponent<Character>();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case TargetType.Player:
|
|
|
|
|
+
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|