示例#1
0
        private void Init()
        {
            App.InitMediaLibraryPath();
            App.InitVideoLibraryPath(m_DefaultVideos);

            m_Videos       = new List <ReferenceVideo>();
            m_ChangedFiles = new HashSet <string>();

            StartCoroutine(ScanReferenceDirectory());

            if (Directory.Exists(App.VideoLibraryPath()))
            {
                m_FileWatcher = new FileWatcher(App.VideoLibraryPath());
                m_FileWatcher.NotifyFilter        = NotifyFilters.LastWrite;
                m_FileWatcher.FileChanged        += OnDirectoryChanged;
                m_FileWatcher.FileCreated        += OnDirectoryChanged;
                m_FileWatcher.FileDeleted        += OnDirectoryChanged;
                m_FileWatcher.EnableRaisingEvents = true;
            }
        }
示例#2
0
        public void Init()
        {
            App.InitMediaLibraryPath();
            App.InitModelLibraryPath(m_DefaultModels);

            m_ModelsDirectory = App.ModelLibraryPath();

            if (Directory.Exists(m_ModelsDirectory))
            {
                m_FileWatcher = new FileWatcher(m_ModelsDirectory);
                m_FileWatcher.NotifyFilter        = NotifyFilters.LastWrite;
                m_FileWatcher.FileChanged        += OnChanged;
                m_FileWatcher.FileCreated        += OnChanged;
                m_FileWatcher.FileDeleted        += OnChanged;
                m_FileWatcher.EnableRaisingEvents = true;
            }

            m_ModelsByRelativePath = new Dictionary <string, Model>();
            m_MissingNormalizedModelsByRelativePath = new Dictionary <string, TrTransform[]>();
            m_MissingModelsByRelativePath           = new Dictionary <string, TrTransform[]>();
            m_OrderedModelNames = new List <string>();
            LoadModels();
        }
示例#3
0
        public virtual void Init()
        {
            string sSketchDirectory = App.UserSketchPath();

            ProcessDirectory(sSketchDirectory);
            m_ReadyForAccess = true;

            // No real reason to do this; SaveLoadScript creates the directory itself
            try { Directory.CreateDirectory(sSketchDirectory); }
            catch (IOException) { }
            catch (UnauthorizedAccessException) { }

            if (Directory.Exists(sSketchDirectory))
            {
                m_FileWatcher = new FileWatcher(sSketchDirectory, "*" + SaveLoadScript.TILT_SUFFIX);
                // TODO: improve robustness.  Using Created works for typical copy and move operations, but
                // doesn't handle e.g. streaming file.
                // Note: Renamed event not implemented on OS X, so we rely on Deleted + Created
                // If we ever start doing something special (like warning the user) with deleted or added, we
                // may need to add an explicit 'changed' queue, but delete then create works fine for now.
                m_FileWatcher.FileCreated += (object sender, FileSystemEventArgs e) =>
                {
                    m_ToAdd.Enqueue(e.FullPath);
                };
                m_FileWatcher.FileDeleted += (object sender, FileSystemEventArgs e) =>
                {
                    m_ToDelete.Enqueue(e.FullPath);
                };
                m_FileWatcher.FileChanged += (object sender, FileSystemEventArgs e) =>
                {
                    m_ToDelete.Enqueue(e.FullPath);
                    m_ToAdd.Enqueue(e.FullPath);
                };
                m_FileWatcher.EnableRaisingEvents = true;
            }
        }
        void Awake()
        {
            m_Instance       = this;
            m_RequestedLoads = new Stack <int>();

            App.InitMediaLibraryPath();
            App.InitReferenceImagePath(m_DefaultImages);
            m_ReferenceDirectory = App.ReferenceImagePath();

            if (Directory.Exists(m_ReferenceDirectory))
            {
                m_FileWatcher = new FileWatcher(m_ReferenceDirectory);
                m_FileWatcher.NotifyFilter        = NotifyFilters.LastWrite;
                m_FileWatcher.FileChanged        += OnChanged;
                m_FileWatcher.FileCreated        += OnChanged;
                m_FileWatcher.FileDeleted        += OnChanged;
                m_FileWatcher.EnableRaisingEvents = true;
            }

            ImageCache.DeleteObsoleteCaches();

            m_Images = new List <ReferenceImage>();
            ProcessReferenceDirectory(userOverlay: false);
        }