Page cover

πŸ“˜ BaseClass

BaseClass is the class from which all ClassLib classes inherits


πŸ’‚ AUTHORITY

This class can be spawned on both 🟧 Client and 🟦 Server side

Check out some examples for BaseClass on the Examples page


πŸ—Ώ Static Functions

GetAll

Returns all instances from this class

β€” Returns table (Table of all instances of the class)

local ret = BaseClass.GetAll()

for _, v in ipairs(ret) do
    print(v:GetID())
end

GetCount

Returns how many instances of this class exists

β€” Returns integer (Amount of instances of the class)


GetByID

Returns an instance of this class from the instance unique ID

β€” Returns table (The instance, or nil if it doesn't exist)

Type
Name
Default
Description

iID

The instance ID


GetParentClass

Returns the class from which this class inherits

β€” Returns table (The super class)


GetAllParentClasses

Returns a sequential table of all classes from which this class inherits

β€” Returns table (The super classes)


GetInheritedClasses

Returns a sequential table of all classes that inherit from this class

β€” Returns table (The inherited classes)


Inherit

Creates a new class that inherits from this class

β€” Returns table (The new class)

Synchronized instances will be networked to new players even if the instance was created before they were connected on the server

Type
Name
Default
Description

sClassName

The name of the new class

bSync?

false

Whether to sync the creation/destruction of an instance of the class to all players


ClassCall

Calls an event on the class

Type
Name
Default
Description

sEvent

The name of the event to call

...?

The arguments to pass to the event


ClassSubscribe

Subscribes to an Event on the Class

β€” Returns function (The callback)

Return false in the callback to unsubscribe from the event after the listener has been triggered

Type
Name
Default
Description

sEvent

The name of the event to listen to

callback

The callback to call when the event is triggered, return false to unsubscribe from the event


ClassUnsubscribe

Unsubscribes from all subscribed Events on this Class, optionally passing the function to unsubscribe only that callback

Type
Name
Default
Description

sEvent

The name of the event to unsubscribe to

callback?

The callback to unsubscribe, or nil to unsubscribe to all events with the same name


SubscribeRemote

Subscribes to a remote event

Type
Name
Default
Description

sEvent

The name of the event to unsubscribe to

callback

The callback to call when the event is triggered, return false to unsubscribe from the event


UnsubscribeRemote

Unubscribes to a remote event

Type
Name
Default
Description

sEvent

The name of the event to unsubscribe to

callback?

The callback to unsubscribe, or nil to unsubscribe to all events with the same name


🦠 Methods


Constructor

Called after an instance of the class is created

Type
Name
Default
Description

...?

The arguments to passed to the contructor when calling MyClass() as a function


Destructor

Called when an instance is about to be destroyed

Return false in the destructor to prevent an instance from being destroyed

Type
Name
Default
Description

...?

The arguments to passed to the contructor when calling my_instance:Destroy()


SetValue

Sets a key/value on the instance

Type
Name
Default
Description

sKey

Key

xValue?

Value

bBroadcast?

Whether to broadcast the key/value to all clients (server only)


GetValue

Gets a key/value from the instance

Type
Name
Default
Description

sKey

Key

xFallback?

Fallback value (if the key doesn't exist)


GetAllValuesKeys

Returns all the values of the instance set by SetValue

Type
Name
Default
Description

bBroadcastedOnly

false

Wether to only return broadcasted values


IsValueBroadcasted

Returns wether a key has it's value is broadcasted

β€” Returns boolean

Type
Name
Default
Description

sKey

Key


Call

Calls an Event on the instance

Type
Name
Default
Description

sEvent

The name of the event to call

...?

The arguments to pass to the event


Subscribe

Subscribes to an Event on the instance

β€” Returns function (The callback)

Return false in the callback to unsubscribe from the event after the listener has been triggered

Type
Name
Default
Description

sEvent

The name of the event to listen to

callback

The callback to call when the event is triggered, return false to unsubscribe from the event


Unsubscribe

Unsubscribes from all subscribed Events in this instance, optionally passing the function to unsubscribe only that callback

Type
Name
Default
Description

sEvent

The name of the event to unsubscribe to

callback?

The callback to unsubscribe, or nil to unsubscribe to all events with the same name


CallRemote

Calls a remote event, from the client to the server, or from the server to the client

Type
Name
Default
Description

sEvent

The name of the event to call

...?

The arguments to pass to the event

If called from the 🟦 Server side, the 2nd argument is the player (or table of players) to which to send the event (in this case the varargs will start from 3rd argument instead of 2nd)


BroadcastRemote

Broadcast a remote event from the server to all clients

Type
Name
Default
Description

sEvent

The name of the event to broadcast

...?

The arguments to pass to the event


Clone

Clones the instance, and return the new clone with the same values (except it's ID)

Optionally, you can ignore some properties, so they won't be copied

β€” Returns table (The new instance)

Type
Name
Default
Description

tIgnoredKeys?

The properties to ignore (must be a sequential table)

...?

The arguments to pass to the constructor


Destroy

Destroys the instance

Type
Name
Default
Description

...?

Arguments to pass to the destructor


GetClass

Returns the class table of the instance

β€” Returns table


GetClassName

Returns the class name of the instance

β€” Returns string (The class name)


GetID

Returns the ID of the instance

β€” Returns integer (Amount of instances of the class)

The ID is unique to it's class, and won't be re-used if the object gets destroyed


IsA

Checks if the instance is from a passed class, or from a class that inherits from the passed class

β€” Returns boolean

You can also call ClassLib.IsA(xAnyValue, tClass, bRecursive?)

Type
Name
Default
Description

tClass

The class to check

bRecursive?

false

Wether to check recursively


IsValid

Checks if the instance is valid

β€” Returns boolean (Wether the instance is valid)


IsBeingDestroyed

Checks if the instance is being destroyed

β€” Returns boolean (Wether the instance is being destroyed)


Super

Returns the class from which this instance class inherits

β€” Returns table (The parent class)

SuperAll

Returns a sequential table of all classes from which this instance inherits

β€” Returns table (The list of parent classes)


πŸš€ Events


ClassRegister

Called when a new class is inherited from this class

Type
Argument
Description

tInheritedClass

The instance that was spawned


Spawn

Triggered when an instance is created

Type
Argument
Description

BaseClass instance

self

The instance that was spawned


Destroy

Triggered when an instance is about to be destroyed

Type
Argument
Description

BaseClass instance

self

The instance that is about to be destroyed


ValueChange

Triggered when an instance has a value changed with :SetValue()


Last updated

Was this helpful?