Good ol' documentation

This commit is contained in:
Kevin Poretti 2024-09-17 20:55:40 -04:00
parent 108bcb67dd
commit bc2cd13cc1
3 changed files with 73 additions and 14 deletions

View File

@ -54,10 +54,15 @@ public:
UFUNCTION(BlueprintPure) UFUNCTION(BlueprintPure)
bool HasMoveInput(); bool HasMoveInput();
// TODO: document /**
* @brief Zeroes out the raw movement axes after input has been processed
*/
void ConsumeMoveInput(); void ConsumeMoveInput();
// TODO: document /**
* @brief Adds the current state of the player input to the input buffer for processing and
* interpretation after input has been cleaned
*/
void AddCurrentInputToBuffer(); void AddCurrentInputToBuffer();
// IFFStateOwnerInterface // IFFStateOwnerInterface

View File

@ -35,6 +35,11 @@ struct FFFStateContext
DECLARE_DYNAMIC_DELEGATE_OneParam(FFFInputEventDelegate, const FFFStateContext&, InStateContext); DECLARE_DYNAMIC_DELEGATE_OneParam(FFFInputEventDelegate, const FFFStateContext&, InStateContext);
/*
* TODO: check if this is even used anymore and if not delete? I recall using this in a few
* states/actions but it was a pain to use and I switched to checking an input sequence directly in
* a state's update function
*/
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
struct FFFInputEventHandler struct FFFInputEventHandler
{ {
@ -52,10 +57,15 @@ struct FFFInputEventHandler
UENUM(BlueprintType) UENUM(BlueprintType)
enum class EFFStateFinishReason : uint8 enum class EFFStateFinishReason : uint8
{ {
// TODO: document /** State ended due to another state's entry condition being satisfied */
SFT_Interrupted UMETA(DisplayName="Interrupted"), SFT_Interrupted UMETA(DisplayName="Interrupted"),
/** State ended because the number of ticks in this state exceeded state's duration property */
SFT_DurationMetOrExceeded UMETA(DisplayName="Duration Reached"), SFT_DurationMetOrExceeded UMETA(DisplayName="Duration Reached"),
/** State ended because the owner is no longer in the movement mode required by the state */
SFT_NotInReqMovementMode UMETA(DisplayName="Not In Required Movement Mode"), SFT_NotInReqMovementMode UMETA(DisplayName="Not In Required Movement Mode"),
SFT_MAX UMETA(Hidden) SFT_MAX UMETA(Hidden)
}; };
@ -187,7 +197,7 @@ public:
* *
* Calls appropriate Blueprint hooks. * Calls appropriate Blueprint hooks.
* *
* TODO: document StateFinishReason * @param StateFinishReason the reason the state is ending i.e. the state's duration elapse
*/ */
virtual void Exit(const FFFStateContext& InStateContext, EFFStateFinishReason StateFinishReason); virtual void Exit(const FFFStateContext& InStateContext, EFFStateFinishReason StateFinishReason);
@ -200,10 +210,25 @@ public:
*/ */
virtual void Update(float OneFrame, const FFFStateContext& InStateContext); virtual void Update(float OneFrame, const FFFStateContext& InStateContext);
// TODO: document /**
* Called whenever state owners lands on a walkable surface after they were previously falling.
*
* Calls appropriate Blueprint hooks.
*
* @param Hit Hit result for the surface that was landed on
*/
virtual void Landed(const FHitResult& Hit, const FFFStateContext& InStateContext); virtual void Landed(const FHitResult& Hit, const FFFStateContext& InStateContext);
// TODO: document /**
* @brief Called whenever the state's owner current movement mode changes
*
* Calls appropriate Blueprint hooks.
*
* @param PrevMovementMode previous movement mode.
* @param PreviousCustomMode previous movement mode if PrevMovementMode is MOVE_Custom
* @param NewMovementMode new movement mode
* @param NewCustomMode new movement mode if NewMovementMode is MOVE_Custom
*/
virtual void MovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode, virtual void MovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode,
EMovementMode NewMovementMode, uint8 NewCustomMode, const FFFStateContext& InStateContext); EMovementMode NewMovementMode, uint8 NewCustomMode, const FFFStateContext& InStateContext);
@ -236,7 +261,7 @@ public:
UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable)
virtual void Finish(const FFFStateContext& InStateContext, EFFStateFinishReason StateFinishReason); virtual void Finish(const FFFStateContext& InStateContext, EFFStateFinishReason StateFinishReason);
// TODO: document /** @brief Blueprint hook for when the state is first created. */
UFUNCTION(BlueprintNativeEvent, Category="UFF|State|Events") UFUNCTION(BlueprintNativeEvent, Category="UFF|State|Events")
void OnInit(const FFFStateContext& InStateContext); void OnInit(const FFFStateContext& InStateContext);
@ -290,11 +315,23 @@ public:
UFUNCTION(BlueprintNativeEvent, Category="UFF|State|Events") UFUNCTION(BlueprintNativeEvent, Category="UFF|State|Events")
void OnPlayMontage(const FFFStateContext& InStateContext); void OnPlayMontage(const FFFStateContext& InStateContext);
// TODO: document /**
* @brief Blueprint hook for whenever state owners lands on a walkable surface after they were
* previously falling.
*
* @param Hit Hit result for the surface that was landed on
*/
UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events") UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events")
void OnLanded(const FHitResult& Hit, const FFFStateContext& InStateContext); void OnLanded(const FHitResult& Hit, const FFFStateContext& InStateContext);
// TODO: document /**
* @brief Blueprint hook whenever the state's owner current movement mode changes
*
* @param PrevMovementMode previous movement mode.
* @param PreviousCustomMode previous movement mode if PrevMovementMode is MOVE_Custom
* @param NewMovementMode new movement mode
* @param NewCustomMode new movement mode if NewMovementMode is MOVE_Custom
*/
UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events") UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events")
void OnMovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode, void OnMovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode,
EMovementMode NewMovementMode, uint8 NewCustomMode, const FFFStateContext& InStateContext); EMovementMode NewMovementMode, uint8 NewCustomMode, const FFFStateContext& InStateContext);
@ -304,6 +341,7 @@ public:
UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events") UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events")
void OnAttackHit(const FHitResult& Hit, const FFFStateContext& InStateContext); void OnAttackHit(const FHitResult& Hit, const FFFStateContext& InStateContext);
// TODO: document
UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events") UFUNCTION(BlueprintImplementableEvent, Category="UFF|State|Events")
void OnHitTaken(/*const FHitParams,*/ const FFFStateContext& InStateContext); void OnHitTaken(/*const FHitParams,*/ const FFFStateContext& InStateContext);

View File

@ -73,7 +73,8 @@ public:
* *
* Triggers the Exit callback on the CurrentState and the Enter callback on the new state * Triggers the Exit callback on the CurrentState and the Enter callback on the new state
* *
* TODO: document StateFinishReason * @param StateFinishReason the reason the current state is ending i.e. the current state's
* duration elapsed
*/ */
UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable)
void GoToState(FName NewStateName, EFFStateFinishReason StateFinishReason); void GoToState(FName NewStateName, EFFStateFinishReason StateFinishReason);
@ -83,14 +84,16 @@ public:
* *
* Triggers the Exit callback on the CurrentState and the Enter callback on the new state * Triggers the Exit callback on the CurrentState and the Enter callback on the new state
* *
* TODO: document StateFinishReason * @param StateFinishReason the reason the current state is ending i.e. the current state's
* duration elapsed
*/ */
void GoToState(UFFState* NewState, EFFStateFinishReason StateFinishReason); void GoToState(UFFState* NewState, EFFStateFinishReason StateFinishReason);
/** /**
* Transitions from CurrentState to the default entry state * Transitions from CurrentState to the default entry state
* *
* TODO: document StateFinishReason * @param StateFinishReason the reason the current state is ending i.e. the current state's
* duration elapsed
*/ */
void GoToEntryState(EFFStateFinishReason StateFinishReason); void GoToEntryState(EFFStateFinishReason StateFinishReason);
@ -137,10 +140,23 @@ public:
FFFStateContext GetCurrentStateContext(); FFFStateContext GetCurrentStateContext();
// Events // Events
// TODO: document /**
* Called whenever state machine's owner lands on a walkable surface after they were previously falling.
*
* @param Hit Hit result for the surface that was landed on
*/
virtual void Landed(const FHitResult& Hit); virtual void Landed(const FHitResult& Hit);
// TODO: document /**
* @brief Called whenever the state machine's owner current movement mode changes
*
* Calls appropriate Blueprint hooks.
*
* @param PrevMovementMode previous movement mode.
* @param PreviousCustomMode previous movement mode if PrevMovementMode is MOVE_Custom
* @param NewMovementMode new movement mode
* @param NewCustomMode new movement mode if NewMovementMode is MOVE_Custom
*/
virtual void MovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode, virtual void MovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode,
EMovementMode NewMovementMode, uint8 NewCustomMode); EMovementMode NewMovementMode, uint8 NewCustomMode);