示例#1
0
        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);
示例#5
0
 private bool TryGetRecord(MeshId id, out ModRegistry.Record record) =>
 _modRegistry.TryGetValue(id.Mod, out record);
示例#6
0
 private bool TryGetRecord(BlockIdentity id, out ModRegistry.Record record) =>
 _modRegistry.TryGetValue(id.Mod, out record);