Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Opened 11 years ago

Closed 9 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 11 years ago by rgrieder

  • Priority changed from major to minor

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.

comment:2 Changed 9 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.

Note: See TracTickets for help on using tickets.