本文整理汇总了C#中EndianBinaryReader.ReadStringNT方法的典型用法代码示例。如果您正苦于以下问题:C# EndianBinaryReader.ReadStringNT方法的具体用法?C# EndianBinaryReader.ReadStringNT怎么用?C# EndianBinaryReader.ReadStringNT使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EndianBinaryReader
的用法示例。
在下文中一共展示了EndianBinaryReader.ReadStringNT方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: txt1
public txt1(EndianBinaryReader er)
: base(er)
{
long baseoffset = er.BaseStream.Position - 0x4C;
NrCharacters = er.ReadUInt16();
NrCharacters2 = er.ReadUInt16();
MaterialId = er.ReadUInt16();
FontId = er.ReadUInt16();
PositionType = er.ReadByte();
TextAlignment = er.ReadByte();
TextFlags = er.ReadByte();
Padding = er.ReadByte();
StringOffset = er.ReadUInt32();
TopColor = er.ReadColor8();
BottomColor = er.ReadColor8();
FontSize = er.ReadVector2();
CharSpace = er.ReadSingle();
LineSpace = er.ReadSingle();
er.BaseStream.Position = baseoffset + StringOffset;
Text = er.ReadStringNT(Encoding.Unicode);
er.BaseStream.Position = baseoffset + SectionSize;
}
示例2: BoneMember
public BoneMember(EndianBinaryReader er)
: base(er)
{
BoneNameOffset = (uint)er.BaseStream.Position + er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = BoneNameOffset;
BoneName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例3: CMDL
public CMDL(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Signature = er.ReadString(Encoding.ASCII, 4);
if (Signature != "CMDL") throw new SignatureNotCorrectException(Signature, "CMDL", er.BaseStream.Position);
Revision = er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown2 = er.ReadUInt32();
Unknown3 = er.ReadUInt32();
Flags = er.ReadUInt32();
IsBranchVisible = er.ReadUInt32() == 1;
NrChildren = er.ReadUInt32();
Unknown7 = er.ReadUInt32();
NrAnimationGroupDescriptions = er.ReadUInt32();
AnimationGroupDescriptionsDictOffset =er.ReadUInt32();
if (AnimationGroupDescriptionsDictOffset != 0) AnimationGroupDescriptionsDictOffset += (UInt32)er.BaseStream.Position - 4;
Scale = er.ReadVector3();
Rotation = er.ReadVector3();
Translation = er.ReadVector3();
LocalMatrix = er.ReadSingles(4 * 3);
WorldMatrix = er.ReadSingles(4 * 3);
NrMeshes = er.ReadUInt32();
MeshOffsetsOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
NrMaterials = er.ReadUInt32();
MaterialsDictOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
NrShapes = er.ReadUInt32();
ShapeOffsetsOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
NrMeshNodes = er.ReadUInt32();
MeshNodeVisibilitiesDictOffset = er.ReadUInt32();
if (MeshNodeVisibilitiesDictOffset != 0) MeshNodeVisibilitiesDictOffset += (UInt32)er.BaseStream.Position - 4;
Unknown23 = er.ReadUInt32();
Unknown24 = er.ReadUInt32();
Unknown25 = er.ReadUInt32();
if ((Type & 0x80) != 0) SkeletonInfoSOBJOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
if (AnimationGroupDescriptionsDictOffset != 0)
{
er.BaseStream.Position = AnimationGroupDescriptionsDictOffset;
AnimationInfoDict = new DICT(er);
}
er.BaseStream.Position = MeshOffsetsOffset;
MeshOffsets = new UInt32[NrMeshes];
for (int i = 0; i < NrMeshes; i++)
{
MeshOffsets[i] = (UInt32)er.BaseStream.Position + er.ReadUInt32();
}
er.BaseStream.Position = MaterialsDictOffset;
MaterialsDict = new DICT(er);
Materials = new MTOB[NrMaterials];
for (int i = 0; i < NrMaterials; i++)
{
er.BaseStream.Position = MaterialsDict[i].DataOffset;
Materials[i] = new MTOB(er);
}
er.BaseStream.Position = ShapeOffsetsOffset;
ShapeOffsets = new UInt32[NrShapes];
for (int i = 0; i < NrShapes; i++)
{
ShapeOffsets[i] = (UInt32)er.BaseStream.Position + er.ReadUInt32();
}
if (MeshNodeVisibilitiesDictOffset != 0)
{
er.BaseStream.Position = MeshNodeVisibilitiesDictOffset;
MeshNodeVisibilitiesDict = new DICT(er);
}
AnimationGroupDescriptions = new GraphicsAnimationGroup[NrAnimationGroupDescriptions];
for (int i = 0; i < NrAnimationGroupDescriptions; i++)
{
er.BaseStream.Position = AnimationInfoDict[i].DataOffset;
AnimationGroupDescriptions[i] = new GraphicsAnimationGroup(er);
}
Meshes = new Mesh[NrMeshes];
for (int i = 0; i < NrMeshes; i++)
{
er.BaseStream.Position = MeshOffsets[i];
Meshes[i] = new Mesh(er);
}
Shapes = new SeparateDataShape[NrShapes];
for (int i = 0; i < NrShapes; i++)
{
er.BaseStream.Position = ShapeOffsets[i];
Shapes[i] = new SeparateDataShape(er);
}
MeshNodeVisibilities = new MeshNodeVisibilityCtr[NrMeshNodes];
for (int i = 0; i < NrMeshNodes; i++)
{
er.BaseStream.Position = MeshNodeVisibilitiesDict[i].DataOffset;
MeshNodeVisibilities[i] = new MeshNodeVisibilityCtr(er);
}
//.........这里部分代码省略.........
示例4: AnimationGroupMember
public AnimationGroupMember(EndianBinaryReader er)
{
Type = (AnimationGroupMemberType)er.ReadUInt32();
PathOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
MemberOffset = er.ReadUInt32();
BlendOperationIndex = er.ReadUInt32();
ObjectType = er.ReadUInt32();
MemberType = er.ReadUInt32();
ResMaterialPtr = er.ReadUInt32();
//Type Specific Stuff
long curpos = er.BaseStream.Position;
er.BaseStream.Position = PathOffset;
Path = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例5: GraphicsAnimationGroup
public GraphicsAnimationGroup(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Flags = (GraphicsAnimGroupFlags)er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
MemberType = (GraphicsMemberType)er.ReadUInt32();
NrMembers = er.ReadUInt32();
MemberInfoDICTOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
NrBlendOperations = er.ReadUInt32();
BlendOperationArrayOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
EvaluationTiming = (AnimGroupEvaluationTiming)er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = MemberInfoDICTOffset;
MemberInfoDICT = new DICT(er);
er.BaseStream.Position = BlendOperationArrayOffset;
BlendOperations = er.ReadUInt32s((int)NrBlendOperations);
AnimationGroupMembers = new AnimationGroupMember[NrMembers];
for (int i = 0; i < NrMembers; i++)
{
er.BaseStream.Position = MemberInfoDICT[i].DataOffset;
AnimationGroupMembers[i] = AnimationGroupMember.FromStream(er);
}
er.BaseStream.Position = curpos;
}
示例6: Bone
public Single[] WorldMatrix; //4x3
#endregion Fields
#region Constructors
public Bone(EndianBinaryReader er)
{
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Flags = (BoneFlags)er.ReadUInt32();
JointID = er.ReadUInt32();
ParentID = er.ReadInt32();
if (ParentID == -1) ParentOffset = er.ReadUInt32();
else ParentOffset = (UInt32)(er.BaseStream.Position + er.ReadInt32());
ChildOffset = er.ReadUInt32();
if (ChildOffset != 0) ChildOffset += (UInt32)(er.BaseStream.Position - 4);
PreviousSiblingOffset = er.ReadUInt32();
if (PreviousSiblingOffset != 0) PreviousSiblingOffset += (UInt32)(er.BaseStream.Position - 4);
NextSiblingOffset = er.ReadUInt32();
if (NextSiblingOffset != 0) NextSiblingOffset += (UInt32)(er.BaseStream.Position - 4);
Scale = new Vector3(er.ReadSingle(), er.ReadSingle(), er.ReadSingle());
Rotation = new Vector3(er.ReadSingle(), er.ReadSingle(), er.ReadSingle());
Translation = new Vector3(er.ReadSingle(), er.ReadSingle(), er.ReadSingle());
LocalMatrix = er.ReadSingles(4 * 3);
WorldMatrix = er.ReadSingles(4 * 3);
InverseBaseMatrix = er.ReadSingles(4 * 3);
BillboardMode = (BBMode)er.ReadUInt32();
Unknown6 = er.ReadUInt32();
Unknown7 = er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例7: SkeletonCtr
public SkeletonCtr(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Signature = er.ReadString(Encoding.ASCII, 4);
if (Signature != "SOBJ") throw new SignatureNotCorrectException(Signature, "SOBJ", er.BaseStream.Position);
Revision = er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown2 = er.ReadUInt32();
Unknown3 = er.ReadUInt32();
NrBones = er.ReadUInt32();
BoneDictionaryOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
RootBoneOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
ScalingRule = (SkeletonScalingRule)er.ReadUInt32();
Flags = (SkeletonFlags)er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = BoneDictionaryOffset;
BoneDictionary = new DICT(er);
Bones = new Bone[NrBones];
for (int i = 0; i < NrBones; i++)
{
er.BaseStream.Position = BoneDictionary[i].DataOffset;
Bones[i] = new Bone(er);
}
er.BaseStream.Position = curpos;
}
示例8: MeshNodeVisibilityMember
public MeshNodeVisibilityMember(EndianBinaryReader er)
: base(er)
{
NodeNameOffset = (uint)er.BaseStream.Position + er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NodeNameOffset;
NodeName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例9: SHDR
public SHDR(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Signature = er.ReadString(Encoding.ASCII, 4);
if (Signature != "SHDR") throw new SignatureNotCorrectException(Signature, "SHDR", er.BaseStream.Position);
Revision = er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown2 = er.ReadUInt32();
Unknown3 = er.ReadUInt32();
LinkedShaderNameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown4 = er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = LinkedShaderNameOffset;
LinkedShaderName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例10: ReferenceLookupTableCtr
public ReferenceLookupTableCtr(EndianBinaryReader er)
{
Type = er.ReadUInt32();
BinaryPathOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
TableNameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
TargetLUTOffset = er.ReadUInt32();
if (TargetLUTOffset != 0) TargetLUTOffset += (UInt32)er.BaseStream.Position - 4;
long curpos = er.BaseStream.Position;
er.BaseStream.Position = BinaryPathOffset;
BinaryPath = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = TableNameOffset;
TableName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例11: MTOB
public MTOB(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Signature = er.ReadString(Encoding.ASCII, 4);
if (Signature != "MTOB") throw new SignatureNotCorrectException(Signature, "MTOB", er.BaseStream.Position);
Revision = er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown2 = er.ReadUInt32();
Unknown3 = er.ReadUInt32();
Flags = (MaterialFlags)er.ReadUInt32();
TexCoordConfig = er.ReadUInt32();
TranslucencyKind = er.ReadUInt32();
MaterialColor = new MaterialColorCtr(er);
Rasterization = new RasterizationCtr(er);
FragmentOperation = new FragmentOperationCtr(er);
NrActiveTextureCoordiators = er.ReadUInt32();
TextureCoordiators = new TextureCoordinatorCtr[3];
TextureCoordiators[0] = new TextureCoordinatorCtr(er);
TextureCoordiators[1] = new TextureCoordinatorCtr(er);
TextureCoordiators[2] = new TextureCoordinatorCtr(er);
TexMapper0Offset = er.ReadUInt32();
if (TexMapper0Offset != 0) TexMapper0Offset += (UInt32)er.BaseStream.Position - 4;
TexMapper1Offset = er.ReadUInt32();
if (TexMapper1Offset != 0) TexMapper1Offset += (UInt32)er.BaseStream.Position - 4;
TexMapper2Offset = er.ReadUInt32();
if (TexMapper2Offset != 0) TexMapper2Offset += (UInt32)er.BaseStream.Position - 4;
ProcTexMapperOffset = er.ReadUInt32();
if (ProcTexMapperOffset != 0) ProcTexMapperOffset += (UInt32)er.BaseStream.Position - 4;
ShaderOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
FragmentShaderOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
ShaderProgramDescriptionIndex = er.ReadUInt32();
NrShaderParameters = er.ReadUInt32();
ShaderParametersOffsetArrayOffset = er.ReadUInt32();
LightSetIndex = er.ReadUInt32();
FogIndex = er.ReadUInt32();
ShadingParameterHash = er.ReadUInt32();
ShaderParametersHash = er.ReadUInt32();
TextureCoordinatorsHash = er.ReadUInt32();
TextureSamplersHash = er.ReadUInt32();
TextureMappersHash = er.ReadUInt32();
MaterialColorHash = er.ReadUInt32();
RasterizationHash = er.ReadUInt32();
FragmentLightingHash = er.ReadUInt32();
FragmentLightingTableHash = er.ReadUInt32();
FragmentLightingTableParametersHash = er.ReadUInt32();
TextureCombinersHash = er.ReadUInt32();
AlphaTestHash = er.ReadUInt32();
FragmentOperationHash = er.ReadUInt32();
MaterialId = er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
if (TexMapper0Offset != 0)
{
er.BaseStream.Position = TexMapper0Offset;
Tex0 = new TexInfo(er);
}
if (TexMapper1Offset != 0)
{
er.BaseStream.Position = TexMapper1Offset;
Tex1 = new TexInfo(er);
}
if (TexMapper2Offset != 0)
{
er.BaseStream.Position = TexMapper2Offset;
Tex2 = new TexInfo(er);
}
/*if (TexMapper3Offset != 0)
{
er.BaseStream.Position = Tex3Offset;
Tex3 = new TexInfo(er);
}*/
//TODO: Procedural Texture Mapper
er.BaseStream.Position = ShaderOffset;
Shader = new SHDR(er);
er.BaseStream.Position = FragmentShaderOffset;
FragShader = new FragmentShader(er);
er.BaseStream.Position = curpos;
}
示例12: MeshNodeVisibilityCtr
public MeshNodeVisibilityCtr(EndianBinaryReader er)
{
NameOffset = (uint)er.BaseStream.Position + er.ReadUInt32();
Visible = er.ReadUInt32() == 1;
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例13: Mesh
public Mesh(EndianBinaryReader er)
{
Type = er.ReadUInt32();
Signature = er.ReadString(Encoding.ASCII, 4);
if (Signature != "SOBJ") throw new SignatureNotCorrectException(Signature, "SOBJ", er.BaseStream.Position);
Revision = er.ReadUInt32();
NameOffset = (UInt32)er.BaseStream.Position + er.ReadUInt32();
Unknown2 = er.ReadUInt32();
Unknown3 = er.ReadUInt32();
ShapeIndex = er.ReadUInt32();
MaterialIndex = er.ReadUInt32();
OwnerModelOffset = (uint)(er.ReadInt32() + (UInt32)er.BaseStream.Position);
IsVisible = er.ReadByte() == 1;
RenderPriority = er.ReadByte();
MeshNodeVisibilityIndex = er.ReadInt16();
Unknown8 = er.ReadUInt32();
Unknown9 = er.ReadUInt32();
Unknown10 = er.ReadUInt32();
Unknown11 = er.ReadUInt32();
Unknown12 = er.ReadUInt32();
Unknown13 = er.ReadUInt32();
Unknown14 = er.ReadUInt32();
Unknown15 = er.ReadUInt32();
Unknown16 = er.ReadUInt32();
Unknown17 = er.ReadUInt32();
Unknown18 = er.ReadUInt32();
Unknown19 = er.ReadUInt32();
Unknown20 = er.ReadUInt32();
Unknown21 = er.ReadUInt32();
Unknown22 = er.ReadUInt32();
Unknown23 = er.ReadUInt32();
Unknown24 = er.ReadUInt32();
Unknown25 = er.ReadUInt32();
MeshNodeNameOffset = er.ReadUInt32();
if (MeshNodeNameOffset != 0) MeshNodeNameOffset += (UInt32)er.BaseStream.Position - 4;
Unknown27 = er.ReadUInt32();
Unknown28 = er.ReadUInt32();
Unknown29 = er.ReadUInt32();
Unknown30 = er.ReadUInt32();
//Unknown31 = er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = NameOffset;
Name = er.ReadStringNT(Encoding.ASCII);
if (MeshNodeNameOffset != 0)
{
er.BaseStream.Position = MeshNodeNameOffset;
MeshNodeName = er.ReadStringNT(Encoding.ASCII);
}
er.BaseStream.Position = curpos;
}
示例14: TextureSamplerMember
public TextureSamplerMember(EndianBinaryReader er)
: base(er)
{
MaterialNameOffset = (uint)er.BaseStream.Position + er.ReadUInt32();
TextureMapperIndex = er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = MaterialNameOffset;
MaterialName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}
示例15: MaterialColorMember
public MaterialColorMember(EndianBinaryReader er)
: base(er)
{
MaterialNameOffset = (uint)er.BaseStream.Position + er.ReadUInt32();
long curpos = er.BaseStream.Position;
er.BaseStream.Position = MaterialNameOffset;
MaterialName = er.ReadStringNT(Encoding.ASCII);
er.BaseStream.Position = curpos;
}