internal void SteamNetworkingIdentity_ToString(ref NetIdentity identity, out string buf)
        {
            IntPtr membuf = Helpers.TakeMemory();

            _SteamNetworkingIdentity_ToString(Self, ref identity, membuf, (1024 * 32));
            buf = Helpers.MemoryToString(membuf);
        }
		public int GetLaunchCommandLine( out string pszCommandLine )
		{
			IntPtr mempszCommandLine = Helpers.TakeMemory();
			var returnValue = _GetLaunchCommandLine( Self, mempszCommandLine, (1024 * 32) );
			pszCommandLine = Helpers.MemoryToString( mempszCommandLine );
			return returnValue;
		}
		public uint GetAppInstallDir( AppId appID, out string pchFolder )
		{
			IntPtr mempchFolder = Helpers.TakeMemory();
			var returnValue = _GetAppInstallDir( Self, appID, mempchFolder, (1024 * 32) );
			pchFolder = Helpers.MemoryToString( mempchFolder );
			return returnValue;
		}
        internal void ConvertPingLocationToString(ref NetPingLocation location, out string pszBuf)
        {
            IntPtr mempszBuf = Helpers.TakeMemory();

            _ConvertPingLocationToString(Self, ref location, mempszBuf, (1024 * 32));
            pszBuf = Helpers.MemoryToString(mempszBuf);
        }
        internal void SteamNetworkingIPAddr_ToString(ref NetAddress addr, out string buf, [MarshalAs(UnmanagedType.U1)] bool bWithPort)
        {
            IntPtr membuf = Helpers.TakeMemory();

            _SteamNetworkingIPAddr_ToString(Self, ref addr, membuf, (1024 * 32), bWithPort);
            buf = Helpers.MemoryToString(membuf);
        }
示例#6
0
        static unsafe void OnGameConnectedClanChatMessage(GameConnectedClanChatMsg_t data)
        {
            if (OnClanChatMessage == null)
            {
                return;
            }

            var friend = new Friend(data.SteamIDUser);

            var     buffer  = Helpers.TakeMemory();
            var     type    = ChatEntryType.ChatMsg;
            SteamId chatter = data.SteamIDUser;

            var len = Internal.GetClanChatMessage(data.SteamIDClanChat, data.MessageID, buffer, Helpers.MemoryBufferSize, ref type, ref chatter);

            if (len == 0 && type == ChatEntryType.Invalid)
            {
                return;
            }

            var typeName = type.ToString();
            var message  = Helpers.MemoryToString(buffer);

            OnClanChatMessage(data.SteamIDClanChat, friend, data.MessageID, typeName, message);
        }
		public bool GetCurrentBetaName( out string pchName )
		{
			IntPtr mempchName = Helpers.TakeMemory();
			var returnValue = _GetCurrentBetaName( Self, mempchName, (1024 * 32) );
			pchName = Helpers.MemoryToString( mempchName );
			return returnValue;
		}
		public bool BGetDLCDataByIndex( int iDLC, ref AppId pAppID, [MarshalAs( UnmanagedType.U1 )] ref bool pbAvailable, out string pchName )
		{
			IntPtr mempchName = Helpers.TakeMemory();
			var returnValue = _BGetDLCDataByIndex( Self, iDLC, ref pAppID, ref pbAvailable, mempchName, (1024 * 32) );
			pchName = Helpers.MemoryToString( mempchName );
			return returnValue;
		}
示例#9
0
        internal GameSearchErrorCode_t RetrieveConnectionDetails(SteamId steamIDHost, out string pchConnectionDetails)
        {
            using var mempchConnectionDetails = Helpers.TakeMemory();
            var returnValue = _RetrieveConnectionDetails(Self, steamIDHost, mempchConnectionDetails, (1024 * 32));

            pchConnectionDetails = Helpers.MemoryToString(mempchConnectionDetails);
            return(returnValue);
        }
        internal int GetDetailedConnectionStatus(Connection hConn, out string pszBuf)
        {
            IntPtr mempszBuf   = Helpers.TakeMemory();
            var    returnValue = _GetDetailedConnectionStatus(Self, hConn, mempszBuf, (1024 * 32));

            pszBuf = Helpers.MemoryToString(mempszBuf);
            return(returnValue);
        }
        internal int GetAppInstallDir(AppId nAppID, out string pchDirectory)
        {
            IntPtr mempchDirectory = Helpers.TakeMemory();
            var    returnValue     = _GetAppInstallDir(Self, nAppID, mempchDirectory, (1024 * 32));

            pchDirectory = Helpers.MemoryToString(mempchDirectory);
            return(returnValue);
        }
        internal int GetAppName(AppId nAppID, out string pchName)
        {
            IntPtr mempchName  = Helpers.TakeMemory();
            var    returnValue = _GetAppName(Self, nAppID, mempchName, (1024 * 32));

            pchName = Helpers.MemoryToString(mempchName);
            return(returnValue);
        }
        internal int FilterText(out string pchOutFilteredText, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string pchInputMessage, [MarshalAs(UnmanagedType.U1)] bool bLegalOnly)
        {
            IntPtr mempchOutFilteredText = Helpers.TakeMemory();
            var    returnValue           = _FilterText(Self, mempchOutFilteredText, (1024 * 32), pchInputMessage, bLegalOnly);

            pchOutFilteredText = Helpers.MemoryToString(mempchOutFilteredText);
            return(returnValue);
        }
示例#14
0
        internal int GetLaunchCommandLine(out string pszCommandLine)
        {
            using var mempszCommandLine = Helpers.TakeMemory();
            var returnValue = _GetLaunchCommandLine(Self, mempszCommandLine, (1024 * 32));

            pszCommandLine = Helpers.MemoryToString(mempszCommandLine);
            return(returnValue);
        }
示例#15
0
        internal int FilterText(TextFilteringContext eContext, SteamId sourceSteamID, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string pchInputMessage, out string pchOutFilteredText)
        {
            IntPtr mempchOutFilteredText = Helpers.TakeMemory();
            var    returnValue           = _FilterText(Self, eContext, sourceSteamID, pchInputMessage, mempchOutFilteredText, (1024 * 32));

            pchOutFilteredText = Helpers.MemoryToString(mempchOutFilteredText);
            return(returnValue);
        }
        internal int GetNextMostAchievedAchievementInfo(int iIteratorPrevious, out string pchName, ref float pflPercent, [MarshalAs(UnmanagedType.U1)] ref bool pbAchieved)
        {
            IntPtr mempchName  = Helpers.TakeMemory();
            var    returnValue = _GetNextMostAchievedAchievementInfo(Self, iIteratorPrevious, mempchName, (1024 * 32), ref pflPercent, ref pbAchieved);

            pchName = Helpers.MemoryToString(mempchName);
            return(returnValue);
        }
示例#17
0
        internal uint GetAppInstallDir(AppId appID, out string pchFolder)
        {
            using var mempchFolder = Helpers.TakeMemory();
            var returnValue = _GetAppInstallDir(Self, appID, mempchFolder, (1024 * 32));

            pchFolder = Helpers.MemoryToString(mempchFolder);
            return(returnValue);
        }
        internal bool GetConnectionName(Connection hPeer, out string pszName)
        {
            IntPtr mempszName = Helpers.TakeMemory();

            var returnValue = _GetConnectionName(Self, hPeer, mempszName, (1024 * 32));

            pszName = Helpers.MemoryToString(mempszName);
            return(returnValue);
        }
示例#19
0
        internal bool GetEnteredGamepadTextInput(out string pchText)
        {
            IntPtr mempchText = Helpers.TakeMemory();

            var returnValue = _GetEnteredGamepadTextInput(Self, mempchText, (1024 * 32));

            pchText = Helpers.MemoryToString(mempchText);
            return(returnValue);
        }
示例#20
0
        internal bool GetBeaconLocationData(SteamPartyBeaconLocation_t BeaconLocation, SteamPartyBeaconLocationData eData, out string pchDataStringOut)
        {
            using var mempchDataStringOut = Helpers.TakeMemory();

            var returnValue = _GetBeaconLocationData(Self, BeaconLocation, eData, mempchDataStringOut, (1024 * 32));

            pchDataStringOut = Helpers.MemoryToString(mempchDataStringOut);
            return(returnValue);
        }
示例#21
0
        internal bool GetBeaconDetails(PartyBeaconID_t ulBeaconID, ref SteamId pSteamIDBeaconOwner, ref SteamPartyBeaconLocation_t pLocation, out string pchMetadata)
        {
            using var mempchMetadata = Helpers.TakeMemory();

            var returnValue = _GetBeaconDetails(Self, ulBeaconID, ref pSteamIDBeaconOwner, ref pLocation, mempchMetadata, (1024 * 32));

            pchMetadata = Helpers.MemoryToString(mempchMetadata);
            return(returnValue);
        }
        internal bool GetOPFStringForApp(AppId unVideoAppID, out string pchBuffer, ref int pnBufferSize)
        {
            IntPtr mempchBuffer = Helpers.TakeMemory();

            var returnValue = _GetOPFStringForApp(Self, unVideoAppID, mempchBuffer, ref pnBufferSize);

            pchBuffer = Helpers.MemoryToString(mempchBuffer);
            return(returnValue);
        }
        internal bool GetResultItemProperty(SteamInventoryResult_t resultHandle, uint unItemIndex, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string pchPropertyName, out string pchValueBuffer, ref uint punValueBufferSizeOut)
        {
            IntPtr mempchValueBuffer = Helpers.TakeMemory();

            var returnValue = _GetResultItemProperty(Self, resultHandle, unItemIndex, pchPropertyName, mempchValueBuffer, ref punValueBufferSizeOut);

            pchValueBuffer = Helpers.MemoryToString(mempchValueBuffer);
            return(returnValue);
        }
示例#24
0
        internal bool GetCurrentBetaName(out string pchName)
        {
            using var mempchName = Helpers.TakeMemory();

            var returnValue = _GetCurrentBetaName(Self, mempchName, (1024 * 32));

            pchName = Helpers.MemoryToString(mempchName);
            return(returnValue);
        }
        internal bool GetItemDefinitionProperty(InventoryDefId iDefinition, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string pchPropertyName, out string pchValueBuffer, ref uint punValueBufferSizeOut)
        {
            IntPtr mempchValueBuffer = Helpers.TakeMemory();

            var returnValue = _GetItemDefinitionProperty(Self, iDefinition, pchPropertyName, mempchValueBuffer, ref punValueBufferSizeOut);

            pchValueBuffer = Helpers.MemoryToString(mempchValueBuffer);
            return(returnValue);
        }
示例#26
0
        internal bool GetUserDataFolder(out string pchBuffer)
        {
            IntPtr mempchBuffer = Helpers.TakeMemory();

            var returnValue = _GetUserDataFolder(Self, mempchBuffer, (1024 * 32));

            pchBuffer = Helpers.MemoryToString(mempchBuffer);
            return(returnValue);
        }
        internal bool GetLobbyDataByIndex(SteamId steamIDLobby, int iLobbyData, out string pchKey, out string pchValue)
        {
            IntPtr mempchKey = Helpers.TakeMemory();

            IntPtr mempchValue = Helpers.TakeMemory();
            var    returnValue = _GetLobbyDataByIndex(Self, steamIDLobby, iLobbyData, mempchKey, (1024 * 32), mempchValue, (1024 * 32));

            pchKey   = Helpers.MemoryToString(mempchKey);
            pchValue = Helpers.MemoryToString(mempchValue);
            return(returnValue);
        }
        static private unsafe void OnLobbyChatMessageRecievedAPI(LobbyChatMsg_t callback)
        {
            SteamId       steamid       = default;
            ChatEntryType chatEntryType = default;
            var           buffer        = Helpers.TakeMemory();

            var readData = Internal.GetLobbyChatEntry(callback.SteamIDLobby, (int)callback.ChatID, ref steamid, buffer, Helpers.MemoryBufferSize, ref chatEntryType);

            if (readData > 0)
            {
                OnChatMessage?.Invoke(new Lobby(callback.SteamIDLobby), new Friend(steamid), Helpers.MemoryToString(buffer));
            }
        }
示例#29
0
        public static bool GetClanChatMessage(SteamId chatId, int messageId, out Friend chatter, out string msgType, out string message)
        {
            chatter = default;
            message = string.Empty;
            msgType = ChatEntryType.ChatMsg.ToString();

            var     buffer         = Helpers.TakeMemory();
            var     type           = ChatEntryType.ChatMsg;
            SteamId chatterSteamId = default;

            var len = Internal.GetClanChatMessage(chatId, messageId, buffer, Helpers.MemoryBufferSize, ref type, ref chatterSteamId);

            if (len == 0 && type == ChatEntryType.Invalid)
            {
                return(false);
            }

            chatter = new Friend(chatterSteamId);
            msgType = type.ToString();
            message = Helpers.MemoryToString(buffer);

            return(true);
        }