コード例 #1
0
class MainScreen(Screen):
    """
    The screen where all of the action takes place.
    It consists of a viewport and a HUD
    
    #Attributes:
    @param viewport: A window into the active world.
    @type viewport: L{Viewport}
    
    @param hud: The HUD displays information to the player. It does not contain 
    a debug menu, but does contain resource counts, menus, etc...
    @type hud: L{HUD}
    
    @param clientID: identifying string or number given by the server
    when a client is created
    """
    def __init__(self,clientID):
        Screen.__init__(self)
        self.viewport = None
        self.hud = None
        self.clientID = clientID
    
    def setClientID(self,clientID):
        self.clientID = clientID
        self.viewport.setClientID(clientID)
        self.hud.setClientID(clientID)
    
    def TEST_createViewport(self,world,manager):

        scrollLoc = (0,0)
        viewportPos = (0,0)
        viewportSize = (1024,768)
        testViewport = Viewport(world,manager,scrollLoc,viewportPos,viewportSize,self.clientID)
        self.viewport = testViewport

        self.hud=HUD(manager,self.clientID)
        self.viewport.hud=self.hud
        self.hud.viewport=self.viewport
        
    def draw(self,displaySurface,size):
        self.viewport.draw(displaySurface)
        self.hud.draw(displaySurface)
        
    def processMouseMovedEvent(self,event):
        self.viewport.mouseMoved(event)

    def processMouseClickEvent(self,event):
        self.viewport.clickEvent(event)
    
    def processDragBeganEvent(self,event):
        self.viewport.startDrag(event)
        
    def processDragEvent(self,event):
        self.viewport.continueDrag(event)
    
    def processDragCompletedEvent(self,event):
        self.viewport.completeDrag(event)

    def processAddDragCompletedEvent(self,event):
        self.viewport.completeDrag(event)

    def processNumberKeyPressEvent(self,event):
        if event.state == Event.KeyLocals.UP:
            if event.comboKeys['ctrl']:
                self.viewport.setQuickSelect(event)
            else:
                self.viewport.getQuickSelect(event)
    
    def processCompleteActionEvent(self,event):
        self.viewport.completeActionEvent(event)
        
    def processInitiateActionEvent(self,event):
        self.viewport.initiateActionEvent(event)
        
    def processUpdateEvent(self,event):
        self.viewport.processUpdateEvent(event)
        self.hud.processUpdateEvent(event)
    
    def processGameOverEvent(self,event):
        self.viewport.setGameOver()
    
    def changeWorld(self,world):
        self.viewport.changeWorld(world)