Exemplo n.º 1
0
 def connected(self, perspective):
     self.perspective = perspective
     self.environment = yield perspective.callRemote('getEnvironment')
     self.environment.team = yield perspective.callRemote('getTeam')
     self.view = Window(self.environment)
     self.view.start("Client - %d" % (self.environment.team, ))
     self.controller = PlayerController(self.perspective, self.view)
     self.controller.go()
Exemplo n.º 2
0
    def perspective_getTeam(self):
        return self.player.team

    def perspective_switchTeams(self):
        return self.environment.switchTeams(self.player)

    #TODO could we add a perspective_getPosition and perspective_getIRTargetStatus here
    #TODO otherwise, how do we do remote call on a client?


pygame.init()
pygame.display.set_mode((800, 480), pygame.DOUBLEBUF)
realm = GameRealm()
env = Environment()
view = Window(env)
realm.environment = env
view.start('Server')
LoopingCall(lambda: pygame.event.pump()).start(0.03)

controller = ServerController(realm, view)
controller.go()

portal = portal.Portal(realm, [checkers.AllowAnonymousAccess()])

reactor.listenTCP(8800, pb.PBServerFactory(portal))

from twisted.protocols.basic import LineReceiver
from twisted.internet import protocol
import cPickle