I’m looking into this for hours now and couldn’t figured it out. Also couldn’t find anything about it on forums or answerhub. I also tried to open a question on Answerhub but I kept having an error. I really need your help.
In more detail:
I have created an Interface class so I could get an integer, that represents the FocusPriority, from different classes. But the problem is when I want to check if the class implements the Interface, the functions “Implements()” and “ImplementsInterface()” can’t call StaticClass() function on my interface class. The error says it’s not a member of the class. But as far as I know this function is added by GENERATED_BODY() Macro. I must have been missing a point; but what?
I’ve created all of my service and revert my changes to recreate everything step by step. Yet the problem persists. I don’t know what to do. I need this Interface to work with Blueprints too; at least for now.
Did any of you had this error before? Please help me. This took longer than it should already
We use interfaces extensively and just cast to the interface in situations like that.
Not sure that interface check is worth doing since you have to cast the object anyway to do something with it.
// for each actor in world
for (TActorIterator<AInteractiveActor> ActorItr(GetWorld()); ActorItr; ++ActorItr)
{
IInteractiveBase* interactiveActor = Cast<IInteractiveBase>(*ActorItr);
if (interactiveActor != nullptr)
{
// do something with object
}
}
I added my header files. BUT OMG… How did I missed that… Thank so much for pointing that out for me. It’s actually obvious to use the ‘U’ prefixed class but it was 4 am when I had that problem. I’m going to test it when I arrive at home and update this thread.
As an tested update. The suggestion that is below and given by Shmoopy1701was the solution I’ve found before and worked. Using the ‘U’ prefixed class to get static class didn’t worked. Also after experimenting with it Casting to interface class is also makes the function call easier for us. Thank you Shmoopy. Didn’t see your reply in the morning, sorry for that.
In internet I saw other tutorials suggesting to use the ‘U’ prefixed class but didn’t work for me. Anyway, thank both of you for replying and helping me finding my way out of this.