ChroMapper
ChroMapper copied to clipboard
Refactor base difficulty and map objects
- Changed base classes of map objects to be concrete classes. It's the internal model CM uses for data. (e.g. BaseNote)
- Version specific classes are used only to parse from and to json.
- Two methods:
GetFromJson
andToJson
. - Any supported currently custom json data keys
- Two methods:
-
Settings.Instance.MapVersion
is a global setting for what version to output to- This is set only when loading a map and switching version
- This is what node editor checks to get and parse json
Things left todo:
- Test this more
- Warn user on save if features used is incompatible with v2 (i.e. check for chains, arcs, angle offset, obstacles types, and rotation events outside v2 range)
- Bug: placing customEvents have default non-null values for
duration
,repeat
, andworldPositionStays
on placement instead of null