1. 26 Dec, 2020 4 commits
    • Grisu's avatar
      Add some obstacles · d32576e3
      Grisu authored and Rahix's avatar Rahix committed
      d32576e3
    • Rahix's avatar
      resources: Add GameManager · ca343ed9
      Rahix authored
      The GameManager provides a way for systems to schedule a transition back
      to the heaven.
      ca343ed9
    • Rahix's avatar
      Configure shift-specific entities, resources, and systems · 96901f6e
      Rahix authored
      Add a new method to the AngelShiftImpl trait which angel shifts use to
      configure any shift-specific entities, resources, and ECS systems.
      
      As a first implementation, properly implement this for the bottle angel
      shift and move the `collect_bottledrops` systems here instead of it
      being a generic system.
      96901f6e
    • Rahix's avatar
      Pass Player component between gamestates · ff0b5af8
      Rahix authored
      The player component hold information which should stay persistent
      across the game-runs and thus needs to be passed through the different
      game-states.  Do this by instanciating it in the heaven and then passing
      it through the level-loading state into the in-game state.
      ff0b5af8
  2. 25 Dec, 2020 1 commit
    • Simon Goller's avatar
      Fix future memory leak of registered images · fccc526d
      Simon Goller authored and neosam's avatar neosam committed
      Sprites were loaded during the level_loading und the level images in
      InGameState::new() but they were never cleaned up.  As soon as the
      InGameState starts several times, this would lead to a memory leak.
      This commit contains a separate treatment for sprites and the level
      images:
      
      Since sprites are stored as a global Enum, they will now be initialized
      only once on the first loading state.  When loading the images, they
      check if the ImageHandle is already registered on the renderer to
      determine if loading is required.
      
      Level foreground and background on the other hand are dynamically loaded
      in the InGameState.  The InGameState got a new attribute
      `registered_images: Vec<resources::ImageHandle>` which stores all
      `ImageHandle` of dynamically loaded images.  On deinint, they
      get deregistered from `Rendering`.
      fccc526d
  3. 22 Dec, 2020 4 commits
  4. 21 Dec, 2020 8 commits
  5. 19 Dec, 2020 5 commits
  6. 18 Dec, 2020 6 commits
  7. 17 Dec, 2020 4 commits
  8. 14 Dec, 2020 2 commits