예제 #1
0
        /// <summary>
        /// Get a list of all area description UUIDs on the device.
        /// </summary>
        /// <returns>List of string UUIDs.</returns>
        private static string[] _GetUUIDList()
        {
            IntPtr rawListString = IntPtr.Zero;
            int    returnValue   = AreaDescriptionAPI.TangoService_getAreaDescriptionUUIDList(ref rawListString);

            if (returnValue != Common.ErrorType.TANGO_SUCCESS)
            {
                Debug.Log("Could not get ADF list from device.\n" + Environment.StackTrace);
                return(null);
            }

            string listString = _ReadUTF8String(rawListString);

            return(listString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
        }
        /// <summary>
        /// Get a list of all area description UUIDs on the device.
        /// </summary>
        /// <returns>List of string UUIDs.</returns>
        private static string[] _GetUUIDList()
        {
#if UNITY_EDITOR
            try
            {
                DirectoryInfo directory = new DirectoryInfo(EMULATED_ADF_SAVE_PATH);
                if (directory.Exists)
                {
                    FileInfo[]    fileInfo = directory.GetFiles();
                    List <string> uuids    = new List <String>();
                    for (int i = 0; i < fileInfo.Length; i++)
                    {
                        if (fileInfo[i].Extension == EMULATED_ADF_EXTENSION)
                        {
                            uuids.Add(Path.GetFileNameWithoutExtension(fileInfo[i].Name));
                        }
                    }

                    return(uuids.ToArray());
                }
            }
            catch (IOException ioException)
            {
                Debug.LogError("IO error in Area Description save/load emulation:\n"
                               + ioException.Message);
            }

            return(new string[0]);
#else
            IntPtr rawListString = IntPtr.Zero;
            int    returnValue   = AreaDescriptionAPI.TangoService_getAreaDescriptionUUIDList(ref rawListString);
            if (returnValue != Common.ErrorType.TANGO_SUCCESS)
            {
                Debug.Log("Could not get ADF list from device.\n" + Environment.StackTrace);
                return(null);
            }

            string listString = _ReadUTF8String(rawListString);
            return(listString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
#endif
        }