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 ]
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