X-Git-Url: https://plomlompom.com/repos/?p=plomrogue2-experiments;a=blobdiff_plain;f=new%2Fplomrogue%2Fmapping.py;h=33a8aa95f0978a17f743d919017d20adf3cf05ad;hp=e6ae9871b13fabaeb24f7e6bc76892c03a1e8099;hb=f196909e2e033278e1492e60024fbc34e58eecb8;hpb=14d027c893d5576d54a86db2168f5b43dd5f9773 diff --git a/new/plomrogue/mapping.py b/new/plomrogue/mapping.py index e6ae987..33a8aa9 100644 --- a/new/plomrogue/mapping.py +++ b/new/plomrogue/mapping.py @@ -97,6 +97,20 @@ class MapGeometry(): def pos_in_view(self, pos, offset, maps_size): return self.undouble_coordinate(maps_size, pos) - offset + def get_view(self, maps_size, get_map, radius, view_offset): + m = Map(size=YX(radius*2+1, radius*2+1) + for pos in m: + seen_pos = self.correct_double_coordinate(maps_size, (0,0), + pos + view_offset) + seen_map = get_map(seen_pos[0], False) + if seen_map is None: + seen_map = Map(size=maps_size) + m[pos] = seen_map[seen_pos[1]] + return m + + def get_correcting_map_size(self, size, offset): + return size + def correct_double_coordinate(self, map_size, big_yx, little_yx): def adapt_axis(axis): @@ -169,7 +183,6 @@ class MapGeometryHex(MapGeometryWithLeftRightMoves): return YX(start_pos.y + 1, start_pos.x + 1) - class FovMap(Map): def __init__(self, source_map, center):