public CreateSession ( |
||
sessionName | ||
return | bool |
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); } }
/// <summary> /// Creates a new session on the server. /// </summary> /// <param name="sessionName">Name of the session.</param> /// <returns>True if a session was created, false if not.</returns> public bool CreateSession(string sessionName) { if (disposed) { return(false); } return(sessionManager.CreateSession(sessionName)); }