Beispiel #1
0
 public static IEnumerable <HexPos> GetMeristems(HexCubMap map)
 {
     foreach (HexPos pos in map.OccupiedPositions())
     {
         if (pos.occupant.tileType == TileType.Meristem)
         {
             yield return(pos);
         }
     }
 }
Beispiel #2
0
    protected List <HexPos> PermissableHexPositions(
        HexCubMap map,
        int maxDistance,
        System.Func <HexPos, HexPos, HexCubMap, bool> evalFunc)
    {
        HexPos[]      free        = (HexPos[])map.FreePositions();
        HexPos[]      occupied    = (HexPos[])map.OccupiedPositions();
        List <HexPos> permissable = new List <HexPos> ();

        for (int i = 0; i < free.Length; i++)
        {
            for (int j = 0; j < occupied.Length; i++)
            {
                if (evalFunc(free [i], occupied [j], map))
                {
                    permissable.Add(free [i]);
                    break;
                }
            }
        }
        return(permissable);
    }