Нужно ,чтобы враг один раз выбирал случайное значение движения (направо или на лево), но при использовании
Random.Range в
FixedUpdate он начинает постоянно выбирать направление( что логично ), но как мне сделать определение стороны
один раз?
private void FixedUpdate()
{
if (EnemyFindaPlayer == false)
{
float direction = player.transform.position.x - transform.position.x;
if (Mathf.Abs(direction) < 20)
{
Vector3 pos = transform.position;
pos.x += Mathf.Sign(direction) * speedMoveClassical * Time.deltaTime;
transform.position = pos;
}
if (speedMoveClassical == 0)
{
anim.SetBool("isRunning", false);
}
else
{
anim.SetBool("isRunning", true);
}
if (facingRight == false && direction > 0)
{
Flip();
}
else if (facingRight == true && direction < 0)
{
Flip();
}
}
else
{
Invoke("FreeMove" , MomementMoveDelay);
if (speedMoveClassical == 0)
{
anim.SetBool("isRunning", false);
}
else
{
anim.SetBool("isRunning", true);
}
if (facingRight == false && speedMoveClassical > 0)
{
Flip();
}
else if (facingRight == true && speedMoveClassical < 0)
{
Flip();
}
}
}
private void FreeMove()
{
rb.velocity = new Vector2( Random.Range(-speedMoveClassical, speedMoveClassical), 0);
}