本文整理汇总了C#中IUnrealStream.ReadObjectIndex方法的典型用法代码示例。如果您正苦于以下问题:C# IUnrealStream.ReadObjectIndex方法的具体用法?C# IUnrealStream.ReadObjectIndex怎么用?C# IUnrealStream.ReadObjectIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IUnrealStream
的用法示例。
在下文中一共展示了IUnrealStream.ReadObjectIndex方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Deserialize
public override void Deserialize( IUnrealStream stream )
{
stream.ReadObjectIndex();
Decompiler.AlignObjectSize();
DeserializeNext();
// ==
DeserializeNext();
}
示例2: Deserialize
public override void Deserialize( IUnrealStream stream )
{
// TODO: Corrigate version.
if( stream.Version <= 300 )
return;
_ReturnObject = Decompiler._Container.TryGetIndexObject( stream.ReadObjectIndex() );
Decompiler.AlignObjectSize();
}
示例3: Deserialize
public void Deserialize( IUnrealStream stream )
{
Class = stream.ReadObjectIndex();
// Deep
stream.ReadInt32();
// ScriptTextCRC
stream.ReadUInt32();
}
示例4: Deserialize
public void Deserialize( IUnrealStream stream )
{
if( stream.Version <= 540 )
{
// e.g. Core.Object.X
FieldName = stream.ReadText();
}
else
{
FieldIndex = stream.ReadObjectIndex();
}
MetaTags = new UArray<UMetaTag>();
MetaTags.Deserialize( stream, tag => tag.Owner = Owner );
}
示例5: Deserialize
public override void Deserialize( IUnrealStream stream )
{
// TODO: Corrigate Version
if( stream.Version > 180 )
{
++ stream.Position; // ReadByte()
Decompiler.AlignSize( sizeof(byte) );
}
// Delegate object index
stream.ReadObjectIndex();
Decompiler.AlignObjectSize();
// Delegate name index
FunctionNameIndex = stream.ReadNameIndex();
Decompiler.AlignNameSize();
DeserializeCall();
}
示例6: Deserialize
public override void Deserialize( IUnrealStream stream )
{
var propertyAdded = stream.Version >= VSizeByteMoved
#if TERA
&& stream.Package.Build != UnrealPackage.GameBuild.BuildName.Tera
#endif
#if TRANSFORMERS
&& stream.Package.Build != UnrealPackage.GameBuild.BuildName.Transformers
#endif
;
// A.?
DeserializeNext();
// SkipSize
stream.ReadUInt16();
Decompiler.AlignSize( sizeof(ushort) );
// Doesn't seem to exist in APB
if( propertyAdded )
{
// Property
stream.ReadObjectIndex();
Decompiler.AlignObjectSize();
}
// PropertyType
stream.ReadByte();
Decompiler.AlignSize( sizeof(byte) );
// Additional byte in APB?
if( stream.Version > 512 && !propertyAdded )
{
stream.ReadByte();
Decompiler.AlignSize( sizeof(byte) );
}
// ?.B
DeserializeNext();
}
示例7: Deserialize
public override void Deserialize( IUnrealStream stream )
{
if( stream.Version >= 600 )
{
// Points to the object that was passed to the switch,
// beware that the followed token chain contains it as well!
stream.ReadObjectIndex();
Decompiler.AlignObjectSize();
}
// TODO: Corrigate version
if( stream.Version >= 536 && stream.Version <= 587 )
{
PropertyType = stream.ReadUInt16();
Decompiler.AlignSize( sizeof(ushort) );
}
else
{
PropertyType = stream.ReadByte();
Decompiler.AlignSize( sizeof(byte) );
}
// Expression
DeserializeNext();
}
示例8: Deserialize
public void Deserialize( IUnrealStream stream )
{
ClassIndex = stream.ReadObjectIndex();
SuperIndex = stream.ReadObjectIndex();
OuterIndex = stream.ReadInt32(); // ObjectIndex, though always written as 32bits regardless of build.
#if BIOSHOCK
if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Version >= 132 )
{
stream.Skip( sizeof(int) );
}
#endif
ObjectName = stream.ReadNameReference();
if( stream.Version >= VArchetype )
{
ArchetypeIndex = stream.ReadInt32();
}
_ObjectFlagsOffset = stream.Position;
ObjectFlags = stream.ReadUInt32();
if( stream.Version >= VObjectFlagsToULONG
#if BIOSHOCK
|| (stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Package.LicenseeVersion >= 40)
#endif
)
{
ObjectFlags = (ObjectFlags << 32) | stream.ReadUInt32();
}
SerialSize = stream.ReadIndex();
if( SerialSize > 0 || stream.Version >= VSerialSizeConditionless )
{
SerialOffset = stream.ReadIndex();
}
#if BIOSHOCK
if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock && stream.Version >= 130 )
{
stream.Skip( sizeof(int) );
}
#endif
if( stream.Version < 220 )
return;
if( stream.Version < 543
#if ALPHAPROTOCOL
&& stream.Package.Build != UnrealPackage.GameBuild.BuildName.AlphaProtcol
#endif
#if TRANSFORMERS
&& (stream.Package.Build != UnrealPackage.GameBuild.BuildName.Transformers || stream.Package.LicenseeVersion < 37)
#endif
)
{
int componentMapCount = stream.ReadInt32();
stream.Skip( componentMapCount * 12 );
//if( componentMapCount > 0 )
//{
// Components = new Dictionary<int, int>( componentMapCount );
// for( int i = 0; i < componentMapCount; ++ i )
// {
// Components.Add( stream.ReadNameIndex(), stream.ReadObjectIndex() );
// }
//}
}
if( stream.Version < 247 )
return;
ExportFlags = stream.ReadUInt32();
if( stream.Version < 322 )
return;
#if TRANSFORMERS
if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Transformers && stream.Package.LicenseeVersion >= 116 )
{
var flag = stream.ReadByte();
if( flag == 0 )
{
return;
}
}
#endif
#if BIOSHOCK
if( stream.Package.Build == UnrealPackage.GameBuild.BuildName.Bioshock_Infinite )
{
var unk = stream.ReadUInt32();
if( unk == 1 )
{
var flags = stream.ReadUInt32();
if( (flags & 1) != 0x0 )
{
stream.ReadUInt32();
}
stream.Skip( 16 ); // guid
stream.ReadUInt32(); // 01000020
}
return;
}
#endif
#if MKKE
if( stream.Package.Build != UnrealPackage.GameBuild.BuildName.MKKE )
{
//.........这里部分代码省略.........
示例9: Deserialize
public override void Deserialize( IUnrealStream stream )
{
Object = Decompiler._Container.TryGetIndexObject( stream.ReadObjectIndex() );
Decompiler.AlignObjectSize();
}