ThrowEvent
is odd terminology, usually you'd call it
RaiseEvent
. Your
getNewID
method is not thread safe, you may end up reusing an Id. Try the
Interlocked
class to get around that. I highly recommend looking into c# naming conventions. As you mention Unity, I know they may differ there, but double underscores is very odd (and hard on the eyes), most especially when used for local variables and parameters. At the very least be consistent. Also, as you have "a working solution", this question is probably a better fit for codereview.stackexchange. —
pinkfloydx33 44 secs ago