public ISaveable LoadSaveableObject(ulong id, IStorageLoader loader) { switch (id) { default: throw new Exception($"No ISaveable found with id {id}. It can not be constructed!"); } }
/// <summary> /// Loads from specified storage loader. /// </summary> /// <param name="storageLoader">The storage loader.</param> public void Load(IStorageLoader storageLoader) { if (storageLoader == null) { throw new ArgumentNullException(nameof(storageLoader)); } this.storage = storageLoader.Load()?.ToList(); }
/// <summary> /// Saves to specified storage loader. /// </summary> /// <param name="storageLoader">The storage loader.</param> public void Save(IStorageLoader storageLoader) { if (storageLoader == null) { throw new ArgumentNullException(nameof(storageLoader)); } storageLoader.Save(storage); }
public void Load(IStorageLoader loader) { loader.LoadValue("name", out BoyName); loader.LoadValue("count", out _count); loader.LoadStruct("vec", out _vecCool); loader.LoadRef <ReferenceBoy>("ref", (instance) => { _referenceBoy = instance; }); Vector2[] loadedVecs; loader.LoadStructs("vecs", out loadedVecs); _vecs.AddRange(loadedVecs); }
public void Load(IStorageLoader loader) { loader.LoadRef <ReferenceBoy>("RefA", (instance) => _referenceBoyA = instance); loader.LoadRef <ReferenceBoy>("RefB", (instance) => _referenceBoyB = instance); }