Esempio n. 1
0
 def add_node(self):
     node = Node(self)
     id = "new_node"
     ctr = 1
     while self.get_node(id) != None:
         id = "new_node({0})".format(ctr)
         ctr += 1
     node.id(id)
     self.nodes.append(node)
     pub.sendMessage("node_added", {"node": node})
     return node
Esempio n. 2
0
 def Next(self):
     self.CurrentLevel += 1
     if self.CurrentLevel < len(self.Levels):
         self.Level = self.Levels[self.CurrentLevel](self.Window)
         self.Level.Number = self.CurrentLevel + 1  # Use 1-based here.
         Publisher.sendMessage("level.started", self.Level)
         self.PlayedLevels.append(self.Level)
     else:
         self.Level = None
         Publisher.sendMessage("game.over", self.PlayedLevels)
     pyglet.media.load(data.filepath("sound/start1.wav"), streaming=False).play()
Esempio n. 3
0
 def onkeypress(self, message):
     key = int(message.topic[-1])
     if key == pyglet.window.key.DOWN:
         if self.currentSelection < len(self.labels)-1:
             self.currentSelection += 1
     elif key == pyglet.window.key.UP:
         if self.currentSelection > 0:
             self.currentSelection -= 1
     elif key in (pyglet.window.key.ENTER, pyglet.window.key.RETURN):
         action = ("new", "exit")[self.currentSelection]
         
         Publisher.sendMessage("game.%s" % action)
         
     self.menuBullet.y = self.ypositions[self.currentSelection]
     self.highlight(self.currentSelection)
Esempio n. 4
0
 def tick(self, dt):
     if self.State == "FADEIN":
         self.Opacity += dt / self.FadeTime * 255
         if self.Opacity >= 255:
             self.Opacity = 255
             self.State = "COUNTING"
         self.setOpacity()
     elif self.State == "COUNTING":
         self.Timeout -= dt
         if self.Timeout <= 0:
             self.State = "FADEOUT"
     elif self.State == "FADEOUT":
         self.Opacity -= dt / self.FadeTime * 255
         if self.Opacity <= 0:
             self.stop()
             Publisher.sendMessage("instruction.complete", self)
         self.setOpacity()
Esempio n. 5
0
    def tick(self, dt):
        tipped = self.Teeter.tick(dt)
        if tipped:
            Publisher.sendMessage("level.ended", self)

        self.Pipe.tick(dt)

        for obj in self.CurrentObjects:
            obj.tick(dt)
            # Did the object fall off the screen?
            if obj.y < 0:
                # Oh no, the level is lost!
                self.CurrentObjects = []
                self.Won = False
                Publisher.sendMessage("level.ended", self)
            elif self.Teeter.intersects(obj):
                self.LandPlayer.play()
                self.Teeter.hold(obj)
                self.CurrentObjects.remove(obj)
                if self.NextObjectInQueue == self.NullObject and not self.CurrentObjects:
                    self.Won = True
                    Publisher.sendMessage("level.ended", self)

        if self.Instruction:
            self.Instruction.tick(dt)
Esempio n. 6
0
def doSomething2():
    print '--- SENDING topic2 message ---'
    pub.sendMessage('topic2', 123)
    print '---- SENT topic2 message ----'
Esempio n. 7
0
def doSomething1():
    print '--- SENDING topic1 message ---'
    pub.sendMessage('topic1', 'message1')
    print '---- SENT topic1 message ----'
Esempio n. 8
0
 def on_mouse_press(self, x, y, button, mods):
     if button == pyglet.window.mouse.LEFT:
         Publisher.sendMessage("click.left")
Esempio n. 9
0
 def on_key_press(self, symbol, modifiers):
     Publisher.sendMessage("keypress.%s" % symbol, modifiers)
Esempio n. 10
0
 def remove_node(self, node):
     if not node is None:
         self.nodes.remove(node)
         pub.sendMessage("node_removed", {"node": node})
Esempio n. 11
0
 def on_change(self, key):
     if self.loaded:
         self.network.save()
         pub.sendMessage("node_changed", {"node": self, "key": key})