//SIGHT /* * dir must be a (1,0) (0,1) (-1,0) (0,-1) */ public Vector2Int GetRandomAroundPos() { var gp = GetGridPos(); var size = Pawn.DIR_ARRAY.Length; var rnd_idx = Random.Range(0, size); var rnd_pos = Pawn.DIR_ARRAY[rnd_idx]; while (Board.GetGridType(rnd_pos) != 0) { rnd_idx--; if (rnd_idx < 0) { rnd_idx = Pawn.DIR_ARRAY.Length; } rnd_pos = Pawn.DIR_ARRAY[rnd_idx]; size--; if (size < 0) { Debug.LogError("F**k! Infinite Loop!"); break; } } return(rnd_pos); }