And personally I never liked the idea of separating python into modules.
Although it makes merging and deletion easier, it clouds your overall vision of what is going on.
If you have 10 chunks of codes being activated onUnitBuilt for instance, when they are all in the same CvEventManager file, you can tell exactly what is going on and the end result.
1) Separating them into 10 modules, you cannot tell what is gonna happen unless you open all the module folder one by one and look at 10 CvEventManager to try and figure out what is going on.
2) And worse, when you want to change something in onCityBuilt for instance, there is nothing to inform you whether those 10 modules made a change to it, unless you open them again, whereas if I only have 1 CvEventManager, I can tell straightaway there is no code there, while there are 10 codes onUnitBuilt.
3) Ordering of codes is important as it is usually top down basic. Good luck when they are in 10 modules.
That is my opinion of python modules.
It is a way of saying, you do your stuff, I do my stuff.
Then lets place both of them in the same place and all works well.
All works well if and only if they do not interfere with each other.
Simple example:
Function 1:
If City is built:
If Leader is Alexander, set Name as Bomb
Function 2:
If City is built:
If Civilization is Greece, set Name as Toy
It is obvious these 2 are gonna interfere with each other.
Placing them in the same file:
Code:
If City is built:
If Civilization is Greece, set Name as Toy
If Leader is Alexander, set Name as Bomb
1) I can tell straight away this is screwed when Alexander of Greece built the City.
2)
Code:
If City is built:
If Civilization is Greece, set Name as Toy
If Leader is Alexander, set Name as Bomb
and
Code:
If City is built:
If Leader is Alexander, set Name as Bomb
If Civilization is Greece, set Name as Toy
will give totally different results.
Have fun figuring out the order of codes to be triggered when placed in different modules.
3) When I wanna add new codes to onCityBuilt, I can tell straightaway there are already 2 codes there and can figure out if my intended new addition is gonna affect any of them.
If it is done in modules, there is nothing to indicate if there are any codes affecting onCityBuilt in the main CvEventManager file.
Unless you keep a record somewhere, the only way is open up every CvEventManager file and see if they affect.