def UpdateSize(self, w, h): self.size.set_x(w) self.size.set_y(h) self.backShape.set_size(self.size) screenSize = Engine_reference().video_manager().video_size() x = self.node.modifier().offset().get_x() y = self.node.modifier().offset().get_y() if x + w > screenSize.get_x(): x = screenSize.get_x() - w if y + h > screenSize.get_y(): y = screenSize.get_y() - h if x < 0: x = 0 if y < 0: y = 0 self.SetPos(x,y)
def SetAndShowSceneEndText(self, msgTag): if self.finishTextNode != None: return text = ResourceManager_CreateTextFromLanguageTag(msgTag) self.finishTextNode = Node(text) screenSize = Engine_reference().video_manager().video_size() x = (screenSize.get_x()/2.0) - (text.width()/2.0) y = (screenSize.get_y()/2.0) - (text.height()/2.0) self.finishTextNode.modifier().set_offset( Vector2D(x, y) ) self.interface_node().AddChild(self.finishTextNode)
def __init__(self): screenSize = Engine_reference().video_manager().video_size() rect = SolidRectangle(screenSize) rect.set_color( Color(0.5, 0.5, 0.5) ) self.backNode = Node(rect) color = self.backNode.modifier().color() color.set_a(0.5) self.backNode.modifier().set_color(color) self.content_node().AddChild(self.backNode) text = ResourceManager_CreateTextFromLanguageTag("Pause") self.textNode = Node(text) x = (screenSize.get_x()/2.0) - (text.width()/2.0) y = (screenSize.get_y()/2.0) - (text.height()/2.0) self.textNode.modifier().set_offset( Vector2D(x, y) ) self.interface_node().AddChild(self.textNode)
class Blackhole(Weapon): def __init__(self, energy_per_sec): Weapon.__init__(self) self.energy_per_sec = energy_per_sec self.firing = False self.blackhole = None def Toggle(self, active, dt): energy_cost = self.energy_per_sec * dt if active and (not self.firing) and self.parent.energy >= 2*self.energy_per_sec: self.firing = True self.hole_pos = Engine_reference().input_manager().GetMousePosition() self.parent.TakeEnergy(self.energy_per_sec) self.blackhole = Gravity.Blackhole(self.hole_pos.get_x(), self.hole_pos.get_y(), 50.0, 0) self.blackhole.AddIDToIgnoreList(self.parent.id) beam = VisualBeam(self.parent, self.blackhole, 10, Color(0.1,0.3,0.3, 0.7)) AddNewObjectToScene(beam) AddNewObjectToScene(self.blackhole) return True elif active and self.firing: if self.parent.energy < energy_cost: self.firing = False self.blackhole.Delete() self.blackhole = None return False self.parent.TakeEnergy(energy_cost) return True elif not active: if self.firing: self.blackhole.Delete() self.blackhole = None self.firing = False return False def Dismantle(self): if self.blackhole != None: self.blackhole.Delete() self.blackhole = None
def GetMultiShotSpreadThreshold(): screenSize = Engine_reference().video_manager().video_size() l = min(screenSize.get_x(), screenSize.get_y()) return l * 0.5