Class l2df.class.component.behaviour

Last updated 2021-05-28 15:24:22

Behaviour component.

Inherited from l2df.class.Component class.

Info:

Functions

Behaviour:added(obj[, kwargs]) Component was added to Entity event.
Behaviour:invoke(obj, method, ...) Search and invoke method on all currently subscribed objects.
Behaviour:append(obj, item[, params]) Subscribe object update event.
Behaviour:remove(obj, item) Unsubscribe object from update event.
Behaviour:clear(obj[, depth=0]) Unsubscribe all appended objects.
Behaviour:has(obj, item) Returns true if object currently subscribed to this behaviour.
Behaviour:push(obj, item[, params]) Put all subscribed objects in stack meaning they won't watch update event and subscribe passed object.
Behaviour:pop(obj) Unsubscribe all appended objects and restore objects previously stored in stack or do nothing.
Behaviour:switch(obj, item[, params]) Unsubscribe all appended objects, clear stack and subscribe only passed object.
Behaviour:preupdate(obj, dt) Pre-update event handler.
Behaviour:update(obj, dt) Update event handler.
Behaviour:postupdate(obj, dt) Post-update event handler.

Fields

Behaviour.data.size Current stack size.


Functions

Methods
Behaviour:added(obj[, kwargs])
Component was added to Entity event.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • kwargs {function,...} Keyword arguments. Contains function for creating single-function behaviours.
    • behaviours table List of initial behaviours to add. (optional)
Behaviour:invoke(obj, method, ...)
Search and invoke method on all currently subscribed objects.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • method string Name of the Entity's method to invoke.
  • ... Arguments passed to calling method.
Behaviour:append(obj, item[, params])
Subscribe object update event. Calls item:enable() function if available.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • item table Object to subscribe.
  • params table Arguments array to pass during update. (optional)

Returns:

    boolean
Behaviour:remove(obj, item)
Unsubscribe object from update event. Calls item:disable() function if available.

Parameters:

Returns:

    boolean
Behaviour:clear(obj[, depth=0])
Unsubscribe all appended objects. Calls :enable() function for each unsubscribed object where applicable.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • depth number Depth of the stack deletion. Clears everything when set to 0. (default 0)

Returns:

    boolean
Behaviour:has(obj, item)
Returns true if object currently subscribed to this behaviour. It will return false if object is subscribed but is located in stack (see push).

Parameters:

Returns:

    boolean
Behaviour:push(obj, item[, params])
Put all subscribed objects in stack meaning they won't watch update event and subscribe passed object. Calls :disable() function for each object put in stack.

Parameters:

Returns:

    boolean
Behaviour:pop(obj)
Unsubscribe all appended objects and restore objects previously stored in stack or do nothing. Calls :enable() function for each subscribed and :disable() for each unsubscribed object.

Parameters:

Behaviour:switch(obj, item[, params])
Unsubscribe all appended objects, clear stack and subscribe only passed object. Calls :enable() function for each subscribed and :disable() for each unsubscribed object.

Parameters:

Returns:

    boolean
Behaviour:preupdate(obj, dt)
Pre-update event handler. Calls once per game tick before main update. Invokes "preupdate" event on all subscribed objects.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • dt number Delta-time since last game tick.
Behaviour:update(obj, dt)
Update event handler. Calls once per game tick during main update. Invokes "update" event on all subscribed objects.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • dt number Delta-time since last game tick.
Behaviour:postupdate(obj, dt)
Post-update event handler. Calls once per game tick after main update. Invokes "postupdate" event on all subscribed objects.

Parameters:

  • obj l2df.class.entity Entity's instance.
  • dt number Delta-time since last game tick.

Fields

Behaviour.data.size number
Current stack size. To access use Behaviour:data() function.