public FigureGroup(Device device, FigureFacade parentFigure, FigureFacade[] childFigures) { this.parentFigure = parentFigure; this.childFigures = childFigures; this.modelToWorldTransform = new CoordinateNormalMatrixPairConstantBufferManager(device); this.parentDeltas = new InOutStructuredBufferManager <Vector3>(device, parentFigure.VertexCount); parentFigure.RegisterChildren(childFigures.ToList()); }
public void Merge(FigureFacade figure) { figure.Model.IsVisible = isVisible; if (shape != null) { figure.Model.ShapeName = shape; } if (materialSet != null) { figure.Model.MaterialSetName = materialSet; } }
public void Merge(FigureFacade figure) { figure.Model.IsVisible = isVisible; if (shape != null) { figure.Model.ShapeName = shape; } if (materialSet != null) { figure.Model.SetMaterialSetAndVariantByName(materialSet, materialVariants); } }
public Actor(Device device, List <Outfit> outfits, ActorModel model, FigureLoader figureLoader, FigureFacade mainFigure, FigureFacade hairFigure, ActorBehavior behavior) { this.outfits = outfits; this.model = model; this.figureLoader = figureLoader; this.mainFigure = mainFigure; this.hairFigure = hairFigure; this.behavior = behavior; clothingFigures = new FigureFacade[0]; mainFigure.Animator = new MainFigureAnimator(this); figureGroup = new FigureGroup(device, mainFigure, new FigureFacade[0]); SyncFigureGroup(); }
public static IMenuLevel MakeHairMenuLevel(FigureFacade hairFigure) { if (hairFigure == null) { return(null); } var shapesMenuLevel = new ShapesMenuLevel(hairFigure.Definition, hairFigure.Model); var materialsMenuLevel = new MaterialsMenuLevel(hairFigure.Definition, hairFigure.Model); var hairMenuLevel = new StaticMenuLevel( new SubLevelMenuItem("Style", shapesMenuLevel), new SubLevelMenuItem("Color", materialsMenuLevel) ); return(hairMenuLevel); }
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, MaterialSetName = recipe.materialSet }; var controlVertexProvider = ControlVertexProvider.Load(device, shaderCache, definition); var facade = new FigureFacade(device, shaderCache, definition, model, controlVertexProvider, figureRendererLoader); return(facade); }