Commit 8908f88f

add support for deleting static objects

One could argue it makes sense to enable the user to also remove objects, now that they can also create them.
This also means that the renderer needs to stop making some assumptions about its data structures.
Furthermore, this refactors some part of the code a bit, for instance when resetting the current selection after deselection or a deletion happened.

Commit 21adcef6

add dynamic object creation

Adds the code necessary to allow the user to add new objects during runtime. While most of the code can be re-used later, for now it is entered by using the temporary hotkey “O” when in shop mode.
After pressing it a new object (the table) can be placed wherever there is space for it, the same logic (working with the SelectionState) as when moving existing objects is used.

Commit 25407c23

add an ObjectType class that makes object creation more abstract

This adds the concept of ObjectTypes. This means when adding (“creating”) a new object, one simply has to pass the type id, as well as instance specific data such as position and angle.

Furthermore, this adds quite a bit of temporary code that loads these object types. This is hardcoded for now and will be replaced by JSON object definition files later.