예제 #1
0
        public static void OnLobbyChatUpdate(LobbyChatUpdate_t pCallback)
        {
            switch ((uint)pCallback.m_rgfChatMemberStateChange)
            {
            case (uint)EChatMemberStateChange.k_EChatMemberStateChangeEntered:
                Logger.Debug($"{pCallback.m_ulSteamIDMakingChange} has joined the lobby");
                SteamAPI.PlayerConnected();
                break;

            case (uint)EChatMemberStateChange.k_EChatMemberStateChangeDisconnected:
            case (uint)EChatMemberStateChange.k_EChatMemberStateChangeLeft:
                Logger.Debug($"{pCallback.m_ulSteamIDMakingChange} has left the lobby");
                SteamAPI.DisconnectPlayer(pCallback.m_ulSteamIDMakingChange);
                break;

            case (uint)EChatMemberStateChange.k_EChatMemberStateChangeBanned:
                Logger.Debug($"{pCallback.m_ulSteamIDMakingChange} banned {pCallback.m_ulSteamIDUserChanged} from the lobby");
                SteamAPI.DisconnectPlayer(pCallback.m_ulSteamIDUserChanged);
                break;

            case (uint)EChatMemberStateChange.k_EChatMemberStateChangeKicked:
                Logger.Debug($"{pCallback.m_ulSteamIDMakingChange} kicked {pCallback.m_ulSteamIDUserChanged} from the lobby");
                SteamAPI.DisconnectPlayer(pCallback.m_ulSteamIDUserChanged);
                break;
            }
        }