It occurred to me earlier that at no point have I been handling removing any of the bindings when an actor becomes irrelevant or gets destroyed and this left me wondering if this is bad practice?
I understand with general delegates that you’d probably want to unbind to make sure you don’t get any attempted invocation on bad pointers. Does anyone know if we should be managing this kind of thing with multicasts too? or does it do this validation under the hood?
Ok I did the dirty and went digging into the delegates class
/** Broadcasts this delegate to all bound objects, except to those that may have expired */
void Broadcast( FuncParamList ) const
{
ExecFunction( FuncParamPassThru );
} \
Since I bind my functions by reference I’m not particularly worried about memory, and since the comment implies it attempts to avoid bad objects, I’ll just carry on with business as normal