public GetMachineSessionState ( ) : MachineSessionState | ||
return | MachineSessionState |
void Update() { try { // Get an instance of the SessionManager if one does not exist. if (sessionManager == null && SharingStage.Instance != null && SharingStage.Instance.Manager != null) { this.sessionManager = SharingStage.Instance.Manager.GetSessionManager(); } // If we are a Primary Client and can join sessions... if (this.sessionManager != null && sessionManager.GetSessionCount() > 0) { // Check to see if we aren't already in the desired session Session currentSession = this.sessionManager.GetCurrentSession(); if (currentSession == null || // We aren't in any session currentSession.GetName().GetString() != this.SessionName || // We're in the wrong session currentSession.GetMachineSessionState() == MachineSessionState.DISCONNECTED) // We aren't joined or joining the right session { Debug.Log("Session conn " + sessionManager.IsServerConnected() + " sessions: " + sessionManager.GetSessionCount()); Debug.Log("Looking for " + SessionName); bool sessionFound = false; for (int i = 0; i < this.sessionManager.GetSessionCount(); ++i) { Session s = this.sessionManager.GetSession(i); Debug.Log(string.Format("session {0}", s.GetName().GetString())); if (s.GetName().GetString() == this.SessionName) { s.Join(); sessionFound = true; break; } } if (sessionManager.IsServerConnected() && !sessionFound) { Debug.Log("Didn't find session, making a new one"); sessionManager.CreateSession(new XString(SessionName)); for (int i = 0; i < this.sessionManager.GetSessionCount(); ++i) { Session s = this.sessionManager.GetSession(i); if (s.GetName().GetString() == this.SessionName) { s.Join(); Debug.Log("Joining our new session"); sessionFound = true; break; } } } } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e); } }
void Update() { if (previousSessionName != SessionName) { sessionCreationRequested = false; previousSessionName = SessionName; } // If we are a Primary Client and can join sessions... if (this.sessionsTracker != null && this.sessionsTracker.Sessions.Count > 0) { // Check to see if we aren't already in the desired session Session currentSession = this.sessionsTracker.GetCurrentSession(); if (currentSession == null || // We aren't in any session currentSession.GetName().GetString() != this.SessionName || // We're in the wrong session currentSession.GetMachineSessionState() == MachineSessionState.DISCONNECTED) // We aren't joined or joining the right session { Debug.Log("Session conn " + this.sessionsTracker.IsServerConnected + " sessions: " + this.sessionsTracker.Sessions.Count); Debug.Log("Looking for " + SessionName); bool sessionFound = false; for (int i = 0; i < this.sessionsTracker.Sessions.Count; ++i) { Session session = this.sessionsTracker.Sessions[i]; if (session.GetName().GetString() == this.SessionName) { this.sessionsTracker.JoinSession(session); sessionFound = true; break; } } if (this.sessionsTracker.IsServerConnected && !sessionFound && !sessionCreationRequested) { Debug.Log("Didn't find session, making a new one"); if (this.sessionsTracker.CreateSession(new XString(SessionName))) { sessionCreationRequested = true; } } } } }