As a hobby programmer I am slowly working my way up project by project to make a game. However I am currently stumped on what to do with what I call the communication layer.
To explain: you have an ability, a technology or a building first you need to communicate to anyone effected to apply the effects. Also abilities might need to know when a certain activity is started or ended to trigger or alter their effects.
Events are a tool to handle this, but:
1) You still need an effective filter, so only those recipient are called that fulfill certain requirements(nationalities, race, class, locality etc)
2) You need to know/write beforehand what method needs to trigger an event.
I would be thankful for any advice on these two points, is there any way to elegantly append a methodcall with another methodcall?
I mean I could write some kind of wrapper containing a delegate of a method and then only call the wrapper, having the wrapper contain a list of additional method calls and their inputs to be executed?