This is going to be a more general question, but I don’t quite know how to form it, so I thought I give an example.
I just started coding a PlayerController making use of
OnInputTouchBegin. Using the Unreal Match 3 tutorial, I found out that I needed to set the boolean
bEnableClickEvents to true.
I then typed dot and saw a few Add functions to use. Despite those being available and complicated for a beginner like me (the parameter, stated as being a delegate of
FScriptDelegate is actually a class TScriptDelegate as far as the “go to definition” can tell, so how do I get a function to be that class, know what I mean?),
the better way to do this according to the tutorial is by calling the macro
AddUniqueDynamic. Now how should I know that?
Digging further, I have to supply a void function with these parameters
ETouchIndex::Type FingerIndex, AActor* TouchedActor. How would I know that? looking up the macro, it leads to __Internal_AddUniqueDynamic, of which the first two parameters are
UserClass* InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr
This totally confuses me and it seems that these are not the only things that must follow some unknown logic that renders me incapable of deducing what to do next myself.
When do I have to use macros?
How can I identify when that’s the case and which ones are available?
An empty game starting up spawns a lot of stuff, how do I know where that’s coming from, since the default gamemode is none and I expect nothing to happen?