示例#1
0
 // Call EntryAdded and register Added and Removed handlers
 private void DirAdded(PackEntry dir)
 {
     EntryAdded(dir);
     (dir as VirtualDirectory).FileAdded      += EntryAdded;
     (dir as VirtualDirectory).DirectoryAdded += DirAdded;
     (dir as VirtualDirectory).FileRemoved    += EntryRemoved;
 }
示例#2
0
 // retrieves the packed file at the given path name
 public PackEntry this[string filepath] {
     get {
         string[]         paths  = filepath.Split(Path.DirectorySeparatorChar);
         VirtualDirectory dir    = Root;
         PackEntry        result = dir;
         foreach (string subDir in paths)
         {
             result = dir.GetEntry(subDir);
             dir    = result as VirtualDirectory;
         }
         return(result);
     }
 }
示例#3
0
        /*
         * Retrieve the contained entry with the given name.
         * Will return null if entry does not exist.
         */
        public PackEntry GetEntry(string name)
        {
            PackEntry result = null;

            foreach (PackEntry entry in Entries)
            {
                if (entry.Name.Equals(name))
                {
                    result = entry;
                    break;
                }
            }
            return(result);
        }
示例#4
0
 // Unregister modified and rename handlers
 private void EntryRemoved(PackEntry entry)
 {
     entry.ModifiedEvent -= EntryModified;
     entry.RenameEvent   -= EntryRenamed;
 }
示例#5
0
 // Register modified and rename handlers
 private void EntryAdded(PackEntry file)
 {
     file.ModifiedEvent += EntryModified;
     file.RenameEvent   += EntryRenamed;
     IsModified          = true;
 }
示例#6
0
 // Set modified
 private void EntryRenamed(PackEntry file, string name)
 {
     EntryModified(file);
 }
示例#7
0
 // Set self to modified
 private void EntryModified(PackEntry file)
 {
     IsModified = true;
 }