Call init when state is created by state machine and pass it state context
This commit is contained in:
parent
08d52a913f
commit
93ca460c8a
@ -10,9 +10,9 @@
|
||||
// UE includes
|
||||
#include "Components/SkeletalMeshComponent.h"
|
||||
|
||||
void UFFState::Init()
|
||||
void UFFState::Init(const FFFStateContext& InStateContext)
|
||||
{
|
||||
OnInit();
|
||||
OnInit(InStateContext);
|
||||
}
|
||||
|
||||
bool UFFState::CanTransition(const FFFStateContext& InStateContext)
|
||||
@ -153,7 +153,7 @@ void UFFState::RegisterInputHandler(const FFFInputSequence& InRequiredSequence,
|
||||
}
|
||||
|
||||
|
||||
void UFFState::OnInit_Implementation()
|
||||
void UFFState::OnInit_Implementation(const FFFStateContext& InStateContext)
|
||||
{
|
||||
}
|
||||
|
||||
@ -164,13 +164,6 @@ bool UFFState::OnCanTransition_Implementation(const FFFStateContext& InStateCont
|
||||
}
|
||||
|
||||
|
||||
void UFFState::PostInitProperties()
|
||||
{
|
||||
UObject::PostInitProperties();
|
||||
|
||||
Init();
|
||||
}
|
||||
|
||||
UWorld* UFFState::GetWorld() const
|
||||
{
|
||||
UFFStateMachineComponent* SMC = Cast<UFFStateMachineComponent>(GetOuter());
|
||||
|
@ -76,7 +76,7 @@ public:
|
||||
* How long this state will be active before finishing if this state is not cancelled out of
|
||||
* by other means.
|
||||
*/
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="UFF State Properties")
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="UFF State Properties")
|
||||
int64 StateDuration;
|
||||
|
||||
/**
|
||||
@ -123,7 +123,7 @@ public:
|
||||
/**
|
||||
* Called when state is first created.
|
||||
*/
|
||||
virtual void Init();
|
||||
virtual void Init(const FFFStateContext& InStateContext);
|
||||
|
||||
/**
|
||||
* Returns true if Avatar's is in the correct stance AND
|
||||
@ -189,7 +189,7 @@ public:
|
||||
const FFFInputSequence& InRequiredSequence, FFFInputEventDelegate InDelegate);
|
||||
|
||||
UFUNCTION(BlueprintNativeEvent, Category="UFF|State|Events")
|
||||
void OnInit();
|
||||
void OnInit(const FFFStateContext& InStateContext);
|
||||
|
||||
/**
|
||||
* Blueprint hook for overriding the CanTransition logic
|
||||
@ -232,8 +232,6 @@ public:
|
||||
void OnBlock(const FFFStateContext& InStateContext);
|
||||
|
||||
// UObject interface
|
||||
virtual void PostInitProperties() override;
|
||||
|
||||
virtual UWorld* GetWorld() const override;
|
||||
// End of UObject interface
|
||||
};
|
||||
|
@ -56,6 +56,7 @@ UFFState* UFFStateMachineComponent::AddState(TSubclassOf<UFFState> StateClassToA
|
||||
if(!FindStateWithName(TempState->Name))
|
||||
{
|
||||
States.Add(TempState);
|
||||
TempState->Init(GetCurrentStateContext());
|
||||
return TempState;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user