示例#1
0
 public VoxelVisualOption(Mesh mesh, bool[,,] designation, bool flipped, int rotations, int priority, VoxelVisualConnections connections)
 {
     Mesh             = mesh;
     this.designation = designation;
     Flipped          = flipped;
     Rotations        = rotations;
     Priority         = priority;
     Connections      = connections;
 }
示例#2
0
    public IEnumerable <VoxelVisualOption> GenerateVisualOptions()
    {
        VoxelVisualConnections baseConnections = new VoxelVisualConnections(Up, Down, PositiveX, NegativeX, PositiveZ, NegativeZ);

        VoxelDesignation baseDesignation = new VoxelDesignation(DesignationValues);
        IEnumerable <GeneratedVoxelDesignation> variants = baseDesignation.GetUniqueVariants();
        int priority = 0;

        yield return(new VoxelVisualOption(ArtContent, baseDesignation.Description, false, 0, priority, baseConnections));

        foreach (GeneratedVoxelDesignation variant in variants)
        {
            priority++;
            VoxelVisualConnections connectionsVariant = baseConnections.GetVarient(variant.WasFlipped, variant.Rotations);
            yield return(new VoxelVisualOption(ArtContent, variant.Description, variant.WasFlipped, variant.Rotations, priority, connectionsVariant));
        }
    }