public FigureFacade Load(FigureFacade.Recipe recipe, FigureDefinition parentDefinition)
    {
        FigureDefinition definition = FigureDefinition.Load(dataDir, recipe.name, parentDefinition);

        var model = new FigureModel(definition)
        {
            IsVisible = recipe.isVisible,
            ShapeName = recipe.shape
        };

        model.SetMaterialSetAndVariantByName(recipe.materialSet, recipe.materialVariants);

        var controlVertexProvider = ControlVertexProvider.Load(device, shaderCache, definition);

        var facade = new FigureFacade(device, shaderCache, definition, model, controlVertexProvider, shapeNormalsLoader, figureRendererLoader);

        return(facade);
    }
 public void Toggle()
 {
     model.ShapeName = character.Shape;
     model.SetMaterialSetAndVariantByName(character.MaterialSet, null);
 }