示例#1
0
    def Broadcast(self):
        eventObject = {'missiles': [], 'agents': []}

        for agent in Scene.Get().agents:
            agentData = {
                'position': (agent.position.x, agent.position.y),
                'rotation': agent.rotation,
                'hitpoints': agent.hitpointCount,
                Attributes.RACE: agent.characterData[Attributes.RACE],
                Attributes.CLASS: agent.characterData[Attributes.CLASS],
                Attributes.LEVEL: agent.characterData[Attributes.LEVEL],
                'user_id': agent.controller.GetId()
            }
            eventObject['agents'].append(agentData)

        for missile in Scene.Get().missiles:
            missileData = {
                'x': missile.position.x,
                'y': missile.position.y,
                'rotation': missile.rotation
            }
            eventObject['missiles'].append(missileData)

        eventData = json.dumps(eventObject)

        self.server.send_message_to_all(eventData)
示例#2
0
    def Refresh(self):
        time.sleep(1.0)
        lastClock = time.clock()
        while True:
            time.sleep(0.033)

            self.frameDelta = time.clock() - lastClock
            self.frameDelta *= 100.0
            lastClock = time.clock()

            from scene import Scene
            Scene.Get().Update()

            from server import Server
            Server.Get().Broadcast()
示例#3
0
 def handlePlayerJoined(message):
     id = message['user_id']
     Scene.Get().AddPlayer(id)