Exemplo n.º 1
0
    private void ConfigureRaycastQuery(string queryType)
    {
        DCLCharacterController.i.SetPosition(startPos);

        raycastQuery                 = new PB_RayQuery();
        raycastQuery.QueryId         = "123456" + queryType;
        raycastQuery.QueryType       = queryType;
        raycastQuery.Ray             = new PB_Ray();
        raycastQuery.Ray.Direction   = new PB_Vector3();
        raycastQuery.Ray.Direction.X = Vector3.back.x;
        raycastQuery.Ray.Direction.Y = Vector3.back.y;
        raycastQuery.Ray.Direction.Z = Vector3.back.z;
        raycastQuery.Ray.Distance    = 1000;
        raycastQuery.Ray.Origin      = new PB_Vector3();
        raycastQuery.Ray.Origin.X    = startPos.x;
        raycastQuery.Ray.Origin.Y    = startPos.y;
        raycastQuery.Ray.Origin.Z    = startPos.z;

        query         = new PB_Query();
        query.QueryId = "raycast";
        query.Payload = System.Convert.ToBase64String(raycastQuery.ToByteArray());

        sendSceneMessage         = new PB_SendSceneMessage();
        sendSceneMessage.Query   = query;
        sendSceneMessage.SceneId = this.scene.sceneData.id;
    }
Exemplo n.º 2
0
        public static bool DecodePayloadChunk(string payload, out string sceneId, out string message, out string tag, out PB_SendSceneMessage sendSceneMessage)
        {
#if UNITY_EDITOR
            DumpMessage(payload, MESSAGES_FILENAME, ref messageDumpStr, ref messagesCount);
#endif
            byte[] bytes = System.Convert.FromBase64String(payload);

            sendSceneMessage = DCL.Interface.PB_SendSceneMessage.Parser.ParseFrom(bytes);
            sceneId          = sendSceneMessage.SceneId;
            tag = sendSceneMessage.Tag;

            message = null;

            switch (sendSceneMessage.PayloadCase)
            {
            case PB_SendSceneMessage.PayloadOneofCase.CreateEntity:
                message = MessagingTypes.ENTITY_CREATE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.RemoveEntity:
                message = MessagingTypes.ENTITY_DESTROY;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.UpdateEntityComponent:
                message = MessagingTypes.ENTITY_COMPONENT_CREATE_OR_UPDATE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.AttachEntityComponent:
                message = MessagingTypes.SHARED_COMPONENT_ATTACH;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.ComponentCreated:
                message = MessagingTypes.SHARED_COMPONENT_CREATE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.ComponentDisposed:
                message = MessagingTypes.SHARED_COMPONENT_DISPOSE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.ComponentRemoved:
                message = MessagingTypes.ENTITY_COMPONENT_DESTROY;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.ComponentUpdated:
                message = MessagingTypes.SHARED_COMPONENT_UPDATE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.SceneStarted:
                message = MessagingTypes.INIT_DONE;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.SetEntityParent:
                message = MessagingTypes.ENTITY_REPARENT;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.Query:
                message = MessagingTypes.QUERY;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.OpenExternalUrl:
                message = MessagingTypes.OPEN_EXTERNAL_URL;
                break;

            case PB_SendSceneMessage.PayloadOneofCase.OpenNFTDialog:
                message = MessagingTypes.OPEN_NFT_DIALOG;
                break;

            default:
                Debug.Log("Error: " + payload);
                break;
            }

            return(true);
        }
Exemplo n.º 3
0
        public static void DecodeSceneMessage(string sceneId, string method, string tag, PB_SendSceneMessage sendSceneMessage, ref QueuedSceneMessage_Scene queuedMessage)
        {
            queuedMessage.type    = QueuedSceneMessage.Type.SCENE_MESSAGE;
            queuedMessage.sceneId = sceneId;
            queuedMessage.method  = method;
            queuedMessage.tag     = tag;

            switch (method)
            {
            case MessagingTypes.INIT_DONE:
                queuedMessage.payload = new Protocol.SceneReady();
                break;

            case MessagingTypes.QUERY:
                QueryMessage query = new QueryMessage();
                DecodeQueryMessage(sendSceneMessage.Query.QueryId, sendSceneMessage.Query.Payload, ref query);
                queuedMessage.payload = query;
                break;

            case MessagingTypes.ENTITY_CREATE:
                queuedMessage.payload = Protocol.CreateEntity.FromPB(sendSceneMessage.CreateEntity);
                break;

            case MessagingTypes.ENTITY_DESTROY:
                queuedMessage.payload = Protocol.RemoveEntity.FromPB(sendSceneMessage.RemoveEntity);
                break;

            case MessagingTypes.ENTITY_REPARENT:
                queuedMessage.payload = Protocol.SetEntityParent.FromPB(sendSceneMessage.SetEntityParent);
                break;

            case MessagingTypes.SHARED_COMPONENT_CREATE:
                queuedMessage.payload = Protocol.SharedComponentCreate.FromPB(sendSceneMessage.ComponentCreated);
                break;

            case MessagingTypes.SHARED_COMPONENT_ATTACH:
                queuedMessage.payload = Protocol.SharedComponentAttach.FromPB(sendSceneMessage.AttachEntityComponent);
                break;

            case MessagingTypes.SHARED_COMPONENT_UPDATE:
                queuedMessage.payload = Protocol.SharedComponentUpdate.FromPB(sendSceneMessage.ComponentUpdated);
                break;

            case MessagingTypes.SHARED_COMPONENT_DISPOSE:
                queuedMessage.payload = Protocol.SharedComponentDispose.FromPB(sendSceneMessage.ComponentDisposed);
                break;

            case MessagingTypes.ENTITY_COMPONENT_CREATE_OR_UPDATE:
                queuedMessage.payload = Protocol.EntityComponentCreateOrUpdate.FromPB(sendSceneMessage.UpdateEntityComponent);
                break;

            case MessagingTypes.ENTITY_COMPONENT_DESTROY:
                queuedMessage.payload = Protocol.EntityComponentDestroy.FromPB(sendSceneMessage.ComponentRemoved);
                break;

            case MessagingTypes.OPEN_NFT_DIALOG:
                queuedMessage.payload = Protocol.OpenNftDialog.FromPB(sendSceneMessage.OpenNFTDialog);
                break;

            case MessagingTypes.OPEN_EXTERNAL_URL:
                queuedMessage.payload = Protocol.OpenExternalUrl.FromPB(sendSceneMessage.OpenExternalUrl);
                break;
            }
        }
Exemplo n.º 4
0
        public static MessagingBus.QueuedSceneMessage_Scene DecodeSceneMessage(string sceneId, string method, string tag, PB_SendSceneMessage sendSceneMessage, ref MessagingBus.QueuedSceneMessage_Scene queuedMessage)
        {
            queuedMessage.type    = MessagingBus.QueuedSceneMessage.Type.SCENE_MESSAGE;
            queuedMessage.sceneId = sceneId;
            queuedMessage.method  = method;
            queuedMessage.tag     = tag;

            queuedMessage.payload = sendSceneMessage;

            return(queuedMessage);
        }