public static MaterialSetAndVariantOption MakeWithDefaultVariants(MaterialSetOption materialSet) { var variantSelections = materialSet.Settings.VariantCategories .ToImmutableDictionary(category => category.Name, category => category.Variants[0].Name); return(new MaterialSetAndVariantOption(materialSet, variantSelections)); }
public static FigureDefinition Load(IArchiveDirectory dataDir, string name, FigureDefinition parent) { IArchiveDirectory figureDir = dataDir.Subdirectory("figures").Subdirectory(name); var channelSystemRecipe = Persistance.Load <ChannelSystemRecipe>(figureDir.File("channel-system-recipe.dat")); var channelSystem = channelSystemRecipe.Bake(parent?.ChannelSystem); BoneSystem boneSystem; RigidTransform[] childToParentBindPoseTransforms; if (parent != null) { boneSystem = parent.BoneSystem; childToParentBindPoseTransforms = Persistance.Load <RigidTransform[]>(figureDir.File("child-to-parent-bind-pose-transforms.dat")); } else { var boneSystemRecipe = Persistance.Load <BoneSystemRecipe>(figureDir.File("bone-system-recipe.dat")); boneSystem = boneSystemRecipe.Bake(channelSystem.ChannelsByName); childToParentBindPoseTransforms = null; } var shapeOptions = Shape.LoadAllForFigure(figureDir, channelSystem); var materialSetOptions = MaterialSetOption.LoadAllForFigure(figureDir); return(new FigureDefinition(name, figureDir, channelSystem, boneSystem, childToParentBindPoseTransforms, shapeOptions, materialSetOptions)); }
public static List <MaterialSetOption> LoadAllForFigure(IArchiveDirectory figureDir) { List <MaterialSetOption> materialSets = new List <MaterialSetOption>(); IArchiveDirectory materialSetsDirectory = figureDir.Subdirectory("material-sets"); foreach (var materialSetDirectory in materialSetsDirectory.Subdirectories) { var materialSet = MaterialSetOption.Load(materialSetDirectory); materialSets.Add(materialSet); } return(materialSets); }
private void Model_MaterialSetChanged(MaterialSetOption oldMaterialSet, MaterialSetOption newMaterialSet) { SyncMaterialSet(); }
public CharacterMenuItem(FigureModel model, Shape shape, MaterialSetOption materialSet) { this.model = model; this.shape = shape; this.materialSet = materialSet; }
public MaterialSetAndVariantOption(MaterialSetOption option, ImmutableDictionary <string, string> variantSelection) { MaterialSet = option; VariantSelections = variantSelection; }
public MaterialSetMenuItem(FigureModel model, MaterialSetOption materialSet) { this.model = model; this.materialSet = materialSet; }