Example #1
0
 def __init__(self):
     super(BaseState, self).__init__()
     self.gui = Manager()
     self.guirenderer = GuiRenderer()
     self.renderer = graphics.Renderer()
     self.messageHandlers = [
         None,
         self.handleChatMessage, # MESSAGE_CHAT = 1
         self.handleLoginMessage, # MESSAGE_LOGIN = 2
         self.handleCreateMessage, # MESSAGE_CREATE = 3
         self.handleSelectMessage, # MESSAGE_SELECT = 4
         self.handleMoveMessage, # MESSAGE_MOVE = 5
         self.handleSayMessage, # MESSAGE_SAY = 6
         self.handleLoginResponseMessage, # MESSAGE_LOGIN_RESPONSE = 7
         self.handleCharacterListMessage, # MESSAGE_CHARACTER_LIST = 8
         self.handleCreateEntityMessage,
         self.handleMoveEntityMessage,
         self.handleDeleteEntityMessage,
         self.handlePlayerEntityMessage
     ]
Example #2
0
class BaseState(game.GameState):
    def __init__(self):
        super(BaseState, self).__init__()
        self.gui = Manager()
        self.guirenderer = GuiRenderer()
        self.renderer = graphics.Renderer()
        self.messageHandlers = [
            None,
            self.handleChatMessage, # MESSAGE_CHAT = 1
            self.handleLoginMessage, # MESSAGE_LOGIN = 2
            self.handleCreateMessage, # MESSAGE_CREATE = 3
            self.handleSelectMessage, # MESSAGE_SELECT = 4
            self.handleMoveMessage, # MESSAGE_MOVE = 5
            self.handleSayMessage, # MESSAGE_SAY = 6
            self.handleLoginResponseMessage, # MESSAGE_LOGIN_RESPONSE = 7
            self.handleCharacterListMessage, # MESSAGE_CHARACTER_LIST = 8
            self.handleCreateEntityMessage,
            self.handleMoveEntityMessage,
            self.handleDeleteEntityMessage,
            self.handlePlayerEntityMessage
        ]

    def update(self):
        super(BaseState, self).update()
        self.gui.update()

        if game.connection:
            game.connection.update()
            m = game.connection.receive()
            if m:
                print ('Client received', m)
                mid, args = m
                self.messageHandlers[mid](*args)

    def render(self):
        game.surface.fill(pygame.Color(0,0,0))
        self.renderGraphics()

        # Render GUI
        self.guirenderer.beginDraw(game.surface)
        self.gui.draw(self.guirenderer)
        self.guirenderer.finishDraw()
        pygame.display.flip()

    def renderGraphics(self):
        pass

    def acceptEvent(self, event):
        if self.gui:
            return self.gui.acceptEvent(event)
        return False

    def handleChatMessage(self, channel, text): pass # MESSAGE_CHAT = 1
    def handleLoginMessage(self, username, password): pass
    def handleCreateMessage(self, id): pass # MESSAGE_CREATE = 3
    def handleSelectMessage(self, characterName): pass # MESSAGE_SELECT = 4
    def handleMoveMessage(self, x, y): pass # MESSAGE_MOVE = 5
    def handleSayMessage(self, text): pass # MESSAGE_SAY = 6
    def handleLoginResponseMessage(self, result): pass # MESSAGE_LOGIN_RESPONSE = 7
    def handleCharacterListMessage(self, characters): pass # MESSAGE_CHARACTER_LIST = 8
    def handleCreateEntityMessage(self, id, name, x, y): pass
    def handleMoveEntityMessage(self, id, x, y): pass
    def handleDeleteEntityMessage(self, id): pass
    def handlePlayerEntityMessage(self, id): pass