|
|
@@ -25,8 +25,8 @@ public class ESpirits_Float : MonoBehaviour
|
|
|
private GameObject curLock;
|
|
|
private float pastTime; //已经经过的时间
|
|
|
|
|
|
- private GameObject player1;
|
|
|
- private GameObject player2;
|
|
|
+ private PlayerController player1;
|
|
|
+ private PlayerController player2;
|
|
|
|
|
|
private GameObject target;
|
|
|
private bool isDoing = false;
|
|
|
@@ -44,8 +44,8 @@ public class ESpirits_Float : MonoBehaviour
|
|
|
curFe.GetComponent<FloatEffect>().isEnemy = true;
|
|
|
curFe.SetActive(false);
|
|
|
curLock.SetActive(false);
|
|
|
- player1 = PlayersInput.instance[0].gameObject;
|
|
|
- player2 = PlayersInput.instance[1].gameObject;
|
|
|
+ player1 = PlayersInput.instance[0];
|
|
|
+ player2 = PlayersInput.instance[1];
|
|
|
}
|
|
|
|
|
|
private void Start()
|
|
|
@@ -77,19 +77,26 @@ public class ESpirits_Float : MonoBehaviour
|
|
|
|
|
|
private void ChoosePlayer()
|
|
|
{
|
|
|
- player1 = PlayersInput.instance[0].gameObject;
|
|
|
- player2 = PlayersInput.instance[1].gameObject;
|
|
|
+ player1 = PlayersInput.instance[0];
|
|
|
+ player2 = PlayersInput.instance[1];
|
|
|
float dis1 = Vector2.Distance(player1.transform.position, transform.position);
|
|
|
float dis2 = Vector2.Distance(player2.transform.position, transform.position);
|
|
|
- if (dis1 < dis2)
|
|
|
+ if (!player1.isBaseBtnOut && !player1.isDie && (player2.isBaseBtnOut || player2.isDie || player2 == player1 || dis1 < dis2))
|
|
|
{
|
|
|
- target = player1;
|
|
|
+ target = player1.gameObject;
|
|
|
+ }
|
|
|
+ else if (!player2.isBaseBtnOut && !player2.isDie && (player1.isBaseBtnOut || player1.isDie || dis2 <= dis1))
|
|
|
+ {
|
|
|
+ target = player2.gameObject;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- target = player2;
|
|
|
+ return;
|
|
|
}
|
|
|
- //target = player1;
|
|
|
+ isDoing = true;
|
|
|
+ isFollow = true;
|
|
|
+ pastTime = 0;
|
|
|
+ curLock.SetActive(true);
|
|
|
}
|
|
|
|
|
|
private void FollowPlayer()
|
|
|
@@ -132,10 +139,6 @@ public class ESpirits_Float : MonoBehaviour
|
|
|
if (pastTime >= intervalTime)
|
|
|
{
|
|
|
ChoosePlayer();
|
|
|
- isDoing = true;
|
|
|
- isFollow = true;
|
|
|
- pastTime = 0;
|
|
|
- curLock.SetActive(true);
|
|
|
}
|
|
|
}
|
|
|
//跟随玩家
|