RoClass

Registry

Registry is a utility module in RoClass that keeps track of classes and instances.
It allows you to register classes, register/deregister instances, and retrieve instances by class name.


Table of Contents


Overview

The Registry module provides a centralized tracking system:


API

Registry.RegisterClass(class: table): nil

Registers a class with the registry.

Registry.RegisterInstance(instance: any): nil

Registers an instance of a class.

Registry.DeregisterInstance(instance: any): nil

Removes an instance from the registry.

Registry.GetInstances(className: string): { any }

Retrieves all registered instances of a class.

Registry.GetClass(className: string): table?

Retrieves the class definition by name.


Examples

Registering a class

local Player = RoClass.new("Player"):build()
RoClass.RegisterClass(Player)

Registering and retrieving instances

local p1 = Player.new()
local p2 = Player.new()

RoClass.RegisterInstance(p1)
RoClass.RegisterInstance(p2)

local instances = RoClass.GetInstances("Player")
print(#instances) -- 2

Deregistering an instance

RoClass.DeregisterInstance(p1)
local instances = RoClass.GetInstances("Player")
print(#instances) -- 1

Getting class definition

local classDef = RoClass.GetClass("Player")
print(classDef._className) -- "Player"


This documentation is part of RoClass. For more examples and detailed guides, see RoClass Docs.