using System; using System.Collections.Generic; using UnityEngine; namespace VRMShaders { public sealed class MaterialDescriptor { public readonly string Name; public readonly Shader Shader; public readonly int? RenderQueue; public readonly IReadOnlyDictionary TextureSlots; public readonly IReadOnlyDictionary FloatValues; public readonly IReadOnlyDictionary Colors; public readonly IReadOnlyDictionary Vectors; public readonly IReadOnlyList> Actions; public SubAssetKey SubAssetKey => new SubAssetKey(SubAssetKey.MaterialType, Name); public MaterialDescriptor( string name, Shader shader, int? renderQueue, IReadOnlyDictionary textureSlots, IReadOnlyDictionary floatValues, IReadOnlyDictionary colors, IReadOnlyDictionary vectors, IReadOnlyList> actions) { Name = name; Shader = shader; RenderQueue = renderQueue; TextureSlots = textureSlots; FloatValues = floatValues; Colors = colors; Vectors = vectors; Actions = actions; } } }