@L.F.A thanks for getting back to me! Your response certainly clarifies things for me. Although to be clear my intention in upgrading the project is to learn how it does the pre-loading screen.
Regarding MDL here is what the ActionRPG uproject file looks like for me:
Assuming by MDL you mean MDLImporter as I think I’ve seen it called, I don’t see it in the list? Is it under a different name then what I assumed?
Okay I am confused, what does if (ASC)
do in your code? It’s a conditional right, so if ASC is null/invalid what should occur? What does the function look like in your code may I ask? For me it looks like this:
void URPGAbilityTask_PlayMontageAndWaitForEvent::ExternalCancel()
{
UAbilitySystemComponent* ASC = GetTargetASC();
if (ASC != nullptr)
{
OnAbilityCancelled();
}
Super::ExternalCancel();
}
For you does it look like this?:
void URPGAbilityTask_PlayMontageAndWaitForEvent::ExternalCancel()
{
UAbilitySystemComponent* ASC = GetTargetASC();
if (ASC)
OnAbilityCancelled();
Super::ExternalCancel();
}
Isn’t this the same?
Before IIRC it was like this:
void URPGAbilityTask_PlayMontageAndWaitForEvent::ExternalCancel()
{
check(AbilitySystemComponent);
OnAbilityCancelled();
Super::ExternalCancel();
}
check(…) IIRC is about throwing an exception if the passed in object isn’t valid, since your suggestion is to change it to an if, presumably we’re still checking if ASC is valid and then not doing something right? Otherwise why bother if we’re not passing ASC as a variable? Because if (ASC) isn’t like check(AbilitySystemComponent) and won’t throw an exception I am pretty sure, so now I’m a little puzzled behind the intent of the change.