コード例 #1
0
        public void SaveLocalMarkerThread(Marker marker, bool isRecognitionManagerRunning, bool replace, string appdatapath, bool sync_after_save)
        {
            if (replace || !File.Exists(appdatapath + "markers/" + marker.markerId + ".dat"))
            {
                string dstMarkerPath = appdatapath + "markers/";
                if (!Directory.Exists(dstMarkerPath))
                {
                    Directory.CreateDirectory(dstMarkerPath);
                }

                if (isRecognitionManagerRunning)
                {
#if UNITY_EDITOR_OSX || (UNITY_IOS && !UNITY_EDITOR_WIN)
                    String sbId         = marker.markerId.ToString();
                    String sbDescriptor = marker.markerDescriptor;
#else
                    StringBuilder sbId         = new StringBuilder(marker.markerId.ToString());
                    StringBuilder sbDescriptor = new StringBuilder(marker.markerDescriptor);
#endif
                    PikkartARCore.SaveLocalMarker(sbId, sbDescriptor);
                }
                else
                {
                    SaveLocalMarkerFile(marker.markerId, Convert.FromBase64String(marker.markerDescriptor));
                }

                if (sync_after_save)
                {
                    PikkartARCore.SyncMarkersWithFolder();
                }
            }

            marker.markerDescriptor = null;
            _localRecognitionService.SaveMarker(marker, true /*_localRecognitionService.GetMarker(marker.markerId) != null*/);
        }