本文整理汇总了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;
}
示例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");
}
}