You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
GameplayInteractions: Fix mutable uses of instanced structs and struct views.
#jira UE-172049 #rb Mieszko.Zielinski #preflight 63bff3166c4f5668eb4a3c0f [CL 23661842 by mikko mononen in ue5-main branch]
This commit is contained in:
@@ -46,7 +46,7 @@ UGameplayTask* UGameplayActuationComponent::TryMakeTransitionTask(const FConstSt
|
||||
|
||||
for (const FInstancedStruct& Transition : Transitions)
|
||||
{
|
||||
if (const FGameplayTransitionDesc* Desc = Transition.GetMutablePtr<FGameplayTransitionDesc>())
|
||||
if (const FGameplayTransitionDesc* Desc = Transition.GetPtr<FGameplayTransitionDesc>())
|
||||
{
|
||||
Result = Desc->MakeTransitionTask(TransitionContext);
|
||||
if (Result != nullptr)
|
||||
@@ -124,7 +124,7 @@ void UGameplayActuationComponent::TickComponent(float DeltaTime, ELevelTick Tick
|
||||
}
|
||||
|
||||
// Take copy of the new state so that both states exists during the transition.
|
||||
FInstancedStruct NewState = NextState;
|
||||
FInstancedStruct NewState(NextState);
|
||||
|
||||
if (FGameplayActuationStateBase* State = NewState.GetMutablePtr<FGameplayActuationStateBase>())
|
||||
{
|
||||
@@ -191,7 +191,7 @@ void UGameplayActuationComponent::TickComponent(float DeltaTime, ELevelTick Tick
|
||||
#if ENABLE_VISUAL_LOG
|
||||
void UGameplayActuationComponent::GrabDebugSnapshot(FVisualLogEntry* Snapshot) const
|
||||
{
|
||||
const FGameplayActuationStateBase* State = ActuationState.GetMutablePtr<FGameplayActuationStateBase>();
|
||||
const FGameplayActuationStateBase* State = ActuationState.GetPtr<FGameplayActuationStateBase>();
|
||||
if (State == nullptr)
|
||||
{
|
||||
return;
|
||||
|
||||
@@ -89,7 +89,7 @@ EStateTreeRunStatus FGameplayInteractionSyncSlotTagStateTask::EnterState(FStateT
|
||||
|
||||
if (!InstanceData.bBreakSignalled)
|
||||
{
|
||||
InstanceData.OnEventHandle = OnEventDelegate->AddLambda([this, InstanceDataRef = Context.GetInstanceDataStructRef(*this), &EventQueue, SmartObjectSubsystem = &SmartObjectSubsystem, Owner = Context.GetOwner()](const FSmartObjectEventData& Data)
|
||||
InstanceData.OnEventHandle = OnEventDelegate->AddLambda([this, InstanceDataRef = Context.GetInstanceDataStructRef(*this), &EventQueue, SmartObjectSubsystem = &SmartObjectSubsystem, Owner = Context.GetOwner()](const FSmartObjectEventData& Data) mutable
|
||||
{
|
||||
if (Data.Reason == ESmartObjectChangeReason::OnTagRemoved)
|
||||
{
|
||||
|
||||
@@ -107,7 +107,7 @@ EStateTreeRunStatus FGameplayInteractionSyncSlotTagTransitionTask::EnterState(FS
|
||||
if (InstanceData.State != EGameplayInteractionSyncSlotTransitionState::Completed)
|
||||
{
|
||||
InstanceData.OnEventHandle = OnEventDelegate->AddLambda(
|
||||
[this, &EventQueue, InstanceDataRef = Context.GetInstanceDataStructRef(*this), SmartObjectSubsystem = &SmartObjectSubsystem, Owner = Context.GetOwner()](const FSmartObjectEventData& Data)
|
||||
[this, &EventQueue, InstanceDataRef = Context.GetInstanceDataStructRef(*this), SmartObjectSubsystem = &SmartObjectSubsystem, Owner = Context.GetOwner()](const FSmartObjectEventData& Data) mutable
|
||||
{
|
||||
if (Data.Reason == ESmartObjectChangeReason::OnTagAdded)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user