Beispiel #1
0
    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());
    }
Beispiel #2
0
        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);
            }
        }
Beispiel #4
0
    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);
    }
Beispiel #6
0
    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);
    }