Opened 16 years ago
Closed 14 years ago
#292 closed defect (invalid)
Examine GSLevel
Reported by: | rgrieder | Owned by: | nobody |
---|---|---|---|
Priority: | minor | Milestone: | Version 0.2 Codename: Bellatrix |
Component: | GameLoader | Version: | 0.2.0 |
Keywords: | GSLevel | Cc: | |
Referenced By: | References: |
Description
When looking at src/orxonox/gamestates/GSLevel you can see that it doesn't inherit from a GameState. The current usage also suggests that the GameState character has vanished entirely.
The current parts of GSLevel are:
- An InputState with a KeyBinder attached to it
- The PlayerManager
- The LevelManager
- The CameraManager
- The Radar
- Console commands "keybind" and "tkeybind"
An obvious problem is the Radar, which should be immediately move to the Level or Scene class, not sure yet, probably Level. The KeyBinder with the InputState should go to Scene since different types of Scenes might have different keybindings (imagine a poker mini-game or anything you might encounter during playing). More problematic are the two console commands. They should always apply to the currently active KeyBinder if there is any. That could be implemented in the InputManager (be careful that KeyDetector derives from KeyBinder!).
That leaves the three managers, for which I have no idea yet. However it could be possible to rename GSLevel and move it to src/orxonox and keep things as they are (except for the above mentioned changes).
Change History (2)
comment:1 Changed 16 years ago by rgrieder
- Priority changed from major to minor
comment:2 Changed 14 years ago by rgrieder
- Resolution set to invalid
- Status changed from new to closed
There is a general problem with game states that needs to be dealt with. Closed as invalid.
The GameState related parts have been dealt with, so GSLevel is a game state again. However there is still one big issue:
GSLevel is something rather static and shared for all different kinds of levels. It should not load anything level specific like the Radar, but rather prerequisites like the LevelManager. The Keybinder I think should stay in GSLevel though.