Пример #1
0
//----------------------------------------------------------------------//
// debug
//----------------------------------------------------------------------//
FString UGameplayTask::GenerateDebugDescription() const
{
    if (RequiresPriorityOrResourceManagement())
    {
        UObject* OwnerOb = Cast<UObject>(GetTaskOwner());
        return FString::Printf(TEXT("%s:%s Pri:%d Owner:%s Res:%s"),
                               *GetName(), InstanceName != NAME_None ? *InstanceName.ToString() : TEXT("-"),
                               (int32)Priority,
                               *GetNameSafe(OwnerOb),
                               *RequiredResources.GetDebugDescription());
    }

    return GetName();
}
void UGameplayTask::ReadyForActivation()
{
	if (TasksComponent.IsValid())
	{
		if (RequiresPriorityOrResourceManagement() == false)
		{
			PerformActivation();
		}
		else
		{
			TasksComponent->AddTaskReadyForActivation(*this);
		}
	}
	else
	{
		EndTask();
	}
}
//----------------------------------------------------------------------//
// debug
//----------------------------------------------------------------------//
FString UGameplayTask::GenerateDebugDescription() const
{
	return RequiresPriorityOrResourceManagement() == false ? GetName()
		: FString::Printf(TEXT("%s: P:%d %s")
			, *GetName(), int32(Priority), *RequiredResources.GetDebugDescription());
}