示例#1
0
    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())
示例#2
0
    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