public Vector2 GeneratePositionInCadran(Cadran c) { if (c == Cadran.PP) { return(new Vector2(rnd.Next(0, (int)(xLimit / 3.2)) * 3.2f, rnd.Next(0, (int)(yLimit / 3.2)) * 3.2f)); } if (c == Cadran.PN) { return(new Vector2(rnd.Next(0, (int)(xLimit / 3.2)) * 3.2f, -rnd.Next(0, (int)(yLimit / 3.2)) * 3.2f)); } if (c == Cadran.NN) { return(new Vector2(-rnd.Next(0, (int)(xLimit / 3.2)) * 3.2f, -rnd.Next(0, (int)(yLimit / 3.2)) * 3.2f)); } // NP return(new Vector2(-rnd.Next(0, (int)(xLimit / 3.2)) * 3.2f, rnd.Next(0, (int)(yLimit / 3.2)) * 3.2f)); }
public int CadranToInt(Cadran c) { if (c == Cadran.PP) { return(0); } else if (c == Cadran.NP) { return(1); } else if (c == Cadran.NN) { return(2); } else // PN { return(3); } }
public void GenerateEndPoint() { int i = rnd.Next(0, 3); Cadran c = WhichCadran(player.position); while (CadranToInt(c) == i) { i = rnd.Next(0, 3); } bool occupied = true; Vector2 pos = Vector2.zero; while (occupied) { pos = GeneratePositionInCadran(IntToCadran(i)); if (player.gameObject.GetComponent <PlayerMovement>().CheckIfFreeSpace(pos)) { occupied = false; } } endPoint.transform.position = pos; }