Skip to content

[v0.0.5] UI Rendering System - SpriteBatch Management #10

@jacuzzicoding

Description

@jacuzzicoding

Description

Create a centralized UIRenderManager to handle all SpriteBatch Begin/End calls consistently across the UI system. The current implementation has nested SpriteBatch calls causing rendering issues, particularly with the crafting UI.

Requirements

  • Create UIRenderManager class to handle all UI rendering
  • Implement layered rendering approach (Bottom, Middle, Top)
  • Fix inconsistent SpriteBatch Begin/End patterns
  • Add proper depth management for UI elements
  • Ensure single responsibility for rendering

Technical Details

Current issues occur in:

  • UIManager.Draw()
  • CraftingUI.Draw()
  • PlayingState.Draw()

These methods have inconsistent SpriteBatch management that causes rendering issues when UIs are nested.

Acceptance Criteria

  • UIRenderManager properly handles all SpriteBatch Begin/End calls
  • No nested SpriteBatch.Begin/End calls in the codebase
  • UI elements render in the correct order based on their layer
  • CraftingUI is visible when toggled with C key

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions