def context_menu(self, obj, action="show"): self.wipe_context_menu() category = "context" texture = image.load(RES_PATH + 'ui/upgrade.png') texture = center_image(texture) offset = ( 0.0 - texture.width // 2, obj.height // 2 + texture.height // 2 ) b_sprite = Sprite( texture, x=obj.x + offset[0], y=obj.y + offset[1], batch=self.w.batches["buttons"], group=self.w.ui_group ) b_sprite.offset = offset b_sprite.active = True b_sprite.b_price = obj.price // 2 if b_sprite.b_price > self.w.game.gold: b_sprite.opacity = 80 b_sprite.b_type = "upgrade" b_sprite.category = category b_sprite.owner = obj self.context_sprites.append(b_sprite) size = 10 offset = ( 0.0 - texture.width // 2 + 1, obj.height // 2 + texture.height // 2 + (size * 1.5) - 1 ) x = obj.x + offset[0] y = obj.y + offset[1] label = text.Label( str(obj.price // 2), font_name='Visitor TT1 BRK', font_size=size, x=x, y=y, batch=self.w.batches["buttons"], anchor_x="center", anchor_y="center", color=(32, 32, 32, 196) ) label.offset = offset label.owner = obj label.b_type = "upgrade" label.category = category label.shadow = True self.context_sprites.append(label) offset = ( 0.0 - texture.width // 2, obj.height // 2 + texture.height // 2 + (size * 1.5) ) x = obj.x + offset[0] y = obj.y + offset[1] label = text.Label( str(obj.price // 2), font_name='Visitor TT1 BRK', font_size=size, x=x, y=y, batch=self.w.batches["buttons"], anchor_x="center", anchor_y="center", color=(130, 255, 130, 255) ) label.offset = offset label.owner = obj label.b_type = "upgrade" label.category = category label.shadow = False if obj.price // 2 > self.w.game.gold: label.color = (255, 140, 140, 225) self.context_sprites.append(label) texture = image.load(RES_PATH + 'ui/sell.png') texture = center_image(texture) offset = ( texture.width // 2, obj.height // 2 + texture.height // 2 ) b_sprite = Sprite( texture, x=obj.x + offset[0], y=obj.y + offset[1], batch=self.w.batches["buttons"], group=self.w.ui_group ) b_sprite.offset = offset b_sprite.active = True b_sprite.b_price = obj.price b_sprite.b_type = "sell" b_sprite.category = category b_sprite.owner = obj self.context_sprites.append(b_sprite)
def showContextMenu(self, obj, action="show"): self.wipeContextMenu() category = "context" texture = self.w.textures['upgrade'] offset = ( -texture.width, 0 ) b_sprite = Sprite( texture, x=obj.x + offset[0], y=obj.y + offset[1], batch=self.w.batches["buttons"], group=self.w.ui_group ) b_sprite.offset = offset b_sprite.active = True b_sprite.b_price = obj.price // 2 if b_sprite.b_price > self.w.game.gold: b_sprite.opacity = 80 b_sprite.b_type = "upgrade" b_sprite.category = category b_sprite.owner = obj self.context_sprites.append(b_sprite) size = 10 offset = ( -texture.width - 1, texture.width // 2 - 1 ) x = obj.x + offset[0] y = obj.y + offset[1] label = text.Label( str(obj.price // 2), font_name='Visitor TT1 BRK', font_size=size, x=x, y=y, batch=self.w.batches["buttons"], anchor_x="center", anchor_y="center", color=(32, 32, 32, 196) ) label.offset = offset label.owner = obj label.b_type = "upgrade" label.category = category label.shadow = True self.context_sprites.append(label) size = 10 offset = ( 0, obj.image.height ) x = obj.x + offset[0] y = obj.y + offset[1] label = text.Label( str(int(obj.dmg)), font_name='Visitor TT1 BRK', font_size=size, x=x, y=y, batch=self.w.batches["buttons"], anchor_x="center", anchor_y="center", color=(32, 32, 32, 255) ) label.offset = offset label.owner = obj label.b_type = "towerinfo" label.category = category label.shadow = False self.context_sprites.append(label) offset = ( -texture.width, texture.width // 2 ) x = obj.x + offset[0] y = obj.y + offset[1] label = text.Label( str(obj.price // 2), font_name='Visitor TT1 BRK', font_size=size, x=x, y=y, batch=self.w.batches["buttons"], anchor_x="center", anchor_y="center", color=(130, 255, 130, 255) ) label.offset = offset label.owner = obj label.b_type = "upgrade" label.category = category label.shadow = False if obj.price // 2 > self.w.game.gold: label.color = (255, 140, 140, 225) self.context_sprites.append(label) texture = self.w.textures["sell"] offset = ( texture.width, 0 ) b_sprite = Sprite( texture, x=obj.x + offset[0], y=obj.y + offset[1], batch=self.w.batches["buttons"], group=self.w.ui_group ) b_sprite.offset = offset b_sprite.active = True b_sprite.b_price = obj.price b_sprite.b_type = "sell" b_sprite.category = category b_sprite.owner = obj self.context_sprites.append(b_sprite)