public static void RegistrySurrogates(this ModRegistry.Record modRegistry, ModRegistryRecordSurrogate surrogate) { foreach (var matSur in surrogate.Atlas) { var mat = matSur.Value; var regions = matSur.Regions; var atlasMaterialIndex = modRegistry.Atlases.Register(matSur.Name, mat); foreach (var region in regions) { modRegistry.Atlases[atlasMaterialIndex].Regions.Register(region.Name, region.Value); } } foreach (var matSur in surrogate.Materials) { var mat = matSur.Value; var subMats = matSur.SubMaterials; var arrayMaterialIndex = modRegistry.Materials.Register(matSur.Name, mat); foreach (var subMat in subMats) { modRegistry.Materials[arrayMaterialIndex].SubMaterials.Register(subMat.Name, subMat.Value); } } }
private bool TryGetRecord(ArrayMaterialKey key, out ModRegistry.Record record) { if (_modRegistry.TryGetId(key.Mod, out var index)) { record = _modRegistry[index]; return(true); } record = default; return(false); }
private bool TryGetRecord(ArrayMaterialKey key, out ModRegistry.Record record, out ModIdentity identity) { if (_modRegistry.TryGetId(key.Mod, out var index)) { record = _modRegistry[index]; identity = new ModIdentity((byte)index); return(true); } record = default; identity = default; return(false); }
private bool TryGetRecord(ArrayMaterialIdentity identity, out ModRegistry.Record record) => _modRegistry.TryGetValue(identity.Mod, out record);
private bool TryGetRecord(MeshId id, out ModRegistry.Record record) => _modRegistry.TryGetValue(id.Mod, out record);
private bool TryGetRecord(BlockIdentity id, out ModRegistry.Record record) => _modRegistry.TryGetValue(id.Mod, out record);