Пример #1
0
 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));
 }
Пример #2
0
 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);
     }
 }
Пример #3
0
    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;
    }