Removed partial modifiers and then composed GameData with GameMemory.
This prevents the members of GameMemory from being globally accessible and solidifies the organizational benefits of grouping several members and methods into GameMemory.
For other titles, attempted improvements on readability and inheritance mechanisms:
Removed static designation for several members and methods.
Added a generic type for GameData instances in order to streamline usage / inheritance of ClassicGameData and LaterClassicGameData for concrete GameData classes.
Created a VersionDetector to group some logic by responsibility.
For TR123, attempted improvements on readability:
partial
modifiers and then composedGameData
withGameMemory
.GameMemory
from being globally accessible and solidifies the organizational benefits of grouping several members and methods intoGameMemory
.For other titles, attempted improvements on readability and inheritance mechanisms:
static
designation for several members and methods.GameData
instances in order to streamline usage / inheritance ofClassicGameData
andLaterClassicGameData
for concreteGameData
classes.VersionDetector
to group some logic by responsibility.