RitnLibEntity¶
Vue raccourcie au-dessus d'un LuaEntity. Expose les infos d'entité les plus consultées (type, surface, force, position…), des drapeaux de catégorie (character/car/spider-vehicle), et des helpers conducteur/passager pour les véhicules.
| Source | classes/LuaClass/RitnEntity.lua |
| Stage | control (runtime) |
| Accès | global — injecté dans _G par core/setup-classes.lua. Aucun require. |
| Hérite de | — (classe de base) |
| Étendue par | les sous-classes consommateur, ex. RitnPortalPortal |
object_name |
"RitnLibEntity" |
Constructeur¶
RitnLibEntity(entity) → RitnLibEntity¶
Valide l'entrée puis fige les champs. Rejette une entrée qui n'est pas un LuaEntity valide.
Paramètres
- entity :: LuaEntity — l'entité à encapsuler.
Valeur de retour → RitnLibEntity. En cas d'entrée invalide, isPresent vaut false.
Attributs¶
Tous en lecture seule ([Read]), figés à la construction.
entity :: LuaEntity [Read]¶
La LuaEntity encapsulée (référence vivante).
name :: string [Read]¶
Nom du prototype d'entité.
id · unit_number :: uint? [Read]¶
unit_number de l'entité (id en est un alias). nil pour les entités qui n'en ont pas.
type :: string [Read]¶
Type d'entité ("character", "car", "assembling-machine"…).
prototype :: LuaEntityPrototype [Read]¶
Référence vivante au prototype.
surface :: LuaSurface [Read]¶
Surface à l'instanciation (snapshot).
force :: LuaForce [Read]¶
Force à l'instanciation (snapshot).
position :: MapPosition [Read]¶
Position à l'instanciation (snapshot).
backer_name :: string? [Read]¶
Backer name si applicable.
isCharacter · isCar · isSpiderVehicle :: boolean [Read]¶
Drapeaux de catégorie d'après type.
allowsPassenger :: boolean [Read]¶
true si l'entité peut transporter un passager (car ou spider-vehicle).
player :: LuaPlayer? [Read]¶
Joueur contrôlant l'entité si c'est un character.
drive :: LuaEntity|LuaPlayer|nil [Read]¶
Conducteur si isCar.
passenger :: LuaEntity|LuaPlayer|nil [Read]¶
Passager si allowsPassenger.
isPresent :: boolean [Read]¶
false si le constructeur a rejeté son entrée. À tester en garde.
Méthodes — identité¶
:existByName(name) → boolean¶
true si l'entité est présente et porte exactement le nom name.
Paramètres : name :: string.
Méthodes — véhicule (conducteur / passager)¶
:isDriver() → boolean¶
true si le véhicule a un conducteur (entité ou joueur).
:isPassenger() → boolean¶
true si le véhicule a un passager.
:playerIsDriver(player) → boolean¶
true si le player donné est le conducteur de cette entité.
Paramètres : player :: LuaPlayer.
:playerIsPassenger(player) → boolean¶
true si le player donné est le passager de cette entité.
Paramètres : player :: LuaPlayer.
:setPassenger(player)¶
Installe player comme passager si l'entité l'autorise (allowsPassenger). No-op sinon.
Paramètres : player :: LuaPlayer.
Méthodes — flags & destruction¶
:setMinable(value?)¶
Définit le flag minable de l'entité (value défaut true).
:setDestructible(value?)¶
Définit le flag destructible de l'entité (value défaut true).
:destroy()¶
Détruit l'entité.
Note —
:destroy()rappelle:setMinable()/:setDestructible()avant la destruction ; ces appels sont redondants (destroy()ignore ces flags), héritage d'un ancien cas d'usage.
Méthodes — wrappers (⚠ à éviter en l'état)¶
:getSurface() → RitnLibSurface · :getForce() → RitnLibForce¶
Avertissement — Ces deux méthodes appellent
RitnlibSurface(...)/RitnlibForce(...)(casse incorrecte,libminuscule) — des globals inexistants → elles plantent si appelées. Défaut connu (latent, non corrigé). En attendant, enveloppe toi-même :RitnLibSurface(rEntity.surface)/RitnLibForce(rEntity.force). Voir bugs connus.
Exemples d'usage¶
Vérifier le nom + gérer un passager (RitnPortal/classes/RitnPortal.lua) :
if self:existByName(ritnlib.defines.portal.names.entity.portal) then
-- …
end
if self:playerIsDriver(LuaPlayer) and self:isLinked() then
rPortalDestination:setPassenger(LuaPlayer)
end
Détruire l'entité encapsulée (RitnPortal/classes/RitnGuiPortal.lua) :
Remarques¶
- Wrapper temporaire — ne jamais stocker l'instance dans
storage; la reconstruire dans chaque handler. Voir Wrappers temporaires. - Champs snapshot —
surface,force,position,drive,passengersont figés à la construction. getSurface/getForcecassées — voir l'avertissement ci-dessus.