* Special check for decimal in serialization code. Changed method in IoCManager for a little QoL
* ISelfSerialize stuff
ISelfSerialize interface for stuff that want to implement their own (de)serialization.
Forgot that desialize could exist for decimals earlier.
Added ViewVariablesPropertyEditorISelfSerialzable thing for viewvariables.
* fix TestStylesheetOverride
* Fix improper UT logic
* Somewhat neater VV lineEdit event hanlding
* remove whitespace and unused using
* uninherit ViewVariablesPropertyEditorISelfSerialzable
* Fix improper use or ToString
* seal VV classes
* Rework friction to work as a sum instead of indiviually
* Removed comments
* Changed how friction works from reducing movement to increased the effect of mass.
* Changed how collision checks work
* Undid asym collision
* Push to switch machines
* Added UnitTest to clarify the logic in CollidesOnMask
* moved test into testcase
Added a bool to ICollidable to indicate friction with the floor, for thrown items down the line.
Added a bool to PhysicsComponent to indicate if movement is possible.
Added list of PhysicsComponent that are slowing "this" down.
PhysicsComponent handles BumpEntMsg by adding the bumping entity to that list.
Implemented ICollideSpecial to prevent collision with items in that list.
Reworked movement code:
- Separated calculating movement from doing movement;
- Calculating movement now involves several recalculations to see who is on "that" list;
- Friction of a tile now slows movement down depending on an object's mass;
Optimized collision code by building a Dictionary with a snapped grid location for key, reducing the amount of bodies that need to be checked significantly.