TDD
Level Editor
2D Gridsystem
Visualize Grid
Visualising the grid using a queue/list of vertLines and horLines which get put on the respectively other side if the grid moves out of sight.
In the Queue/List the first element is the top/left line and the last is the bottom/right element.
Grid Data
The Grid will need to save data of all objects within the Grid, since the 2D Grid will be used for pathfinding calculations, movement, checking for obstacles, etc.
- All viable standing locations
- For every tile:
- All directions to move to
- All special actions which are viable (e.g. buttons, keys, etc.)
- What Entity is on that tile (e.g. Player, Enemies, etc.)
=> Maybe as a big matrix with each element being tile or edge and tiles know they can traverse to the next tile if the element in that direction is empty. So if tile(2,2) wants to go to tile(2,4) it check's edge(2,3) if it's empty or not
Placing Edges
Edges will only be placed in straight lines.
LeftClick on the Grid will place a Edge
Hold LeftClick will place Edges as far as the mouse is dragged in the according direction.
Placing Tiles
Combat System
Combat Manager
-> Accessible from Enemies and Player/Abilities
Needs to hold:
- Player
- Enemies
- Turn order
- Track turns
Item System
Items will need to be accessible from everywhere using only an ID.
-> Have them saved in a big Array?
-> Save that Array in a xml?
Items
- ID
- ItemType Enum
Equipment
- Equipment Type
- Stats
Dungeon Items
- ???
Key Items
- ???