i6engine
1.0
|
The object module creates, manages and destroys all GameObjects, which represent aggregates of components ("GOComponent").
This design follows the one described in "Chris Stoy: Game Object Component System. Game Programming Gems 6, 2006, page 393."
The singleton ObjectController holds the list of all GameObjects. Upon each tick all GOComponents are ordered to process their messages.
The singleton ComponentFactory creates GOComponents that have been registered with it and GameObjects whose records are found in the database.
The singleton ObjectFacade inserts, deletes and retrieves the GameObjects resp. their pointers via the ObjectController's list.
A GameObject consists of a timestamp and its list of GOComponents. Both can be manipulated; there can only be one GOComponent of each type.