the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 45 lines 2.0 kB view raw
1NETWORK CODE IMPLEMENTATION NOTES 2--------------------------------- 3 4The networking classes are organised as follows: 5 6 Game \ 7 ^ | 8 | | 9 +-----------------------------+-----------------------------+ | 10 | | | 11 v v | 12Game Network Manager <--------------------------------> Network Player Interface |- platform independent layers 13 ^ ^ | 14 | | | 15 v | | 16Platform Network Manager Interface | | 17 ^ | / 18 | | 19 v v \ 20Platform Network Manager Implementation(1) <------> Network Player Implementation (3) | 21 ^ ^ |_ platform specific layers 22 | | | 23 v v | 24Platform specific network code(2) Platform specific player code (4) / 25 26 27In general the game should only communicate with the GameNetworkManager and NetworkPlayerInterface APIs, which provide a platform independent 28interface for networking functionality. The GameNetworkManager may in general have code which is aware of the game itself, but it shouldn't have 29any platform-specific networking code. It communicates with a platform specific implementation of a PlatformNetworkManagerInterface to achieve this. 30 31The platform specific layers shouldn't contain any general game code, as this is much better placed in the platform independent layers to avoid 32duplicating effort. 33 34Platform specific files for each platform for the numbered classes in the previous diagram are currently: 35 36 37 Xbox 360 Sony Other 38 39(1) PlatformNetworkManagerXbox PlatformNetworkManagerSony PlatformNetworkManagerStub 40(2) Provided by QNET SQRNetworkManager Qnet stub* 41(3) NetworkPlayerXbox NetworkPlayerSony NetworkPlayerXbox 42(4) Provided by QNET SQRNetworkPlayer Qnet stub* 43 44 *temporarily provided by extra64.h 45