m_data=newUserData(false,m_data.DisplayName,m_data.ID,EmoteType.None,UserStatus.Menu);// ID and DisplayName should persist since this might be the local user.
m_data=newUserData(false,m_data.DisplayName,m_data.ID,EmoteType.None,UserStatus.Menu,false);// ID and DisplayName should persist since this might be the local user.
}
#endregion
DisplayName=2,
Emote=4,
ID=8,
UserStatus=16
}
UserStatus=16,
IsApproved=32
}
privateUserMembersm_lastChanged;
publicUserMembersLastChanged=>m_lastChanged;
m_data.IsHost=value;
m_lastChanged=UserMembers.IsHost;
OnChanged(this);
if(value)
IsApproved=true;
}
}
}
{
m_userStatus=value;
m_lastChanged=UserMembers.UserStatus;
OnChanged(this);
}
}
}
publicboolIsApproved// Clients joining the lobby should be approved by the host before they can interact.
{
get=>m_data.IsApproved;
set
{
if(!m_data.IsApproved&&value)// Don't be un-approved except by a call to ResetState.
m_shouldPushData=true;// Ensure the initial presence of a new player is pushed to the lobby; otherwise, when a non-host joins, the LocalLobby never receives their data until they push something new.
m_isAwaitingQuery=true;// Note that because we make async calls, if one of them fails and doesn't call our callback, this will never be reset to false.