Module technology.sola.engine
Class GuiElementJsonBlueprint<Styles extends BaseStyles,Element extends GuiElement<Styles,?>,StylesBuilder extends BaseStyles.Builder<?>>
java.lang.Object
technology.sola.engine.graphics.gui.json.element.GuiElementJsonBlueprint<Styles,Element,StylesBuilder>
- Type Parameters:
Styles- the styles typeElement- the gui element typeStylesBuilder- the styles builder type
- Direct Known Subclasses:
ButtonElementJsonBlueprint,ImageElementJsonBlueprint,SectionElementJsonBlueprint,SpriteElementJsonBlueprint,TextElementJsonBlueprint,TextInputElementJsonBlueprint
@NullMarked
public abstract class GuiElementJsonBlueprint<Styles extends BaseStyles,Element extends GuiElement<Styles,?>,StylesBuilder extends BaseStyles.Builder<?>>
extends Object
GuiElementJsonBlueprint provides functionality for building a
GuiElement with its styles from JSON. Each
blueprint should have a unique tag (getTag()).-
Constructor Summary
ConstructorsConstructorDescriptionGuiElementJsonBlueprint(StylesJsonValueParser<StylesBuilder> stylesJsonValueParser) Creates an instance of this blueprint. -
Method Summary
Modifier and TypeMethodDescriptionabstract ElementcreateElementFromJson(technology.sola.json.JsonObject propsJson) Creates an instance of the Element of this blueprint.protected abstract StylesBuildercreateStylesFromJson(technology.sola.json.JsonObject stylesJson) Creates an instance of the Element's Styles.abstract StringgetTag()
-
Constructor Details
-
GuiElementJsonBlueprint
Creates an instance of this blueprint.- Parameters:
stylesJsonValueParser- theStylesJsonValueParserused to parse styles values
-
-
Method Details
-
getTag
- Returns:
- the tag identifier of this blueprint
-
createStylesFromJson
Creates an instance of the Element's Styles.- Parameters:
stylesJson- theJsonObjectto build the Styles from- Returns:
- the Styles instance with properties set
-
createElementFromJson
Creates an instance of the Element of this blueprint.- Parameters:
propsJson- theJsonObjectto build from- Returns:
- the Element with props set
-
createStylesBuilder
- Returns:
- a new StylesBuilder for this blueprint to use
-