Status Objects
Please note that the information in this chapter is rather advanced, as it relates to the internal functioning of the Grapple Component. It should only be relevant in case you are creating advanced Grapple Sequences or are modifying aspects of the Grapple Component itself.
Overview
This Chapter contains information on Status Objects (objects that inherit from Class StatusObject).
Status Object Base Class
Concept
Objects of Class StatusObject can be added to and removed from an Affected Object. They can apply effects to this Affected Object. They are managed by a Managing Object.
Affected Object(s)
An Affected Object is an Object the Status Object is added to or Removed from. Every Affected Object contains a list of Status Objects applied to is. Every Object can be an Affected Object, provided that it implements Blueprint Interface BI_StatusObjectInterface.
- To add or remove a Status Object, use Interface Call Add / Remove Status Object on the Affected Object.
- To access all Status Objects added to an Affected Object, use Interface Call Get added Status Objects.
All of the functions from Blueprint Interface BI_StatusObjectInterface should be implemented on the Managing Object. The Grapple Component is meant to be the Managing Object for all Status Objects that come with the project, and implements all of these functions by default.
Managing Object
Every Status Object stores one reference to a Managing Object. This is Object does not necessarily need to be an Affected Object of the Status Object. By default, the Managing Object is the Outer Object of the Status Object. This can be Changed by overriding function Get Managing Object on the Status Object. Every Object can be a Managing Object, provided that it implements Blueprint Interface BI_StatusObjectInterface.
- Status Objects can use Interface Call Enable / Disable Tick Updates for Status Object on the Managing Object. The Managing Object should then call Function On Tick on that Status Object every tick.
Implementable functions
The Status Object contains the following functions that can be overridden depending on the desired functionality.
On Added | Called when the Status Object is added to any Affected Object. |
On Removed | Called when the Status Object is removed from any Affected Object. |
On Tick | Can be called by the Managing Object every Tick. To enable or disable, use function Enable / Disable Tick Updates on the Status Object. |
Get Managing Object | This function is used whenever the Object needs to access its Managing Object. By default, it returns the Outer Object of the Status Object. |
Child Classes
Grapple Object
Class | GrappleObject |
Parent | StatusObject |
Description | Grapple Objects are used to manage Grapple Sequences on Grapple Components. For more information, please consult the Event Graph of this Object. |
Struct Based Grapple Object
Class | GrappleObject_StructBased |
Parent | GrappleObject |
Description | Struct Based Grapple Objects are Grapple Objects that use a variable structure of type struct_CG_GrappleData_Global (i.e. Global Grapple Data) to specify the effects of the Grapple Sequence. For more information, please consult the Event Graph of this Object. |
Fade Object
Class | FadeObject |
Parent | StatusObject |
Description | Fade Objects are Status Objects that apply an effect over a certain duration. For more information, please consult the Event Graph of this Object. |
Character Push Objects
Class | CharacterPushObject |
Parent | FadeObject |
Description | Character Push Objects are used to affect the movement of characters in the game world, typically in cases where this movement is not directly controlled by the player. Please consult the Event Graph of this Object for more information. |
Direction Based Character Push Object
Class | CharacterPushObject_DirectionBased |
Parent | CharacterPushObject |
Description | Direction Based Character Push Objects generate their Push Velocity based on an input direction and a reference scene component. Please consult the Event Graph of this Object for more information. |
Hit Tester
Class | HitTester |
Parent | FadeObject |
Description | Hit Tester Objects are used to check and evaluate hits that occur on one or more Primitive Components. For more information, please consult the Event Graph of this Object. |
Bounce Object
Class | BounceObject |
Parent | HitTester |
Description | Bounce Objects are Hit Testers that push or launch a Character when they detect a relevant hit. For more information, please consult the Event Graph of this Object. |
Gradual Transformation Object
Class | GradualTransformationObject |
Parent | FadeObject |
Description | Gradual Transformation Objects are used to modify the Transformation of a Scene Component over a certain duration. For more information, please consult the Event Graph of this Object. |
Reposition Object
Class | RepositionObject |
Parent | GradualTransformationObject |
Description | Reposition Objects are Gradual Transformation Objects that will gradually set the transformation of a Scene Component based on interpolation between two target transformations For more information, please consult the Event Graph of this Object. |
Look Target Object
Class | LookTargetObject |
Parent | GradualTransformationObject |
Description | Look Target Objects are Gradual Transformation Objects that will gradually set the transformation of a Scene Component based on interpolation between two target transformations For more information, please consult the Event Graph of this Object. |
Movement Data Object
Class | MovementDataObject |
Parent | StatusObject |
Description | The Grapple Component can affect the way Characters move in the game world. This is done using Movement Data. Movement Data Objects are stored in layers on the Grapple Component, and are applied from low to high. The Movement Data Object's function is to store movement settings, in the form of a variable structure of type struct_GC_MovementSettings. For more information, please consult the Event Graph of this Object. |