Class: BuildableComponent

BuildableComponent(reporter, instructionsopt)

Component that combines other components, but does not directly need to load data itself

Constructor

new BuildableComponent(reporter, instructionsopt)

Parameters:
Name Type Attributes Description
reporter Reporter
instructions ParseInstruction <optional>
Properties:
Name Type Attributes Description
data.id UUID <optional>
data.name string <optional>
data.url URL <optional>
data.thumbnail WrappedImage <optional>
Source:

Members

(protected) _allDependencies :Array.<Component>

All "lower" components on which this component depends, either directly or indirectly
Type:
Source:

(protected) _applicableMaterialVariantGroups :Array.<MaterialSet>

The distinct material variant groups of this components and its dependencies
Type:
Source:

(protected) _assignableDependencies :Array.<(PositionedMesh|PositionedMeshGroup)>

Dependencies that can be assigned a material (does not necessarily affect the component itself)
Type:
Source:

(protected) _dependencies :Object

Type:
  • Object
Properties:
Name Type Description
main DependencyList
UI DependencyList
specs DependencyList
Source:

(protected) _directDependencies :Array.<Component>

All "lower" components on which this component depends directly
Type:
Source:

(protected) _materializableDependencies :Array.<Component>

Dependencies that have a variable material (not necessarily directly assignable)
Type:
Source:

dependencies :Object

Type:
  • Object
Properties:
Name Type Description
main DependencyList
UI DependencyList
specs DependencyList
Source:

partSettings :Array.<string>

Known UI settings (right now only thumbnail)
Type:
  • Array.<string>
Source:

Methods

(static) autogenIntegralInstruction(settings) → {Object}

for component tree every array specifies an integral list (not alternatives)
Parameters:
Name Type Description
settings Object
Source:
Returns:
Type
Object

(async, protected) _build(quality, dependencies) → {Promise.<Component>}

Parameters:
Name Type Description
quality LoadingQuality
dependencies Object.<string, Component> Dependencies that are loaded with the corresponding quality
Source:
Returns:
Type
Promise.<Component>

(async) autoUpdateStatus()

Updates the component's status according to the status of its dependencies
Source:

(async) build(instructionsopt) → {Promise.<BuildableComponent>}

Parameters:
Name Type Attributes Description
instructions Object <optional>
Properties
Name Type Attributes Default Description
componentLoader ComponentLoader <optional>
defaultLoader
part ComponentPart <optional>
'main'
quality LoadingQuality <optional>
'medium'
highPriority Boolean <optional>
false
Source:
Returns:
Type
Promise.<BuildableComponent>

dependsDirectlyOn() → {Boolean}

Source:
Returns:
Type
Boolean

dependsOn() → {Boolean}

Source:
Returns:
Type
Boolean