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 AddedCalled when the Status Object is added to any Affected Object. 
On RemovedCalled when the Status Object is removed from any Affected Object.
On TickCan be called by the Managing Object every Tick. To enable or disable, use function Enable / Disable Tick Updates on the Status Object.
Get Managing ObjectThis 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

ClassGrappleObject
ParentStatusObject
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

ClassGrappleObject_StructBased
ParentGrappleObject
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

ClassFadeObject
ParentStatusObject
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

ClassCharacterPushObject
ParentFadeObject
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

ClassCharacterPushObject_DirectionBased
ParentCharacterPushObject
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

ClassHitTester
ParentFadeObject
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
ParentHitTester
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

ClassGradualTransformationObject
ParentFadeObject
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

ClassRepositionObject
ParentGradualTransformationObject
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

ClassLookTargetObject
ParentGradualTransformationObject
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

ClassMovementDataObject
ParentStatusObject
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.