public void DumpSharedReferences(TagIndex other) { List<Blam.DatumIndex> tag_indices = FindSharedReferences(other); if (tag_indices == null) return; using (var util = new TagIndexDumpUtil(this.engine, directory)) { util.Setup(TagIndexDumpUtil.DumpFormat.Xml, TagIndexDumpUtil.DumpType.SharedReferences); //util.SharedReferencesAddLeftIndex(); //util.SharedReferencesAddRightIndex(); util.SharedReferencesBegin(); foreach (Blam.DatumIndex di in tag_indices) { TagManager tm = Array[di]; util.TagInstanceBegin(tm.TagIndex, refManager[tm.ReferenceName], tm.GroupTag); util.TagInstanceEnd(); } util.SharedReferencesEnd(); } }
public void DumpSharedReferences(StreamWriter s, TagIndex other) { List<Blam.DatumIndex> tag_indices = FindSharedReferences(other); if (tag_indices == null) return; foreach(Blam.DatumIndex di in tag_indices) s.WriteLine("{0}", GetRelativePath(di)); }
public List<Blam.DatumIndex> FindSharedReferences(TagIndex other) { if (other == null || this.engine.ToBuild() != other.engine.ToBuild()) return null; // this conditioning doesn't really matter right now with // how ReferenceManager does the searching //if (this.ignoreList == null || this.ignoreList.IsSameCollection(other.ignoreList)) // return FindSharedReferencesFromEqualIndex(other); return FindSharedReferencesFromEqualIndex(other); }
List<Blam.DatumIndex> FindSharedReferencesFromEqualIndex(TagIndex other) { List<Blam.DatumIndex> ref_names = refManager.FindSharedReferencesFromEqualManager(other.refManager); List<Blam.DatumIndex> tag_indices = new List<BlamLib.Blam.DatumIndex>(ref_names.Count); foreach (TagManager tm in Array) if (ref_names.Contains(tm.ReferenceName)) tag_indices.Add(tm.TagIndex); return tag_indices; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Index interface error occurred handler. </summary> /// /// <param name="sender"> Source of the event. </param> /// <param name="e"> The TagIndexErrorArgs to process. </param> void IndexInterfaceErrorOccurred(object sender, TagIndex.TagIndexErrorArgs e) { mMessageHandler.SendMessage(e.Message); }
/// <summary> /// Halo1 export interface class constructor /// </summary> /// <param name="tag_index">Tag index containing the tag being exported</param> /// <param name="tag_datum">DatumIndex of the tag being exported</param> public ColladaHalo1(TagIndex tag_index, DatumIndex tag_datum) { tagIndex = tag_index; tagManager = tag_index[tag_datum]; GenerateInfoList(); }