当前位置: 首页>>代码示例>>C#>>正文


C# BinaryReader.LoadCleanString方法代码示例

本文整理汇总了C#中BinaryReader.LoadCleanString方法的典型用法代码示例。如果您正苦于以下问题:C# BinaryReader.LoadCleanString方法的具体用法?C# BinaryReader.LoadCleanString怎么用?C# BinaryReader.LoadCleanString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BinaryReader的用法示例。


在下文中一共展示了BinaryReader.LoadCleanString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReadInTexture

		public BSPMipTexture ReadInTexture (long Texoffset, BinaryReader stream, string wadname)
		{

				long textureOffset = Texoffset; // need this below to locate colour array of this texture
				stream.BaseStream.Position = textureOffset;

				BSPMipTexture miptex = new BSPMipTexture (stream.LoadCleanString (16), stream.ReadUInt32 (), stream.ReadUInt32 (), stream.ReadUInt32Array (4));
	
				//check to see if texture is in a wad file
				if (miptex.offset [0] == 0)//if its zero then the texture is in a wad file, So skip this texture
				{
			
						Debug.Log ("Error Error");

						miptex.texture = null;
						return miptex;
			
				}
				

				miptex.texture = new Texture2D (miptex.width, miptex.height);//set size of texture
				//color palette is 2 bytes after the end of mipmap[4]

				stream.BaseStream.Position = ((miptex.width * miptex.height / 64) + miptex.offset [3] + textureOffset + 2); //Move stream to start of  Palette.
		
		
				byte[] colourArray = stream.ReadBytes (256 * 3);

				//move stream to start of the texture array
				stream.BaseStream.Position = (textureOffset + miptex.offset [0]);
				int NumberOfPixels = (int)(miptex.height * miptex.width);
				byte[] pixelArray = stream.ReadBytes (NumberOfPixels);
				miptex.texture = MakeTexture2D (miptex.height, miptex.width, colourArray, pixelArray);
	

				return miptex;

		}
开发者ID:Avatarchik,项目名称:unityHalf-life,代码行数:38,代码来源:BSP30map.cs

示例2: LoadTextureFromWad

		private void LoadTextureFromWad (string WadFileName, TexInfoClass[] TexturesToLoad)
		{
				if (File.Exists ("Assets/Wad/" + WadFileName))
				{
//read in wad header
						BinaryReader wadStream = new BinaryReader (File.Open ("Assets/Wad/" + WadFileName, FileMode.Open));
						string wadType = new string (wadStream.ReadChars (4));
						if (wadType != "WAD3" && wadType != "WAD2")
						{
								Debug.LogError ("Wad file wrong type");
								return;
						}
						int numberOfTexs = (int)wadStream.ReadUInt32 ();
						
						wadStream.BaseStream.Position = wadStream.ReadUInt32 (); //move to start of wad directory
						

						TexInfoClass[] TexuresInWadFile = new TexInfoClass[numberOfTexs];//this will hold an array of all texture names and  offsets in the wad file
			              
						//for each texture in wad file get ist name of offset in the file
						for (int i=0; i<TexuresInWadFile.Length; i++)
						{
								TexuresInWadFile [i] = new TexInfoClass ();
								TexuresInWadFile [i].IndexOfMipTex = (int)wadStream.ReadUInt32 (); //get offset for texture
								wadStream.BaseStream.Position += 12;//skip info 
								TexuresInWadFile [i].TextureName = wadStream.LoadCleanString (16);
						}

						//now compare our list of missing textures and load any we find in the TexturesToLoad array
						for (int j=0; j<TexturesToLoad.Length; j++)
						{
								for (int k=0; k<TexuresInWadFile.Length; k++)
								{
								

										if (TexturesToLoad [j].TextureName == TexuresInWadFile [k].TextureName)
										{
												//we found a missing texture so load it
					
												miptexLump [TexturesToLoad [j].IndexOfMipTex] = ReadInTexture (TexuresInWadFile [k].IndexOfMipTex, wadStream, WadFileName);
												if (miptexLump [TexturesToLoad [j].IndexOfMipTex].texture != null)
														TexturesToLoad [j].TextureName = null;//might need check for null returned texture 
												break;

										}


								}
								
						}	
	
						wadStream.Close ();
			
				}
				else
				{
						Debug.LogError ("Error wad file " + WadFileName.ToString () + " not found");
				}

		}
开发者ID:Avatarchik,项目名称:unityHalf-life,代码行数:60,代码来源:BSP30map.cs


注:本文中的BinaryReader.LoadCleanString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。