I’ll go into the problem, but in short, I would really benefit from a way to have some sort of CoherenceDictionary<,> class that could hold an arbitrary amount of data and be synced between clients.
My specific problem is as follows:
- One root game object has 1-1000’s of “drawing” game objects
- Each drawing has 1-1000’s of “points”. Today I just keep these as a List<>, but in theory I could make all of these be child game objects since the data I need is position
- Each drawing also collects those points into sets. Each point could be in no sets, or many sets. Today this is essentially a List<List>
- And lastly each point has a list of 1-10’s of connected points. Essentially a List
The first two bullets can be dealt with via game objects without issue. The fourth bullet could probably be solved by encoding the data in byte. Though there’s a size limit there, so that poses some risks. But the really hard one to solve is bullet 3. That will have much more data, mainly as it’s being held at the drawing level.
So, long term all my problems are solved with some kind of sync-able List<> and/or Dictionary<,>. Short term I’m not sure that there is a good solution.