Exemple #1
0
 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)
Exemple #2
0
 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)
Exemple #3
0
    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)
Exemple #4
0
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
Exemple #5
0
def GetMultiShotSpreadThreshold():
    screenSize = Engine_reference().video_manager().video_size()
    l = min(screenSize.get_x(), screenSize.get_y())
    return l * 0.5