Closed ebanisadr closed 2 years ago
Non-blocking issues (solve when we merge mvp
into master
, not necessarily introduced in this PR):
multiuserScene
-> _multiuserScene
(see https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions for the full style guide)
This PR contains the vast majority of the network code we’ll need. Objects are synchronized via photon views, and their properties (i.e. position, rotation, color, etc.) can be synchronized via specific views (usually a
Photon Transform View
).Objects that can be manipulated by any user (our goal) are strongly owned by one user in Photon land so I implemented a script called SharedObject which, when attached to an object, can be configured to allow the local user to take ownership of the object before manipulating it via
Takeover()
. This should be called before any other modifications to the object to ensure the local user has ownership of it.Added functionality
Resources
directory has been created to store objects that are created at runtime, on a server. This is because Photon explicitly says that’s the only way to do it.Debug.Log(“msg”)
Known Issues/TODO items:
The TODO list is pretty long because I'm pretty incapable of manipulating scenes in Unity and/or they would require a lot of added complexity for this already-hefty PR. I'm also happy to be the "networking guy" going forward, and continue to work on these (along with voice chat and whatever networking is needed for features we add in the future).