Ejemplo n.º 1
0
    def __init__(self, args):
        """ BoomBoomClient constructor.
        @param host: Server hostname.
        @type host: C{str}
        @param display_port: Server port for "display"/"view" connection.
        @type display_port: C{int}
        @param input_port: Server port for "input" connection.
        @type input_port: C{int}
        @param verbose: Verbose mode flag.
        @type verbose: C{bool}
        @param debug: Debug mode flag.
        @type debug: C{bool}
        @param max_fps: Maximal number of frames per second, for optimization.
        @type max_fps: C{int}
        """
        args["protocol"] = protocol.loadProtocol("protocol.xml")
        args["features"] = ["game"]  # Constant features

        Happyboom.__init__(self, args)
        EventListener.__init__(self, prefix="evt_")

        self.display = Display(args)
        self.input = Input(args)
        self.__verbose = args.get("verbose", False)
        self.registerEvent("happyboom")
        self.registerEvent("game")
Ejemplo n.º 2
0
 def __init__(self, args):
     """ BoomBoomClient constructor.
     @param host: Server hostname.
     @type host: C{str}
     @param display_port: Server port for "display"/"view" connection.
     @type display_port: C{int}
     @param input_port: Server port for "input" connection.
     @type input_port: C{int}
     @param verbose: Verbose mode flag.
     @type verbose: C{bool}
     @param debug: Debug mode flag.
     @type debug: C{bool}
     @param max_fps: Maximal number of frames per second, for optimization.
     @type max_fps: C{int}
     """
     args["protocol"] = protocol.loadProtocol("protocol.xml")
     args["features"] = ["game"] # Constant features
     
     Happyboom.__init__(self, args)
     EventListener.__init__(self, prefix="evt_")
     
     self.display = Display(args)
     self.input = Input(args)
     self.__verbose = args.get("verbose", False)
     self.registerEvent("happyboom")
     self.registerEvent("game")        
Ejemplo n.º 3
0
    def __init__(self, args):
        """ BoomBoomDisplay constructor.
        @param host: Server hostname.
        @type host: C{str}
        @param port: Server port for "display"/"view" connection.
        @type port: C{int}
        @param name: Name of the client (as known by the server).
        @type name: C{string}
        @param verbose: Verbose mode flag.
        @type verbose: C{bool}
        @param debug: Debug mode flag.
        @type debug: C{bool}
        @param max_fps: Maximal number of frames per second, for optimization.
        @type max_fps: C{int}
        """

        EventListener.__init__(self)
        self.registerEvent("graphical")
        # Current offscreen
        self._screen = None
        max_fps = args.get("max_fps", 25)
        self._frameTime = 1.0 / max_fps
        self._items = []
        self.__stopped = False
        self.__stoplock = thread.allocate_lock()
Ejemplo n.º 4
0
    def __init__(self, args):
        """ BoomBoomDisplay constructor.
        @param host: Server hostname.
        @type host: C{str}
        @param port: Server port for "display"/"view" connection.
        @type port: C{int}
        @param name: Name of the client (as known by the server).
        @type name: C{string}
        @param verbose: Verbose mode flag.
        @type verbose: C{bool}
        @param debug: Debug mode flag.
        @type debug: C{bool}
        @param max_fps: Maximal number of frames per second, for optimization.
        @type max_fps: C{int}
        """

        EventListener.__init__(self)
        self.registerEvent("graphical")
        # Current offscreen
        self._screen = None
        max_fps = args.get("max_fps", 25)
        self._frameTime = 1.0 / max_fps
        self._items = []
        self.__stopped = False
        self.__stoplock = thread.allocate_lock()
Ejemplo n.º 5
0
 def __init__(self, id=None):
     """ BoomBoomItem constructor. """
     EventListener.__init__(self, "evt_")
     EventLauncher.__init__(self)
     self.visual = None
     self.launchEvent("graphical", "item", self)
     self.id = id
Ejemplo n.º 6
0
 def __init__(self, type, gateway, **args):
     EventLauncher.__init__(self)
     EventListener.__init__(self)
     ActionAgent.__init__(self, prefix="msg_")
     self._gateway = gateway
     self.type = type
     self.__debug = args.get("debug", False)
     self.sendBroadcast = self.sendBroadcastMessage
Ejemplo n.º 7
0
 def __init__(self, type, gateway, **args):
     EventLauncher.__init__(self)
     EventListener.__init__(self)
     ActionAgent.__init__(self, prefix="msg_")
     self._gateway = gateway
     self.type = type
     self.__debug = args.get("debug", False)
     self.sendBroadcast = self.sendBroadcastMessage
Ejemplo n.º 8
0
 def __init__(self, protocol, presentation, client_manager, arg):
     EventListener.__init__(self, "evt_")
     Agent.__init__(self, self, "gateway")
     self.__protocol = protocol
     self.client_manager = client_manager
     self.presentation = presentation
     self.presentation.gateway = self
     self.presentation.client_manager = self.client_manager
     self.client_manager.presentation = self.presentation
     self.__server = None
     self._debug = arg.get("debug", False)
     self._verbose = arg.get("verbose", False)
     self.__scheduler = DummyScheduler(sleep=0.01)
     self.registerEvent("happyboom")
     Kernel().addAgent(self.__scheduler)
Ejemplo n.º 9
0
 def __init__(self, protocol, presentation, client_manager, arg):
     EventListener.__init__(self, "evt_")
     Agent.__init__(self, self, "gateway")
     self.__protocol = protocol
     self.client_manager = client_manager
     self.presentation = presentation
     self.presentation.gateway = self 
     self.presentation.client_manager = self.client_manager
     self.client_manager.presentation = self.presentation
     self.__server = None 
     self._debug = arg.get("debug", False)
     self._verbose = arg.get("verbose", False)
     self.__scheduler = DummyScheduler(sleep=0.01)
     self.registerEvent("happyboom")
     Kernel().addAgent(self.__scheduler)
Ejemplo n.º 10
0
 def __init__(self, args):
     """ BoomBoomDrawer constructor.
     @param max_fps: Maximal number of frames per second, for optimization.
     @type max_fps: C{int}
     """
     EventListener.__init__(self, prefix="evt_")
     # Current offscreen
     self.__screen = None
     max_fps = args.get("max_fps", 25)
     self.__frameTime = 1.0 / max_fps
     self.__items = []
     self.registerEvent("graphical")
     self.window = args["window"]
     self.__stopped = False
     self.__stoplock = thread.allocate_lock()
     self.__itemlock = thread.allocate_lock()
Ejemplo n.º 11
0
 def __init__(self, args):
     """ BoomBoomDrawer constructor.
     @param max_fps: Maximal number of frames per second, for optimization.
     @type max_fps: C{int}
     """
     EventListener.__init__(self, prefix="evt_")
     # Current offscreen
     self.__screen = None
     max_fps = args.get("max_fps", 25)
     self.__frameTime = 1.0 / max_fps
     self.__items = []
     self.registerEvent("graphical")
     self.window = args["window"]
     self.__stopped = False
     self.__stoplock = thread.allocate_lock()
     self.__itemlock = thread.allocate_lock()
Ejemplo n.º 12
0
 def __init__(self, protocol, args):
     EventLauncher.__init__(self)
     EventListener.__init__(self, "evt_")
     self.protocol = protocol
     self.launchEvent("happyboom", "register", "connection",
                      self.processConnection)
     self.launchEvent("happyboom", "register", "disconnection",
                      self.processDisconnection)
     self.launchEvent("happyboom", "register", "create_item",
                      self.processCreateItem)
     self.launchEvent("happyboom", "register", "destroy_item",
                      self.processDestroyItem)
     self.launchEvent("happyboom", "register", "recv_event",
                      self.processEvent)
     self.registerEvent("happyboom")
     self.verbose = args.get("verbose", False)
     self.debug = args.get("debug", False)
     self.features = {}
     for feat in args.get("features", ()):
         self.features[feat] = None
     self.items = {}
     itemPath = args["item_path"]
     dirs = itemPath.split(os.path.sep)
     if dirs[-1] == "":
         dirs = dirs[:-1]
     packagePath = None
     try:
         for d in dirs:
             #print "imp.find_module(%s, %s)" %(repr(modName), repr(modDir))
             f, fname, desc = imp.find_module(d, packagePath)
             self.module = imp.load_module(d, f, fname, desc)
             packagePath = self.module.__path__
     except:
         raise Exception("[HAPPYBOOM] Invalid item path : %s" % itemPath)
     import types
     for attr in self.module.__dict__:
         if type(self.module.__dict__[attr]) == types.ClassType:
             itemClass = self.module.__dict__[attr]
             if hasattr(itemClass, "feature"):
                 feat = getattr(itemClass, "feature")
                 if feat != None:
                     if feat in self.features:
                         raise Exception(
                             "[HAPPYBOOM] Duplicated feature %s in %s and %s classes"
                             % (feat, itemClass.__name__,
                                self.features[feat].__name__))
                     self.features[feat] = itemClass
Ejemplo n.º 13
0
 def __init__(self, args):
     EventListener.__init__(self)
     EventLauncher.__init__(self)
     self.host = args.get("host", "127.0.0.1")
     self.port = args.get("port", 12430)
     self.verbose = args.get("verbose", False)
     self.debug = args.get("debug", False)
     protocol = args.get("protocol", None)
     self._io = IO_TCP()
     self._io.verbose = False # self.verbose
     self._io.debug = False # self.debug
     self.__stopped = False
     self.__stoplock = thread.allocate_lock()
     
     self.signature = None
     self.presentation = HappyboomProtocol(protocol, args)
     self.gateway = Gateway(protocol, args)
     self.registerEvent("happyboom")
Ejemplo n.º 14
0
    def __init__(self, args):
        EventListener.__init__(self)
        EventLauncher.__init__(self)
        self.host = args.get("host", "127.0.0.1")
        self.port = args.get("port", 12430)
        self.verbose = args.get("verbose", False)
        self.debug = args.get("debug", False)
        protocol = args.get("protocol", None)
        self._io = IO_TCP()
        self._io.verbose = False  # self.verbose
        self._io.debug = False  # self.debug
        self.__stopped = False
        self.__stoplock = thread.allocate_lock()

        self.signature = None
        self.presentation = HappyboomProtocol(protocol, args)
        self.gateway = Gateway(protocol, args)
        self.registerEvent("happyboom")
Ejemplo n.º 15
0
    def __init__(self, arg):
        """ BoomBoomInput constructor.
        @param host: Server hostname.
        @type host: C{str}
        @param port: Server port for "input" connection.
        @type port: C{int}
        @param name: Name of the client (as known by the server).
        @type name: C{string}
        @param verbose: Verbose mode flag.
        @type verbose: C{bool}
        @param debug: Debug mode flag.
        @type debug: C{bool}
        """

        EventLauncher.__init__(self)
        EventListener.__init__(self)
        self.weapon_angle = None
        self.weapon_strength = None
        self.registerEvent("weapon")
Ejemplo n.º 16
0
    def __init__(self, protocol, args):
        EventListener.__init__(self)
        self.protocol = protocol
        self.items = {}
        self._unpackFunc = {}
        self.registerEvent("happyboom")
        self.verbose = args.get("verbose", False)

        # Event (IO_Client client, str version, str signature)
        self._on_connection = None
        # Event (IO_Client client, str features)
        self._on_features = None
        # Event (IO_Client client)
        self._on_disconnection = None
        # Event (IO_Client client, str feature, str event, str arguments)
        self._on_recv_event = None
        # Event (IO_Client client, str type, int id)
        self._on_create_item = None
        # Event (IO_Client client, int id)
        self._on_destroy_item = None
Ejemplo n.º 17
0
    def __init__(self, protocol, args):
        EventListener.__init__(self)
        self.protocol = protocol
        self.items = {}
        self._unpackFunc = {}
        self.registerEvent("happyboom")
        self.verbose = args.get("verbose", False)

        # Event (IO_Client client, str version, str signature)
        self._on_connection = None
        # Event (IO_Client client, str features)
        self._on_features = None
        # Event (IO_Client client)
        self._on_disconnection = None
        # Event (IO_Client client, str feature, str event, str arguments)
        self._on_recv_event = None
        # Event (IO_Client client, str type, int id)
        self._on_create_item = None
        # Event (IO_Client client, int id)
        self._on_destroy_item = None
Ejemplo n.º 18
0
 def __init__(self, protocol, args):
     EventLauncher.__init__(self)
     EventListener.__init__(self, "evt_")
     self.protocol = protocol
     self.launchEvent("happyboom", "register", "connection", self.processConnection)
     self.launchEvent("happyboom", "register", "disconnection", self.processDisconnection)
     self.launchEvent("happyboom", "register", "create_item", self.processCreateItem)
     self.launchEvent("happyboom", "register", "destroy_item", self.processDestroyItem)
     self.launchEvent("happyboom", "register", "recv_event", self.processEvent)
     self.registerEvent("happyboom")
     self.verbose = args.get("verbose", False)
     self.debug = args.get("debug", False)
     self.features = {}
     for feat in args.get("features", ()):
         self.features[feat] = None
     self.items = {}
     itemPath = args["item_path"]
     dirs = itemPath.split(os.path.sep)
     if dirs[-1] == "":
         dirs = dirs[:-1]
     packagePath = None
     try:
         for d in dirs:
             #print "imp.find_module(%s, %s)" %(repr(modName), repr(modDir))
             f, fname, desc = imp.find_module(d, packagePath)
             self.module = imp.load_module(d, f, fname, desc)
             packagePath = self.module.__path__
     except:
         raise Exception("[HAPPYBOOM] Invalid item path : %s" %itemPath)
     import types
     for attr in self.module.__dict__:
         if type(self.module.__dict__[attr]) == types.ClassType:
             itemClass = self.module.__dict__[attr]
             if hasattr(itemClass, "feature"):
                 feat = getattr(itemClass, "feature")
                 if feat != None:
                     if feat in self.features:
                         raise Exception("[HAPPYBOOM] Duplicated feature %s in %s and %s classes" %(feat, itemClass.__name__, self.features[feat].__name__))
                     self.features[feat] = itemClass