I am attempting to design a component-based architecture that allows
Components to be dynamically enabled and disabled, much like the system employed by Unity3D. For example, all
Components are implicitly enabled by default; however, if one desires to halt execution of code for a particular
Component, one can disable it.
Naively, I want to have a boolean flag in
Component (which is an
abstract class), and somehow serialize all method calls into
strings, so that some sort of
ComponentManager can check if a given
Component is enabled/disabled before processing a method call on it. However, this is a pretty bad solution. I feel like I should employ some variation of the state paradigm, but I have yet to make progress.
Any help would be greatly appreciated,