public static void CreateEntry(IMGEntry parent, WZObject obj) { switch (obj.type) { case WZObject.WZObjectType.WZ_EMPTY: CreateEntry(parent, (WZEmpty)obj); break; case WZObject.WZObjectType.WZ_SHORT: CreateEntry(parent, (WZShort)obj); break; case WZObject.WZObjectType.WZ_INTEGER: CreateEntry(parent, (WZInteger)obj); break; case WZObject.WZObjectType.WZ_FLOAT: CreateEntry(parent, (WZFloat)obj); break; case WZObject.WZObjectType.WZ_DOUBLE: CreateEntry(parent, (WZDouble)obj); break; case WZObject.WZObjectType.WZ_STRING: CreateEntry(parent, (WZString)obj); break; case WZObject.WZObjectType.WZ_COMPLEX: CreateEntry(parent, (WZComplex)obj); break; case WZObject.WZObjectType.WZ_PROPERTY: CreateEntry(parent, (WZProperty)obj); break; case WZObject.WZObjectType.WZ_CONVEX: CreateEntry(parent, (WZConvex)obj); break; case WZObject.WZObjectType.WZ_VECTOR: CreateEntry(parent, (WZVector)obj); break; case WZObject.WZObjectType.WZ_CANVAS: CreateEntry(parent, (WZCanvas)obj); break; case WZObject.WZObjectType.WZ_UOL: CreateEntry(parent, (WZUOL)obj); break; case WZObject.WZObjectType.WZ_SOUND: CreateEntry(parent, (WZSound)obj); break; } }
public void SetVector(WZVector set) { if (value == null) { value = set; } if (value.type == WZObject.WZObjectType.WZ_VECTOR) { value = set; } }
public void SetCanvas(WZCanvas set) { if (value == null) { value = set; } if (value.type == WZObject.WZObjectType.WZ_CANVAS) { value = set; } }
public void Dispose() { if (value != null) { value.Dispose(); value = null; } foreach (IMGEntry entry in childs.Values) { entry.Dispose(); } childs.Clear(); }
public override void Write(BinaryWriter file) { tStrings.Clear(); if (imgOffsets.Contains(this)) { WriteOffsetAt(file, (int)imgOffsets[this], (int)file.BaseStream.Position); } if (ToSave) { if (imgsFiles.Contains(this)) { BinaryReader temp = new BinaryReader(System.IO.File.OpenRead((string)imgsFiles[this])); file.Write(temp.ReadBytes((int)temp.BaseStream.Length)); temp.Close(); System.IO.File.Delete((string)imgsFiles[this]); } else { WZObject.FromEntry(this).Write(file); } } else { long pos = this.file.file.BaseStream.Position; this.file.file.BaseStream.Seek(baseOffset + this.file.FileStart, SeekOrigin.Begin); file.Write(this.file.file.ReadBytes(Size)); this.file.file.BaseStream.Seek(pos, SeekOrigin.Begin); } }
public IMGEntry(IMGEntry parent, string Name, WZObject value) { this.parent = parent; this.Name = Name; this.value = value; }
public IMGEntry(string Name, WZObject value) : this(null, Name, value) { }