コード例 #1
0
ファイル: TagIndex.cs プロジェクト: CodeAsm/open-sauce
		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();
			}
		}
コード例 #2
0
ファイル: TagIndex.cs プロジェクト: CodeAsm/open-sauce
		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));
		}
コード例 #3
0
ファイル: TagIndex.cs プロジェクト: CodeAsm/open-sauce
		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);
		}
コード例 #4
0
ファイル: TagIndex.cs プロジェクト: CodeAsm/open-sauce
		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;
		}
コード例 #5
0
		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <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);
		}
コード例 #6
0
ファイル: ColladaHalo1.cs プロジェクト: CodeAsm/open-sauce
		/// <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();
		}