def __init__(self, i, j, r, map, terrain=Ground(), loading=False): if loading: return Hexagon.__init__(self, i, j, r, loading=loading) poly = QPolygon() for p in self.corners: poly << QPoint(*p) QGraphicsPolygonItem.__init__(self, poly) self.terrain = terrain self.units = [] self.unitImages = [] self.map = map self.setBrush(QBrush(self.terrain.image)) self.setPen(QPen())
def __load__(cls, d, game): t = cls(0, 0, 0, None, loading=True) Hexagon.__load__(d, t) t.map = game.map t.terrain = load(Terrain, d['terrain']) t.units = [] t.unitImages = [] units = map(partial(load, Unit, game=game, tile=t), d['units']) poly = QPolygon() for p in t.corners: poly << QPoint(*p) QGraphicsPolygonItem.__init__(t, poly) t.setBrush(QBrush(t.terrain.image)) t.setPen(QPen()) for unit in units: t.addUnit(unit) return t