Example #1
0
    def _parse_msg_ntoh(self, datagram):
        msg = PyDatagramIterator(datagram)
        msgid = msg.get_uint8()
        data = {}

        if msgid == MessageTypes.update_entity:
            data['netid'] = msg.get_uint32()
            data['data'] = msg.get_string()
        elif msgid == MessageTypes.remove_entity:
            data['netid'] = msg.get_uint32()
        elif msgid == MessageTypes.register_player:
            pass
        elif msgid == MessageTypes.player_id:
            data['netid'] = msg.get_uint32()
        elif msgid == MessageTypes.player_input:
            data['netid'] = msg.get_uint32()
            data['movement_x'] = msg.get_int8()
            data['action_set'] = msg.get_string()
        else:
            RuntimeError("Unknown msgid:", msgid)

        return msgid, data
Example #2
0
    def _parse_msg_ntoh(self, datagram):
        msg = PyDatagramIterator(datagram)
        msgid = msg.get_uint8()
        data = {}

        if msgid == MessageTypes.update_entity:
            data['netid'] = msg.get_uint32()
            data['data'] = msg.get_string()
        elif msgid == MessageTypes.remove_entity:
            data['netid'] = msg.get_uint32()
        elif msgid == MessageTypes.register_player:
            pass
        elif msgid == MessageTypes.player_id:
            data['netid'] = msg.get_uint32()
        elif msgid == MessageTypes.player_input:
            data['netid'] = msg.get_uint32()
            data['movement_x'] = msg.get_int8()
            data['action_set'] = msg.get_string()
        else:
            RuntimeError("Unknown msgid:", msgid)

        return msgid, data
Example #3
0
 def on_frame(self):
     if not self.c_reader.data_available():
         return
     datagram = NetDatagram()
     if not self.c_reader.get_data(datagram):
         return
     _iter = PyDatagramIterator(datagram)
     meths = {
         'B': _iter.get_bool,
         'I': _iter.get_int64,
         'F': _iter.get_float64,
         'S': _iter.get_string
     }
     msg = [meths[c]() for c in _iter.get_string()]
     self.reader_cb(msg, datagram.get_connection())