public override FeatureBase clone() { IntPtr cPtr = libtischPINVOKE.BlobGroup_clone(swigCPtr); BlobGroup ret = (cPtr == IntPtr.Zero) ? null : new BlobGroup(cPtr, false); if (libtischPINVOKE.SWIGPendingException.Pending) { throw libtischPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public new static BlobGroup dynamic_cast(FeatureBase arg0) { IntPtr cPtr = libtischPINVOKE.BlobGroup_dynamic_cast(FeatureBase.getCPtr(arg0)); BlobGroup ret = (cPtr == IntPtr.Zero) ? null : new BlobGroup(cPtr, false); if (libtischPINVOKE.SWIGPendingException.Pending) { throw libtischPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
internal void Initialize(BlobSystem system, Engine.BlamEngineTargetHandle gameTarget, BlobGroup blobGroup, int version) { SystemGroup = blobGroup; GameTarget = gameTarget; Version = version; BlobGroupVersionAndBuildInfo info_for_version; if (SystemGroup.VersionAndBuildMap.TryGetValue(Version, out info_for_version)) { SystemGroupVersionInfo = info_for_version; } else { throw new KSoft.Debug.UnreachableException(); } InitializeExplicitlyForGame(gameTarget); }
BlobObject EnumerateChunksReadObject(BlobSystem blobSystem, BlobGroup blobGroup, BlobGroupVersionAndBuildInfo infoForVersion, BlobChunkHeader header, byte[] data) { Contract.Requires <InvalidOperationException>(!GameTarget.IsNone); var obj = blobSystem.CreateObject(GameTarget, blobGroup, header.Version, header.Size); var byte_order = UnderlyingStream.ByteOrder; if (infoForVersion.ForceLittleEndian) { byte_order = Shell.EndianFormat.Little; } using (var ms = new System.IO.MemoryStream(data)) using (var es = new IO.EndianStream(ms, byte_order, this, blobGroup.GroupTag.Name, FileAccess.Read)) { es.StreamMode = FileAccess.Read; obj.Serialize(es); } return(obj); }
void EnumerateChunksReadObjectFoundBuildIncompatibility(BlobSystem blobSystem, BlobChunkHeader header, BlobGroup blobGroup, Engine.EngineBuildHandle buildForBlobVersion, Engine.EngineBuildHandle actualBuild) { Util.MarkUnusedVariable(ref blobSystem); throw new InvalidOperationException(string.Format(Util.InvariantCultureInfo, "Build incompatibility for chunk {0} v{1} sizeof({2}) which uses build={3} " + "but we're using build={4} for {5}", blobGroup.GroupTag.TagString, header.Version, header.DataSize, buildForBlobVersion.ToDisplayString(), actualBuild.ToDisplayString(), UnderlyingStream.StreamName)); }
internal static HandleRef getCPtr(BlobGroup obj) { return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr); }