RitnProtoStyle¶
Manipulateur data stage pour data.raw["gui-style"].default[<style>]. Builder fluent pour déclarer des styles GUI prototypés (type/name/parent/padding/size), avec un raccourci :extendButton. Hérite de RitnPrototype et override :update() pour l'indirection default[...].
Avertissement — API Factorio 1.x : cette classe n'a pas été révisée depuis Factorio 2.0. Utilisable mais non validée pour 2.0 — voir Migration Factorio 2.0.
| Source | classes/prototypes/Style.lua |
| Stage | data |
| Accès | require(ritnlib.defines.class.prototype.style) |
| Hérite de | RitnPrototype |
object_name |
"RitnProtoStyle" |
Constructeur¶
RitnProtoStyle(style_name?) → RitnProtoStyle¶
Cible toujours data.raw["gui-style"]["default"]. Si style_name est fourni, deep-copie le style existant ; sinon, copie toute la table default. Prépare un payload style vierge pour les méthodes :set* / :extend*.
Paramètres
- style_name :: string? — clé du style sous data.raw["gui-style"].default.
Attributs¶
style_name :: string? [Read]¶
Clé du style ciblé.
style :: table [Read]¶
Payload de style en construction ({ type, name, parent, padding, size }).
Méthodes — builder¶
| Méthode | Effet |
|---|---|
:setType(type_gui) |
style.type (ex. "button_style", "frame_style") |
:setName(name) |
style.name (clé sous default) |
:setParent(parent) |
style.parent (style dont hériter) |
:setPadding(padding) |
style.padding |
:extend()¶
Commit le payload style courant dans prototype[style.name], puis :update(). Lève une erreur si type/name du prototype racine sont vides.
:extendButton(name, parent, size?)¶
Raccourci : construit un button_style enfant (type = "button_style", name, parent, size optionnel number|{w,h}), puis commit via :extend().
Paramètres : name :: string · parent :: string · size :: number|number[]?.
:update()¶
Override : écrit dans data.raw["gui-style"].default[style_name] si style_name est défini, sinon dans data.raw["gui-style"].default.
Exemple d'usage¶
Déclarer des styles de bouton (RitnLobbyGame/prototypes/styles.lua) :
local RitnStyle = require(ritnlib.defines.class.prototype.style)
RitnStyle():extendButton(ritnlib.defines.lobby.names.styles.ritn_normal_sprite_button, "button")
RitnStyle():extendButton(ritnlib.defines.lobby.names.styles.ritn_red_sprite_button, "red_button")
Voir aussi¶
RitnPrototype(parent) ·RitnLibStyle(runtime) · Carte des classes · Migration 2.0