kjhf / SplatTag

Player and Team database for lookup of clan tags and teams
GNU General Public License v3.0
1 stars 0 forks source link

Rough outline on Class Restructuring #13

Closed kjhf closed 3 years ago

kjhf commented 3 years ago

The Source class becomes the container class, which has a list of players and teams defined from that source. The final merged result is its own Source.

What this means is each source file has a translated Source json. This is saved in the Sources file. This is then merged into a final Source, which the SplatTagController can use as its general lookup. Perhaps save this as a separate file so other sources can be lazy-loaded as needed but we need the final merged result on startup. This will replace the current Players and Teams snapshot files.

Since each Source has a list of Players and Teams, it will be important to make sure that the Guids are correct across the files. Player and Team objects (and other secondary objects like Brackets) will have back-references to the Sources that use them. This will be serialized/deserialized as Guids and not the full Source object which is separate.