If you define to many arguments with context->SetArg*() the function will just not be called. For example if someone who is making an npc for my game forgets to define all the arguments in the event like this:
bool OnWarpCollision(const string& level)
{
PrintLine(level);
return true;
}
When it should look like this:
bool OnWarpCollision(const string& level, float x, float y)
{
PrintLine(level);
return true;
}
The first one will not be called because i use:
SetArgAddress(0, level);
SetArgFloat(1, nextX);
SetArgFloat(2, nextY);
Maybe you could make it ignore the SetArg() if the argument isnt defined