Author: Erik Letson <firstname.lastname@example.org>
Date: Sun, 18 Oct 2020 02:53:19 -0500
Some todos added
1 file changed, 7 insertions(+), 0 deletions(-)
diff --git a/main.py b/main.py
@@ -12,6 +12,13 @@ from src import game
# 3. Implement the "draw()" functionality of DirtySprite for all VGOs, which will be done in anything that manages a LayeredDirty group, e.g. in the
# EntityManager object.
# 4. Entities should probably be passed their manager. VGOs probably do not need this.
+# 5. There should be a "Bus" subsystem object that is initialized by Game and that is passed to all managers. The bus should be able to handle internal
+# errors that arise in inter-manager communication. Additionally, all managers should have an "expose()" method run each frame that exposes their
+# important values to the bus (what these specific values are will be particular to the manager, and the actual exposed data should be a dict). Other
+# manager objects could access the exposed values by talking to the bus. Additionally, the bus could enumerate all the managers that have been given
+# bus access, and could expose these managers to other managers as part of a public list/dict. These features would eliminate the ugly "so-and-so.game"
+# calls that are popping up all over the code here.
+# 6. Get rid of subsystem objects and make Interface a manager.
# Initialization of pygame and submodules
pygame.mixer.pre_init(44100, -16, 4, 1024)