Libraries.Interface.Behaviors.Behavior Documentation

This class represents a generic way for an item in the user interface, whether it be a game component or 2D or 3D item, to conduct a behavior. By design, it can run itself, with a Run action, can take action over time using its Update action, can cleanup any items when it is finished using Dispose, and can determine when it is completed with its IsFinished action. Behavior itself does not do anything itself, but is heavily subclassed for specific kinds of actions. The classes that use Behaviors of one kind or another the most are the user interface controls, like Button, TextBox, or others, and the InputTable class. Together, these classes provide a way to efficiently route user input throughout the system.

Inherits from: Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
Dispose()Dispose does nothing by default, but can be overridden to conduct cleanup actions when a behavior is finished.
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetHashCode()This action gets the hash code for an object.
IsFinished()This action states if a behavior has completed its work.
Run(Libraries.Interface.Events.BehaviorEvent event)When an action is taken with this Behavior, run is called.
Update(number seconds)Behaviors can optionally be set to Update on every frame of a running program, depending on context.

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Example Code

Object o
        Object t
        integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Dispose()

Dispose does nothing by default, but can be overridden to conduct cleanup actions when a behavior is finished. Note that, as discussed in the comment for the Update action, Dispose is only called if the behavior is added through AddBehavior, not if its set as a default Behavior on an interface element (e.g., a Button’s default clicking behavior).

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Example Code

use Libraries.Language.Object
        use Libraries.Language.Types.Text
        Object o
        Text t
        boolean result = o:Equals(t)

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode()

Return

integer: The integer hash code of the object.

IsFinished()

This action states if a behavior has completed its work.

Return

boolean:

Run(Libraries.Interface.Events.BehaviorEvent event)

When an action is taken with this Behavior, run is called. For example, if a button is clicked in the user interface, Run would be called.

Parameters

Update(number seconds)

Behaviors can optionally be set to Update on every frame of a running program, depending on context. By default, however, not all behaviors do this. For example, in a button, Update is never called on its default behavior, just Run. In contrast, if you call AddBehavior on an item, Update would be called on every frame.

Parameters