This is a little game we are making. Look away. We won't help with compilation.
- TextureCreator
- Gets all textures in grid from resources bundle
- Cuts up the textures into array with IDs
- Includes solely terrain
- Multithreaded loader (hopefully)
- SpriteCreator
- Gets all textures from resources bundle
- Creates custom animation filetype
- Includes characters and items
- Render
- Initializes TextureCreator and SpriteCreator
- Assigns rendering of the UI, Map, Characters, Objects, and Shaders
- MapRender
- Handles rendering of the map
- Gets given map data
- Uses instance of TextureCreator to render map
- CharacterRender
- Uses custom animation files to create animation instances of characters
- Renders the actual character
- ObjectRender
- These are not the items in the game but the objects which are not part of tileset
- Ex: Torches, chests, etc...
- Calls Render's instance of ShaderRender
- ShadeRender
- Applies shaders to objects passed onto it
- Uses layers of varying alpha to create effect
- UIRender
- Handles menus and statistics
- ObjectList
- ArrayList of superclass of objects
- Will contain all IDs of subclasses in the arraylist
- InventoryContent
- Contains an ObjectList of the same length as the array
- MainMenu
- Contains all main menu buttons with hooks to methods
- Gets drawn if invoked by Graphics.UIRender
- PauseMenu
- Same as MainMenu, but with settings and exit/save
- SettingsMenu
- Displays buttons with hooks to change xml of settings
- MusicLoader
- Loads all pieces of music (Multithreaded if possible)
- Referenced by array (subject to change to HashMap)
- Music
- Contains play/pause for song control
- Accessed from Main
- SoundLoader
- Loads all sound effects
- Also referenced by array (or HashMap)
- Sound
- Plays/pauses sounds
- Gets info about "creators of sound" to create stereo effect
- PlayerCreator
- Creates player with random name and features
- ChunkCreator
- Based on nearby chunks and seed, created a new chunk in desired location
- ChestCreator (Optional)
- Returns objects that could be found in a chest
- EnemyCreator
- Based on nearby environment, create enemies with varying stats
- KeyboardHandler
- Gets called from Main
- Handles the keyboard input for character movement
- MouseHandler
- Possibly a custom cursor
- Interacts with UIEngine menus to do things
- JoystickHandler (optional)
- Interface for USB controller to use as game interface
- Protagonist
- (TODO)
- Enemies
- Arraylist of subclasses of enemies with inherited properties (such as strength, etc...)
- MainApplet
- Contains all function calls to orchestrate this miracle of a project