/// <summary> /// Returns all files in the specified path with the specified extension. /// </summary> public string[] GetFileList(string path, string extension) { // "[vehicles]" // "[vehicles]vehicles\warthog\warthog.vehicle" // "[vehicles]vehicles\warthog\warthog.vehicle[dependencies] // "[vehicles]vehicles\warthog\warthog.vehicle[dependencies]vehicles\warthog\warthog.gbxmodel" ObjectViewPath objPath = new ObjectViewPath(path); if (objPath.Tag != "") { // Get the dependencies of this tag. // HACK: This is hardcoded - need to decide on how to determine these items. //DependencyTagLibrary dep = new DependencyTagLibrary(new TagFileName(objPath.Tag, MapfileVersion.HALOPC, TagSource.Archive)); DependencyBuilder builder = new DependencyBuilder(new TagFileName(objPath.Tag, MapfileVersion.HALOPC, TagSource.Archive)); StringCollection strings = new StringCollection(); string basePath = objPath.Path; foreach (string s in builder.Dependencies) { if (s != "") { strings.Add(basePath + "[dependencies]" + s); } } string[] filePaths = new string[strings.Count]; strings.CopyTo(filePaths, 0); return(filePaths); } return(new string[0]); }
public DependencyTagLibrary(params TagFileName[] tags) { this.tags = tags; ArrayList deps = new ArrayList(); foreach (TagFileName tag in tags) { DependencyBuilder db = new DependencyBuilder(tag); deps.AddRange(db.Dependencies); } foreach (string dep in deps) { fileSystem.Add(dep); } }