Example #1
0
    /// <summary>
    /// Sets the session information associated with this button
    /// </summary>
    /// <param name="sessionInfo">The session info</param>
    public void SetSessionInfo(INetworkDiscovery.SessionInfo sessionInfo)
    {
        SessionInfo = sessionInfo;
        if (SessionInfo != null)
        {
            textMesh.text = string.Format("{0}\n{1}", SessionInfo.SessionName, SessionInfo.SessionIp);
            if (SessionInfo == scrollingUIController.SelectedSession)
            {
                textMaterial.SetColor(textColorId, Color.blue);

                textMesh.color = Color.blue;
            }
            else
            {
                textMaterial.SetColor(textColorId, Color.yellow);
                textMesh.color = Color.yellow;
            }
        }
    }
    /// <summary>
    /// Updates which session is the 'top' session in the list, and sets the
    /// session buttons accordingly
    /// </summary>
    /// <param name="Direction">are we scrolling up, down, or not scrolling</param>
    public void ScrollSessions(int Direction)
    {
        int sessionCount = sessionList == null ? 0 : sessionList.Count;

        // Update the session index
        SessionIndex = Mathf.Clamp(SessionIndex + Direction, 0, Mathf.Max(0, sessionCount - SessionControls.Length));

        // Update all of the controls
        for (int index = 0; index < SessionControls.Length; index++)
        {
            if (SessionIndex + index < sessionCount)
            {
                SessionControls[index].gameObject.SetActive(true);
                INetworkDiscovery.SessionInfo sessionInfo = sessionList.Values.ElementAt(SessionIndex + index);
                SessionControls[index].SetSessionInfo(sessionInfo);
            }
            else
            {
                SessionControls[index].gameObject.SetActive(false);
            }
        }
    }
 /// <summary>
 /// Sets the selected session
 /// </summary>
 /// <param name="sessionInfo">The session to set as selected</param>
 public void SetSelectedSession(INetworkDiscovery.SessionInfo sessionInfo)
 {
     SelectedSession = sessionInfo;
     // Recalculating the session list so we can update the text colors.
     ScrollSessions(0);
 }