private void ManagerInit(bool setConnection)
{
var config = new ClientConfig(ClientRole);
config.SetIsAudioEndpoint(IsAudioEndpoint);
config.SetLogWriter(logWriter);
if (setConnection)
{
config.SetServerAddress(ServerAddress);
config.SetServerPort(ServerPort);
}
Manager = SharingManager.Create(config);
// Set up callbacks so that we know when we've connected successfully.
networkConnectionAdapter = new NetworkConnectionAdapter();
networkConnectionAdapter.ConnectedCallback += OnNetworkConnectionChanged;
networkConnectionAdapter.DisconnectedCallback += OnNetworkConnectionChanged;
Connection.AddListener((byte)MessageID.StatusOnly, networkConnectionAdapter);
SyncStateListener = new SyncStateListener();
Manager.RegisterSyncListener(SyncStateListener);
Root = new SyncRoot(Manager.GetRootSyncObject());
SessionsTracker = new ServerSessionsTracker(Manager.GetSessionManager());
SessionUsersTracker = new SessionUsersTracker(SessionsTracker);
RoomManagerAdapter = new RoomManagerAdapter();
CurrentRoomManager.AddListener(RoomManagerAdapter);
using (var userName = new XString(DefaultUserName))
{
#if UNITY_WSA && !UNITY_EDITOR
Manager.SetUserName(SystemInfo.deviceName);
#else
if (!string.IsNullOrEmpty(Environment.UserName))
{
Manager.SetUserName(Environment.UserName);
}
else
{
User localUser = Manager.GetLocalUser();
Manager.SetUserName(userName + localUser.GetID().ToString());
}
#endif
}
}