public ArkSavegame(int?savegameMaxDegreeOfParallelism = null, ArkNameTree exclusivePropertyNameTree = null) { Objects = new List <GameObject>(); _arkNameCache = new ArkNameCache(); _arkStringCache = new ArkStringCache(); _savegameMaxDegreeOfParallelism = savegameMaxDegreeOfParallelism; _exclusivePropertyNameTree = exclusivePropertyNameTree; }
private bool _isInstanceInTable; // true only for hibernation object archives // private bool _isSlice; // true if this a subarchive public ArkArchive(MemoryMappedViewAccessor va, long size, ArkNameCache arkNameCache = null, ArkStringCache arkStringCache = null, ArkNameTree exclusivePropertyNameTree = null) { _va = va; _size = size; _arkNameCache = arkNameCache ?? new ArkNameCache(); _arkStringCache = arkStringCache ?? new ArkStringCache(); _exclusivePropertyNameTree = exclusivePropertyNameTree; }
public ArkArchive(ArkArchive toClone, MemoryMappedViewAccessor va) { _va = va; _size = toClone._size; _nameTable = toClone._nameTable; _arkNameCache = toClone._arkNameCache; _arkStringCache = toClone._arkStringCache; _exclusivePropertyNameTree = toClone._exclusivePropertyNameTree; }
public ArkSavegame(string fileName, ArkNameCache arkNameCache = null, int?savegameMaxDegreeOfParallelism = null, ArkNameTree exclusivePropertyNameTree = null) { _fileName = fileName; _arkNameCache = arkNameCache ?? new ArkNameCache(); _arkStringCache = new ArkStringCache(); _savegameMaxDegreeOfParallelism = savegameMaxDegreeOfParallelism; _exclusivePropertyNameTree = exclusivePropertyNameTree; var fi = new FileInfo(_fileName); var size = fi.Length; SaveTime = fi.LastWriteTimeUtc; //if (size == 0) return false; _mmf = MemoryMappedFile.CreateFromFile(_fileName, FileMode.Open, null, 0L, MemoryMappedFileAccess.Read); _va = _mmf.CreateViewAccessor(0L, 0L, MemoryMappedFileAccess.Read); _archive = new ArkArchive(_va, size, _arkNameCache, _arkStringCache, _exclusivePropertyNameTree); }