示例#1
0
    public static VoxelRegistry GetRegistry()
    {
        if (registry == null)
        {
            registry = Resources.Load <VoxelRegistry>("VoxelRegistry");
            registry.Initialise();
            if (registry == null)
            {
                throw new System.InvalidOperationException("Could not load the voxel registry!");
            }
        }

        return(registry);
    }
示例#2
0
    private Material GetMaterial(int voxelId)
    {
        Material material;

        if (!voxelMaterials.TryGetValue(voxelId, out material))
        {
            VoxelDefinition voxelDef    = VoxelRegistry.GetRegistry()[voxelId];
            GameObject      voxelPrefab = voxelDef.VoxelPrefab;

            material = voxelPrefab.GetComponent <MeshRenderer>().sharedMaterial;
            voxelMaterials[voxelId] = material;
        }

        return(material);
    }