Exemple #1
0
    /// <summary>
    /// Creates user view from the date given
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    protected virtual LobbyUserUi CreateMemberView(LobbyMemberData data)
    {
        // Get team
        var team = Teams[data.Team];

        // Get user view
        var user = UsersPool.GetResource();

        user.Reset();
        user.gameObject.SetActive(true);
        user.Setup(data);
        user.IsCurrentPlayer = data.Username == CurrentUser;

        // Add user to team
        user.transform.SetParent(team.UsersLayoutGroup.transform, false);
        user.transform.SetAsLastSibling();

        // Set ready status from data
        if (data.Username == CurrentUser)
        {
            IsReady = data.IsReady;
        }

        user.SetReadyStatusVisibility(AreUserReadyStatesVisible());

        // Generate username text
        user.Username.text = GenerateUsernameText(user);

        return(user);
    }
Exemple #2
0
    public virtual void OnMemberTeamChanged(LobbyMemberData member, LobbyTeamData team)
    {
        UnityMainThreadDispatcher.Instance().Enqueue(() =>
        {
            LobbyUserUi user;
            Users.TryGetValue(member.Username, out user);

            if (user == null)
            {
                return;
            }

            // Player changed teams
            var newTeam = Teams[team.Name];
            user.transform.SetParent(newTeam.UsersLayoutGroup.transform, false);

            if (member.Username == CurrentUser)
            {
                UpdateReadyButton();
            }

            UpdateTeamJoinButtons();
            UpdateStartGameButton();
        });
    }
Exemple #3
0
    public virtual void OnMemberJoined(LobbyMemberData member)
    {
        UnityMainThreadDispatcher.Instance().Enqueue(() =>
        {
            Users.Add(member.Username, CreateMemberView(member));

            UpdateStartGameButton();
            UpdatePlayerCount();
        });
    }
Exemple #4
0
    public virtual void OnMemberLeft(LobbyMemberData member)
    {
        UnityMainThreadDispatcher.Instance().Enqueue(() =>
        {
            LobbyUserUi user;
            Users.TryGetValue(member.Username, out user);

            if (user == null)
            {
                return;
            }

            Users.Remove(member.Username);

            UsersPool.Store(user);

            UpdateStartGameButton();
            UpdatePlayerCount();
        });
    }
Exemple #5
0
    public virtual void OnMemberReadyStatusChanged(LobbyMemberData member, bool isReady)
    {
        UnityMainThreadDispatcher.Instance().Enqueue(() =>
        {
            LobbyUserUi user;
            Users.TryGetValue(member.Username, out user);

            if (user == null)
            {
                return;
            }

            user.SetReady(isReady);

            if (member.Username == CurrentUser)
            {
                IsReady = isReady;
                UpdateReadyButton();
            }

            UpdateStartGameButton();
        });
    }
Exemple #6
0
 public void OnMemberTeamChanged(LobbyMemberData member, LobbyTeamData team)
 {
     Logs.Error("Member switched teams:" + member.Username + " - " + team.Name);
 }
Exemple #7
0
 public void OnMemberReadyStatusChanged(LobbyMemberData member, bool isReady)
 {
     Logs.Error("Member is READY:" + member.Username + " - " + isReady);
 }
Exemple #8
0
 public void OnMemberLeft(LobbyMemberData member)
 {
     Logs.Error("Member left: " + member.Username);
 }
Exemple #9
0
 public void OnMemberJoined(LobbyMemberData member)
 {
     Logs.Error("Member joined: " + member.Username);
 }
Exemple #10
0
 public void OnMemberPropertyChanged(LobbyMemberData member, string property, string value)
 {
     Logs.Error("Member property changed: " + member.Properties[property]);
 }
Exemple #11
0
 public virtual void OnMemberPropertyChanged(LobbyMemberData member, string property, string value)
 {
 }
 /// <summary>
 /// Sets up the view from the data given
 /// </summary>
 /// <param name="data"></param>
 public void Setup(LobbyMemberData data)
 {
     RawData       = data;
     Username.text = data.Username;
     SetReady(data.IsReady);
 }