https://github.com/christopherph/tbr-csharp.monogame
A collection of utility functions, extension methods, helpers and controls for the c# MonoGame framework.
https://github.com/christopherph/tbr-csharp.monogame
c-sharp c-sharp-library csharp monogame monogame-framework
Last synced: 9 months ago
JSON representation
A collection of utility functions, extension methods, helpers and controls for the c# MonoGame framework.
- Host: GitHub
- URL: https://github.com/christopherph/tbr-csharp.monogame
- Owner: ChristopherPH
- License: mpl-2.0
- Created: 2024-11-16T22:13:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-23T23:31:13.000Z (9 months ago)
- Last Synced: 2025-03-24T00:27:33.326Z (9 months ago)
- Topics: c-sharp, c-sharp-library, csharp, monogame, monogame-framework
- Language: C#
- Homepage: https://monogame.net
- Size: 349 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TheBlackRoom.MonoGame Libraries
A collection of utility functions, extension methods, and helpers for the c# MonoGame framework.
For more information about the MonoGame framework, visit https://monogame.net/
## Organizational Notes
- Libraries are implemented as shared projects to cleanly integrate into existing projects
- Libraries are split by namespace as much as possible to reduce dependancies
## TheBlackRoom.MonoGame
Utility functions, extension methods, helpers for MonoGame.
### TheBlackRoom.MonoGame.Drawing
Extensions for:
- Rectangle
### TheBlackRoom.MonoGame.Extensions
Extensions for:
- SpriteBatch
### TheBlackRoom.MonoGame.Interpolator
### TheBlackRoom.MonoGame.MenuSystem
## TheBlackRoom.GameFramework
A framework for creating a basic game.
Features:
- Game state system
- Game setting system
- Built-in video resolution settings
- Built-in audio resolution settings
## TheBlackRoom.MonoGame.GuiToolkit
A toolkit for creating a basic game user interface.
Provides a simple way to create and manage GUI layouts, via GUI elements. GUI
elements are self-contained objects that can be positioned, drawn and updated
independently of each other, which provide some basic functionality that is
expected from a GUI toolkit.
### GuiToolkit Features:
- GUI elements can be drawn and updated independently or as part of a GUI element collection
- GUI elements can be positioned with an abolute position, or relative to other GUI elements
- GUI elements can be easily subclassed, to use custom Update and/or Draw methods
- GUI element draw methods are implemented as static methods to allowing for custom elements to have a consistent look
- Complex GUI elements provide OwnerDraw functionality
- GUI element collections provide element anchoring functionalty for maintaining relative element positions within the collection
- GUI elements are cropped to their bounds (via ScissorTest)
### Built-In Elements:
- Element Collections:
- Layout (Top level GUI layout)
- Panel
- TablePanel
- Elements:
- Label
- ListBox
- PictureBox
- ShadowLabel
### Element Adornments:
- Borders: Solid, Raised, 3D
### API Reference
#### GuiElement (base class)
Properties:
- Name
- Bounds, Size, Location
- Padding, Margin
- BackColour
- Enabled, Visible
Methods:
- Update()
- Draw()
- Activate()
- HitTest()
#### ... more to come