add LevelLoadPlugin to enable automatically loading levels from an LDtk project
Objective
Fixes #4
The objective is to create a way to automatically load levels from an LDtk project to allow for faster development times by designing levels in LDtk and parsing the data in.
Solution
Created LevelLoad plugin that handles the parsing of LDtk project data in and creating the level
New components
Player component: Holds pointer struct and bundle applied to entities loaded by LDtk with the Player flag
Collidable component: Holds pointer struct and bundle applied to entities loaded by LDtk with a value of 1 in the intgrid
New systems
LevelLoadPlugin: Plugin that handles the parsing of data into the game from an LDtk project.
world_setup: Creates a camera entity and parses data from LDtk project into the game.
player_setup: Queries for new entities added with the Player pointer struct and initializes them.
collidable_setup: Queries for new entities added with the Collidable pointer struct and initializes them.
Testing
Tested by verifying data is correctly parsed in and displayed on screen
Tested player responds to control input and collides with collidable objects
Tested HealthBundle properly applied to Player on initialization by querying for entities with Player pointer struct and Health component. Verified again by decreasing health every Update and verifying health decreased as expected.
add LevelLoadPlugin to enable automatically loading levels from an LDtk project
Objective
Fixes #4 The objective is to create a way to automatically load levels from an LDtk project to allow for faster development times by designing levels in LDtk and parsing the data in.
Solution
Created LevelLoad plugin that handles the parsing of LDtk project data in and creating the level
New components
New systems
Testing