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; }
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); }
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; } }
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); }