void SAblAbilityTaskPropertiesTabBody::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) 
{
	SSingleObjectDetailsPanel::Tick(AllottedGeometry, InCurrentTime, InDeltaTime);

	if (const UAblAbilityTask* Task = Cast<const UAblAbilityTask>(GetObjectToObserve()))
	{
		if (m_CachedVisibility != Task->ShowEndTime())
		{
			TArray<UObject*> Objects;
			Objects.Add(GetObjectToObserve());

			check(PropertyView.IsValid());
			PropertyView->SetObjects(Objects, true);
		}

		m_CachedVisibility = Task->ShowEndTime();
	}
}
void SSingleObjectDetailsPanel::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime)
{
	if (bAutoObserveObject)
	{
		UObject* CurrentObject = GetObjectToObserve();
		if (LastObservedObject.Get() != CurrentObject)
		{
			LastObservedObject = CurrentObject;

			TArray<UObject*> SelectedObjects;
			if (CurrentObject != NULL)
			{
				SelectedObjects.Add(CurrentObject);
			}

			SetPropertyWindowContents(SelectedObjects);
		}
	}

	SCompoundWidget::Tick(AllottedGeometry, InCurrentTime, InDeltaTime);
}
EVisibility SAblAbilityPropertiesTabBody::GetAssetDisplayNameVisibility() const
{
	return (GetObjectToObserve() != NULL) ? EVisibility::Visible : EVisibility::Collapsed;
}