Esempio n. 1
0
    def _CreateUIAPIStateMsg(self,
                             uiAPIState,
                             frameSeq,
                             uiImage,
                             screenOri,
                             gameState=None):
        msg = common_pb2.tagMessage()

        msg.eMsgID = common_pb2.MSG_UI_STATE_IMG
        msg.stUIAPIState.eUIState = uiAPIState

        msg.stUIAPIState.stUIImage.uFrameSeq = frameSeq
        msg.stUIAPIState.stUIImage.nHeight = uiImage.shape[0]
        msg.stUIAPIState.stUIImage.nWidth = uiImage.shape[1]
        msg.stUIAPIState.stUIImage.byImageData = uiImage.tobytes()

        if gameState is None:
            msg.stUIAPIState.eGameState = common_pb2.PB_STATE_NONE
        else:
            msg.stUIAPIState.eGameState = gameState

        if screenOri == UI_SCREEN_ORI_LANDSCAPE:
            msg.stUIAPIState.eScreenOri = common_pb2.PB_SCREEN_ORI_LANDSCAPE
        else:
            msg.stUIAPIState.eScreenOri = common_pb2.PB_SCREEN_ORI_PORTRAIT

        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 2
0
    def _CreateAIServiceStateMsg(self, serviceStateResult):
        msg = common_pb2.tagMessage()
        msg.eMsgID = common_pb2.MSG_SERVICE_STATE
        msg.stServiceState.nServiceState = serviceStateResult

        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 3
0
    def SendAction(self, actionID, actionData, frameSeq=-1):
        """
        Send action to remote(client)
        :param actionID: the self-defined action ID
        :param actionData: the context data of the action ID
        :param frameSeq: the frame sequence, default is -1
        :return:
        """
        if not self.__initialized:
            LOG.warning('Call Initialize first!')
            return False

        actionData['msg_id'] = MSG_ID_AI_ACTION
        actionData['action_id'] = actionID
        actionBuff = msgpack.packb(actionData,
                                   default=mn.encode,
                                   use_bin_type=True)

        msg = common_pb2.tagMessage()
        msg.eMsgID = common_pb2.MSG_AI_ACTION
        msg.stAIAction.nFrameSeq = frameSeq
        msg.stAIAction.byAIActionBuff = actionBuff
        #msgBuff = msg.SerializeToString()

        if LOG_REGACTION.level <= logging.DEBUG:
            actionStr = json.dumps(actionData)
            LOG_REGACTION.debug('{}||action||{}'.format(frameSeq, actionStr))

        self.__connect.SendMsg(msg, BusConnect.PEER_NODE_SDKTOOL)

        ret = self.__connect.SendMsg(msg, BusConnect.PEER_NODE_MC)
        if ret != 0:
            LOG.warning('TBus Send To MC return code[{0}]'.format(ret))
            return False
        return True
Esempio n. 4
0
    def _CreatePBRestartMsg():
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_RESTART

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 5
0
    def _CreatePBPauseAgentMsg():
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_PAUSE_AGENT

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 6
0
    def _CreatePBRestoreAgentMsg(self):
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_RESTORE_AGENT

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 7
0
    def RecvMsg(self):
        msgBuff = tbus.RecvFrom(self.__mcAddr)
        if msgBuff is not None:
            msg = common_pb2.tagMessage()
            msg.ParseFromString(msgBuff)
            #msg = msgpack.unpackb(msgBuff, encoding='utf-8')
            return msg

        return None
Esempio n. 8
0
 def UpdateEnvState(self, stateCode, stateDescription):
     """
     Send agent state msg to MC when state change
     """
     stateMsg = common_pb2.tagMessage()
     stateMsg.eMsgID = common_pb2.MSG_AGENT_STATE
     stateMsg.stAgentState.eAgentState = int(stateCode)
     stateMsg.stAgentState.strAgentState = stateDescription
     return self.__connect.SendMsg(stateMsg, BusConnect.PEER_NODE_MC)
Esempio n. 9
0
    def _CreatePBNewTaskMsg():
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_NEW_TASK

        msg.stNewTask.strTaskID = IO_SERVICE_CONTEXT['task_id']

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 10
0
    def _CreateRestartResultMsg(self, result):
        msg = common_pb2.tagMessage()
        msg.eMsgID = common_pb2.MSG_RESTART_RESULT
        if result == 0:
            msg.stRestartResult.eRestartResult = common_pb2.PB_RESTART_RESULT_SUCCESS
        else:
            msg.stRestartResult.eRestartResult = common_pb2.PB_RESTART_RESULT_FAILURE

        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 11
0
    def _CreateTaskReportMsg(self, taskStatus):
        msg = common_pb2.tagMessage()
        msg.eMsgID = common_pb2.MSG_TASK_REPORT
        if taskStatus == TASK_STATUS_INIT_SUCCESS:
            msg.stTaskReport.eTaskStatus = common_pb2.PB_TASK_INIT_SUCCESS
        elif taskStatus == TASK_STATUS_INIT_FAILURE:
            msg.stTaskReport.eTaskStatus = common_pb2.PB_TASK_INIT_FAILURE

        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 12
0
    def _CreateServiceRegisterMsg(self, regType):
        msg = common_pb2.tagMessage()
        msg.eMsgID = common_pb2.MSG_SERVICE_REGISTER
        if regType == SERVICE_REGISTER:
            msg.stServiceRegister.eRegisterType = common_pb2.PB_SERVICE_REGISTER
        elif regType == SERVICE_UNREGISTER:
            msg.stServiceRegister.eRegisterType = common_pb2.PB_SERVICE_UNREGISTER
        msg.stServiceRegister.eServiceType = common_pb2.PB_SERVICE_TYPE_MC

        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 13
0
    def _CreatePBTestIDMsg(testID, gameID, gameVersion):
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_TEST_ID

        msg.stTestID.strTestID = testID
        msg.stTestID.nGameID = gameID
        msg.stTestID.strGameVersion = gameVersion

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 14
0
    def SendTrainProgress(self, progress):
        """
        Report training progress to MC
        """
        self.__logger.info('im train progress: %d', progress)

        stateMsg = common_pb2.tagMessage()
        stateMsg.eMsgID = common_pb2.MSG_IM_TRAIN_STATE
        stateMsg.stIMTrainState.nProgress = progress

        if self.__connect.SendMsg(stateMsg, BusConnect.PEER_NODE_MC) == 0:
            return True
        return False
Esempio n. 15
0
    def _CreatePBSrcImgMsg(frameSeq, frame, extend, deviceIndex=0):
        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_SRC_IMAGE_INFO
        msg.stSrcImageInfo.uFrameSeq = frameSeq
        msg.stSrcImageInfo.nHeight = frame.shape[0]
        msg.stSrcImageInfo.nWidth = frame.shape[1]
        msg.stSrcImageInfo.byImageData = frame.tobytes()
        msg.stSrcImageInfo.uDeviceIndex = deviceIndex
        msg.stSrcImageInfo.strJsonData = extend

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 16
0
    def RecvMsg(self, peerNode):
        """
        Recive and unserialize msg from MC channel
        """
        peerNodeAddr = self._GetPeerNodeAddr(peerNode)
        if peerNodeAddr is None:
            self.__logger.error(
                'Recv error: peer node {} address is None!'.format(peerNode))
            return None

        self.__logger.debug(
            "receive the message from the address:{}".format(peerNodeAddr))

        msgBuff = tbus.RecvFrom(peerNodeAddr)
        if msgBuff is not None:
            msg = common_pb2.tagMessage()
            msg.ParseFromString(msgBuff)
            #msg = msgpack.unpackb(msgBuff, encoding='utf-8')
            return msg

        return None
Esempio n. 17
0
    def _CreatePBChangeGameStateMsg():
        gameState = IO_SERVICE_CONTEXT['game_state']

        msg = common_pb2.tagMessage()
        # Fill the message
        msg.eMsgID = common_pb2.MSG_CHANGE_GAME_STATE
        if gameState == GAME_STATE_NONE:
            msg.stChangeGameState.eGameState = common_pb2.PB_STATE_NONE
        elif gameState == GAME_STATE_UI:
            msg.stChangeGameState.eGameState = common_pb2.PB_STATE_UI
        elif gameState == GAME_STATE_START:
            msg.stChangeGameState.eGameState = common_pb2.PB_STATE_START
        elif gameState == GAME_STATE_OVER:
            msg.stChangeGameState.eGameState = common_pb2.PB_STATE_OVER
        elif gameState == GAME_STATE_MATCH_WIN:
            msg.stChangeGameState.eGameState = common_pb2.PB_STATE_MATCH_WIN
        else:
            LOG.warning('Unhandled GameState[%s]', gameState)
            return

        # Serialize the message
        msgBuff = msg.SerializeToString()
        return msgBuff
Esempio n. 18
0
 def _create_pb_get_source_msg():
     msg = common_pb2.tagMessage()
     msg.eMsgID = common_pb2.MSG_PROJECT_SOURCE
     msg_buff = msg.SerializeToString()
     return msg_buff