public static bool IsSteamRunning()
 {
     return(NativeEntrypoints.SteamAPI_IsSteamRunning());
 }
        public static bool Initialize()
        {
            var hSteamUser = (uint)NativeEntrypoints.SteamAPI_GetHSteamUser();
            var hSteamPipe = (uint)NativeEntrypoints.SteamAPI_GetHSteamPipe();

            if (hSteamPipe == 0)
            {
                return(false);
            }

            m_pSteamClient = NativeEntrypoints.SteamInternal_CreateInterface(SteamclientInterfaceVersion);
            if (m_pSteamClient == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamUser = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUser(m_pSteamClient, hSteamUser, hSteamPipe, SteamuserInterfaceVersion);
            if (m_pSteamUser == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamFriends = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamFriends(m_pSteamClient, hSteamUser, hSteamPipe, SteamfriendsInterfaceVersion);
            if (m_pSteamFriends == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamUtils = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUtils(m_pSteamClient, hSteamPipe, SteamutilsInterfaceVersion);
            if (m_pSteamUtils == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamMatchmaking = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMatchmaking(m_pSteamClient, hSteamUser, hSteamPipe, SteammatchmakingInterfaceVersion);
            if (m_pSteamMatchmaking == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamMatchmakingServers = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMatchmakingServers(m_pSteamClient, hSteamUser, hSteamPipe, SteammatchmakingserversInterfaceVersion);
            if (m_pSteamMatchmakingServers == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamUserStats = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUserStats(m_pSteamClient, hSteamUser, hSteamPipe, SteamuserstatsInterfaceVersion);
            if (m_pSteamUserStats == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamApps = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamApps(m_pSteamClient, hSteamUser, hSteamPipe, SteamappsInterfaceVersion);
            if (m_pSteamApps == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamNetworking = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamNetworking(m_pSteamClient, hSteamUser, hSteamPipe, SteamnetworkingInterfaceVersion);
            if (m_pSteamNetworking == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamRemoteStorage = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamRemoteStorage(m_pSteamClient, hSteamUser, hSteamPipe, SteamremotestorageInterfaceVersion);
            if (m_pSteamRemoteStorage == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamScreenshots = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamScreenshots(m_pSteamClient, hSteamUser, hSteamPipe, SteamscreenshotsInterfaceVersion);
            if (m_pSteamScreenshots == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamHTTP = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamHTTP(m_pSteamClient, hSteamUser, hSteamPipe, SteamhttpInterfaceVersion);
            if (m_pSteamHTTP == IntPtr.Zero)
            {
                return(false);
            }

            m_pController = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamController(m_pSteamClient, hSteamUser, hSteamPipe, SteamcontrollerInterfaceVersion);
            if (m_pController == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamUGC = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUGC(m_pSteamClient, hSteamUser, hSteamPipe, SteamugcInterfaceVersion);
            if (m_pSteamUGC == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamAppList = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamAppList(m_pSteamClient, hSteamUser, hSteamPipe, SteamapplistInterfaceVersion);
            if (m_pSteamAppList == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamMusic = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMusic(m_pSteamClient, hSteamUser, hSteamPipe, SteammusicInterfaceVersion);
            if (m_pSteamMusic == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamMusicRemote = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMusicRemote(m_pSteamClient, hSteamUser, hSteamPipe, SteammusicremoteInterfaceVersion);
            if (m_pSteamMusicRemote == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamHTMLSurface = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamHTMLSurface(m_pSteamClient, hSteamUser, hSteamPipe, SteamhtmlsurfaceInterfaceVersion);
            if (m_pSteamHTMLSurface == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamInventory = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamInventory(m_pSteamClient, hSteamUser, hSteamPipe, SteaminventoryInterfaceVersion);
            if (m_pSteamInventory == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamVideo = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamVideo(m_pSteamClient, hSteamUser, hSteamPipe, SteamvideoInterfaceVersion);
            if (m_pSteamVideo == IntPtr.Zero)
            {
                return(false);
            }

            m_pSteamParentalSettings = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamParentalSettings(m_pSteamClient, hSteamUser, hSteamPipe, SteamparentalsettingsInterfaceVersion);
            if (m_pSteamParentalSettings == IntPtr.Zero)
            {
                return(false);
            }

            return(true);
        }