Skip to content

Commit

Permalink
Merge pull request #980 from StephenHodgson/MRTK-SharingService
Browse files Browse the repository at this point in the history
Update to AutoJoinSessionAndRoom
  • Loading branch information
StephenHodgson authored Sep 25, 2017
2 parents 587c849 + 3c9d531 commit a7d2ce9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 15 deletions.
9 changes: 0 additions & 9 deletions Assets/HoloToolkit-Tests/Sharing/Scripts/UserNotifications.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,6 @@ private void Connected(object sender = null, EventArgs e = null)
SharingStage.Instance.SharingManagerConnected -= Connected;

usersTracker = SharingStage.Instance.SessionUsersTracker;
string users = string.Empty;

for (int i = 0; i < usersTracker.CurrentUsers.Count; i++)
{
users += "\n" + usersTracker.CurrentUsers[i].GetName();
}

Debug.LogFormat("[User Notifications] {0} users in room.{1}", usersTracker.CurrentUsers.Count, users);

localUser = SharingStage.Instance.Manager.GetLocalUser();

usersTracker.UserJoined += NotifyUserJoined;
Expand Down
4 changes: 1 addition & 3 deletions Assets/HoloToolkit/Sharing/Scripts/ServerSessionsTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@

using System;
using System.Collections.Generic;
using System.Linq;
using HoloToolkit.Unity;
using UnityEngine;

namespace HoloToolkit.Sharing
{
Expand Down Expand Up @@ -52,7 +50,6 @@ public ServerSessionsTracker(SessionManager sessionMgr)
if (sessionManager != null)
{
sessionManagerAdapter = new SessionManagerAdapter();
sessionManager.AddListener(sessionManagerAdapter);
sessionManagerAdapter.ServerConnectedEvent += OnServerConnected;
sessionManagerAdapter.ServerDisconnectedEvent += OnServerDisconnected;
sessionManagerAdapter.SessionClosedEvent += OnSessionClosed;
Expand All @@ -62,6 +59,7 @@ public ServerSessionsTracker(SessionManager sessionMgr)
sessionManagerAdapter.UserChangedEvent += OnUserChanged;
sessionManagerAdapter.UserJoinedSessionEvent += OnUserJoined;
sessionManagerAdapter.UserLeftSessionEvent += OnUserLeft;
sessionManager.AddListener(sessionManagerAdapter);
}
}

Expand Down
1 change: 1 addition & 0 deletions Assets/HoloToolkit/Sharing/Scripts/SharingStage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,7 @@ public void ConnectToServer(string serverAddress, int port)

public void ConnectToServer()
{
SessionsTracker.LeaveCurrentSession();
Manager.SetServerConnectionInfo(ServerAddress, (uint)ServerPort);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ public class AutoJoinSessionAndRoom : Singleton<AutoJoinSessionAndRoom>
/// </summary>
private long roomID = 1;

/// <summary>
/// Time to wait before attempting to reconnect.
/// </summary>
public float Timeout = 1f;

private static bool ShouldLocalUserCreateRoom
{
get
Expand Down Expand Up @@ -103,6 +108,8 @@ private IEnumerator AutoConnect()
Debug.Log("[AutoJoinSessionAndRoom] Attempting to connect...");
}

yield return new WaitForSeconds(Timeout);

if (!SharingStage.Instance.SessionsTracker.IsServerConnected)
{
if (SharingStage.Instance.ShowDetailedLogs)
Expand Down Expand Up @@ -135,8 +142,7 @@ private IEnumerator AutoConnect()

for (int i = 0; i < SharingStage.Instance.SessionsTracker.Sessions.Count; ++i)
{
if (SharingStage.Instance.SessionsTracker.Sessions[i].GetName().GetString() ==
SharingStage.Instance.SessionName)
if (SharingStage.Instance.SessionsTracker.Sessions[i].GetName().GetString() == SharingStage.Instance.SessionName)
{
sessionExists = true;
if (SharingStage.Instance.ShowDetailedLogs)
Expand All @@ -158,7 +164,10 @@ private IEnumerator AutoConnect()
Debug.LogFormat("[AutoJoinSessionAndRoom] Didn't find session {0}, making a new one...", SharingStage.Instance.SessionName);
}

yield return SharingStage.Instance.SessionsTracker.CreateSession(SharingStage.Instance.SessionName);
if (!SharingStage.Instance.SessionsTracker.CreateSession(SharingStage.Instance.SessionName))
{
yield break;
}

yield return new WaitForEndOfFrame();

Expand Down

0 comments on commit a7d2ce9

Please sign in to comment.