467 lines
18 KiB
C#
467 lines
18 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Steamworks
|
|
{
|
|
public static class SteamFriends
|
|
{
|
|
public static string GetPersonaName()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetPersonaName(CSteamAPIContext.GetSteamFriends()));
|
|
}
|
|
|
|
public static SteamAPICall_t SetPersonaName(string pchPersonaName)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchPersonaName2 = new InteropHelp.UTF8StringHandle(pchPersonaName))
|
|
{
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_SetPersonaName(CSteamAPIContext.GetSteamFriends(), pchPersonaName2);
|
|
}
|
|
}
|
|
|
|
public static EPersonaState GetPersonaState()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetPersonaState(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static int GetFriendCount(EFriendFlags iFriendFlags)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendCount(CSteamAPIContext.GetSteamFriends(), iFriendFlags);
|
|
}
|
|
|
|
public static CSteamID GetFriendByIndex(int iFriend, EFriendFlags iFriendFlags)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetFriendByIndex(CSteamAPIContext.GetSteamFriends(), iFriend, iFriendFlags);
|
|
}
|
|
|
|
public static EFriendRelationship GetFriendRelationship(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendRelationship(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static EPersonaState GetFriendPersonaState(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendPersonaState(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static string GetFriendPersonaName(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetFriendPersonaName(CSteamAPIContext.GetSteamFriends(), steamIDFriend));
|
|
}
|
|
|
|
public static bool GetFriendGamePlayed(CSteamID steamIDFriend, out FriendGameInfo_t pFriendGameInfo)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendGamePlayed(CSteamAPIContext.GetSteamFriends(), steamIDFriend, out pFriendGameInfo);
|
|
}
|
|
|
|
public static string GetFriendPersonaNameHistory(CSteamID steamIDFriend, int iPersonaName)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetFriendPersonaNameHistory(CSteamAPIContext.GetSteamFriends(), steamIDFriend, iPersonaName));
|
|
}
|
|
|
|
public static int GetFriendSteamLevel(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendSteamLevel(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static string GetPlayerNickname(CSteamID steamIDPlayer)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetPlayerNickname(CSteamAPIContext.GetSteamFriends(), steamIDPlayer));
|
|
}
|
|
|
|
public static int GetFriendsGroupCount()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendsGroupCount(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static FriendsGroupID_t GetFriendsGroupIDByIndex(int iFG)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (FriendsGroupID_t)NativeMethods.ISteamFriends_GetFriendsGroupIDByIndex(CSteamAPIContext.GetSteamFriends(), iFG);
|
|
}
|
|
|
|
public static string GetFriendsGroupName(FriendsGroupID_t friendsGroupID)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetFriendsGroupName(CSteamAPIContext.GetSteamFriends(), friendsGroupID));
|
|
}
|
|
|
|
public static int GetFriendsGroupMembersCount(FriendsGroupID_t friendsGroupID)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendsGroupMembersCount(CSteamAPIContext.GetSteamFriends(), friendsGroupID);
|
|
}
|
|
|
|
public static void GetFriendsGroupMembersList(FriendsGroupID_t friendsGroupID, CSteamID[] pOutSteamIDMembers, int nMembersCount)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_GetFriendsGroupMembersList(CSteamAPIContext.GetSteamFriends(), friendsGroupID, pOutSteamIDMembers, nMembersCount);
|
|
}
|
|
|
|
public static bool HasFriend(CSteamID steamIDFriend, EFriendFlags iFriendFlags)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_HasFriend(CSteamAPIContext.GetSteamFriends(), steamIDFriend, iFriendFlags);
|
|
}
|
|
|
|
public static int GetClanCount()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetClanCount(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static CSteamID GetClanByIndex(int iClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetClanByIndex(CSteamAPIContext.GetSteamFriends(), iClan);
|
|
}
|
|
|
|
public static string GetClanName(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetClanName(CSteamAPIContext.GetSteamFriends(), steamIDClan));
|
|
}
|
|
|
|
public static string GetClanTag(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetClanTag(CSteamAPIContext.GetSteamFriends(), steamIDClan));
|
|
}
|
|
|
|
public static bool GetClanActivityCounts(CSteamID steamIDClan, out int pnOnline, out int pnInGame, out int pnChatting)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetClanActivityCounts(CSteamAPIContext.GetSteamFriends(), steamIDClan, out pnOnline, out pnInGame, out pnChatting);
|
|
}
|
|
|
|
public static SteamAPICall_t DownloadClanActivityCounts(CSteamID[] psteamIDClans, int cClansToRequest)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_DownloadClanActivityCounts(CSteamAPIContext.GetSteamFriends(), psteamIDClans, cClansToRequest);
|
|
}
|
|
|
|
public static int GetFriendCountFromSource(CSteamID steamIDSource)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendCountFromSource(CSteamAPIContext.GetSteamFriends(), steamIDSource);
|
|
}
|
|
|
|
public static CSteamID GetFriendFromSourceByIndex(CSteamID steamIDSource, int iFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetFriendFromSourceByIndex(CSteamAPIContext.GetSteamFriends(), steamIDSource, iFriend);
|
|
}
|
|
|
|
public static bool IsUserInSource(CSteamID steamIDUser, CSteamID steamIDSource)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_IsUserInSource(CSteamAPIContext.GetSteamFriends(), steamIDUser, steamIDSource);
|
|
}
|
|
|
|
public static void SetInGameVoiceSpeaking(CSteamID steamIDUser, bool bSpeaking)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_SetInGameVoiceSpeaking(CSteamAPIContext.GetSteamFriends(), steamIDUser, bSpeaking);
|
|
}
|
|
|
|
public static void ActivateGameOverlay(string pchDialog)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchDialog2 = new InteropHelp.UTF8StringHandle(pchDialog))
|
|
{
|
|
NativeMethods.ISteamFriends_ActivateGameOverlay(CSteamAPIContext.GetSteamFriends(), pchDialog2);
|
|
}
|
|
}
|
|
|
|
public static void ActivateGameOverlayToUser(string pchDialog, CSteamID steamID)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchDialog2 = new InteropHelp.UTF8StringHandle(pchDialog))
|
|
{
|
|
NativeMethods.ISteamFriends_ActivateGameOverlayToUser(CSteamAPIContext.GetSteamFriends(), pchDialog2, steamID);
|
|
}
|
|
}
|
|
|
|
public static void ActivateGameOverlayToWebPage(string pchURL)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchURL2 = new InteropHelp.UTF8StringHandle(pchURL))
|
|
{
|
|
NativeMethods.ISteamFriends_ActivateGameOverlayToWebPage(CSteamAPIContext.GetSteamFriends(), pchURL2);
|
|
}
|
|
}
|
|
|
|
public static void ActivateGameOverlayToStore(AppId_t nAppID, EOverlayToStoreFlag eFlag)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_ActivateGameOverlayToStore(CSteamAPIContext.GetSteamFriends(), nAppID, eFlag);
|
|
}
|
|
|
|
public static void SetPlayedWith(CSteamID steamIDUserPlayedWith)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_SetPlayedWith(CSteamAPIContext.GetSteamFriends(), steamIDUserPlayedWith);
|
|
}
|
|
|
|
public static void ActivateGameOverlayInviteDialog(CSteamID steamIDLobby)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_ActivateGameOverlayInviteDialog(CSteamAPIContext.GetSteamFriends(), steamIDLobby);
|
|
}
|
|
|
|
public static int GetSmallFriendAvatar(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetSmallFriendAvatar(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static int GetMediumFriendAvatar(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetMediumFriendAvatar(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static int GetLargeFriendAvatar(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetLargeFriendAvatar(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static bool RequestUserInformation(CSteamID steamIDUser, bool bRequireNameOnly)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_RequestUserInformation(CSteamAPIContext.GetSteamFriends(), steamIDUser, bRequireNameOnly);
|
|
}
|
|
|
|
public static SteamAPICall_t RequestClanOfficerList(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_RequestClanOfficerList(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static CSteamID GetClanOwner(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetClanOwner(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static int GetClanOfficerCount(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetClanOfficerCount(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static CSteamID GetClanOfficerByIndex(CSteamID steamIDClan, int iOfficer)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetClanOfficerByIndex(CSteamAPIContext.GetSteamFriends(), steamIDClan, iOfficer);
|
|
}
|
|
|
|
public static uint GetUserRestrictions()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetUserRestrictions(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static bool SetRichPresence(string pchKey, string pchValue)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchKey2 = new InteropHelp.UTF8StringHandle(pchKey))
|
|
{
|
|
using (InteropHelp.UTF8StringHandle pchValue2 = new InteropHelp.UTF8StringHandle(pchValue))
|
|
{
|
|
return NativeMethods.ISteamFriends_SetRichPresence(CSteamAPIContext.GetSteamFriends(), pchKey2, pchValue2);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void ClearRichPresence()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_ClearRichPresence(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static string GetFriendRichPresence(CSteamID steamIDFriend, string pchKey)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchKey2 = new InteropHelp.UTF8StringHandle(pchKey))
|
|
{
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetFriendRichPresence(CSteamAPIContext.GetSteamFriends(), steamIDFriend, pchKey2));
|
|
}
|
|
}
|
|
|
|
public static int GetFriendRichPresenceKeyCount(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendRichPresenceKeyCount(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static string GetFriendRichPresenceKeyByIndex(CSteamID steamIDFriend, int iKey)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return InteropHelp.PtrToStringUTF8(NativeMethods.ISteamFriends_GetFriendRichPresenceKeyByIndex(CSteamAPIContext.GetSteamFriends(), steamIDFriend, iKey));
|
|
}
|
|
|
|
public static void RequestFriendRichPresence(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
NativeMethods.ISteamFriends_RequestFriendRichPresence(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static bool InviteUserToGame(CSteamID steamIDFriend, string pchConnectString)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchConnectString2 = new InteropHelp.UTF8StringHandle(pchConnectString))
|
|
{
|
|
return NativeMethods.ISteamFriends_InviteUserToGame(CSteamAPIContext.GetSteamFriends(), steamIDFriend, pchConnectString2);
|
|
}
|
|
}
|
|
|
|
public static int GetCoplayFriendCount()
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetCoplayFriendCount(CSteamAPIContext.GetSteamFriends());
|
|
}
|
|
|
|
public static CSteamID GetCoplayFriend(int iCoplayFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetCoplayFriend(CSteamAPIContext.GetSteamFriends(), iCoplayFriend);
|
|
}
|
|
|
|
public static int GetFriendCoplayTime(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetFriendCoplayTime(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static AppId_t GetFriendCoplayGame(CSteamID steamIDFriend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (AppId_t)NativeMethods.ISteamFriends_GetFriendCoplayGame(CSteamAPIContext.GetSteamFriends(), steamIDFriend);
|
|
}
|
|
|
|
public static SteamAPICall_t JoinClanChatRoom(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_JoinClanChatRoom(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static bool LeaveClanChatRoom(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_LeaveClanChatRoom(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static int GetClanChatMemberCount(CSteamID steamIDClan)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_GetClanChatMemberCount(CSteamAPIContext.GetSteamFriends(), steamIDClan);
|
|
}
|
|
|
|
public static CSteamID GetChatMemberByIndex(CSteamID steamIDClan, int iUser)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (CSteamID)NativeMethods.ISteamFriends_GetChatMemberByIndex(CSteamAPIContext.GetSteamFriends(), steamIDClan, iUser);
|
|
}
|
|
|
|
public static bool SendClanChatMessage(CSteamID steamIDClanChat, string pchText)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchText2 = new InteropHelp.UTF8StringHandle(pchText))
|
|
{
|
|
return NativeMethods.ISteamFriends_SendClanChatMessage(CSteamAPIContext.GetSteamFriends(), steamIDClanChat, pchText2);
|
|
}
|
|
}
|
|
|
|
public static int GetClanChatMessage(CSteamID steamIDClanChat, int iMessage, out string prgchText, int cchTextMax, out EChatEntryType peChatEntryType, out CSteamID psteamidChatter)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
IntPtr intPtr = Marshal.AllocHGlobal(cchTextMax);
|
|
int num = NativeMethods.ISteamFriends_GetClanChatMessage(CSteamAPIContext.GetSteamFriends(), steamIDClanChat, iMessage, intPtr, cchTextMax, out peChatEntryType, out psteamidChatter);
|
|
prgchText = ((num == 0) ? null : InteropHelp.PtrToStringUTF8(intPtr));
|
|
Marshal.FreeHGlobal(intPtr);
|
|
return num;
|
|
}
|
|
|
|
public static bool IsClanChatAdmin(CSteamID steamIDClanChat, CSteamID steamIDUser)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_IsClanChatAdmin(CSteamAPIContext.GetSteamFriends(), steamIDClanChat, steamIDUser);
|
|
}
|
|
|
|
public static bool IsClanChatWindowOpenInSteam(CSteamID steamIDClanChat)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_IsClanChatWindowOpenInSteam(CSteamAPIContext.GetSteamFriends(), steamIDClanChat);
|
|
}
|
|
|
|
public static bool OpenClanChatWindowInSteam(CSteamID steamIDClanChat)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_OpenClanChatWindowInSteam(CSteamAPIContext.GetSteamFriends(), steamIDClanChat);
|
|
}
|
|
|
|
public static bool CloseClanChatWindowInSteam(CSteamID steamIDClanChat)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_CloseClanChatWindowInSteam(CSteamAPIContext.GetSteamFriends(), steamIDClanChat);
|
|
}
|
|
|
|
public static bool SetListenForFriendsMessages(bool bInterceptEnabled)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return NativeMethods.ISteamFriends_SetListenForFriendsMessages(CSteamAPIContext.GetSteamFriends(), bInterceptEnabled);
|
|
}
|
|
|
|
public static bool ReplyToFriendMessage(CSteamID steamIDFriend, string pchMsgToSend)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
using (InteropHelp.UTF8StringHandle pchMsgToSend2 = new InteropHelp.UTF8StringHandle(pchMsgToSend))
|
|
{
|
|
return NativeMethods.ISteamFriends_ReplyToFriendMessage(CSteamAPIContext.GetSteamFriends(), steamIDFriend, pchMsgToSend2);
|
|
}
|
|
}
|
|
|
|
public static int GetFriendMessage(CSteamID steamIDFriend, int iMessageID, out string pvData, int cubData, out EChatEntryType peChatEntryType)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
IntPtr intPtr = Marshal.AllocHGlobal(cubData);
|
|
int num = NativeMethods.ISteamFriends_GetFriendMessage(CSteamAPIContext.GetSteamFriends(), steamIDFriend, iMessageID, intPtr, cubData, out peChatEntryType);
|
|
pvData = ((num == 0) ? null : InteropHelp.PtrToStringUTF8(intPtr));
|
|
Marshal.FreeHGlobal(intPtr);
|
|
return num;
|
|
}
|
|
|
|
public static SteamAPICall_t GetFollowerCount(CSteamID steamID)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_GetFollowerCount(CSteamAPIContext.GetSteamFriends(), steamID);
|
|
}
|
|
|
|
public static SteamAPICall_t IsFollowing(CSteamID steamID)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_IsFollowing(CSteamAPIContext.GetSteamFriends(), steamID);
|
|
}
|
|
|
|
public static SteamAPICall_t EnumerateFollowingList(uint unStartIndex)
|
|
{
|
|
InteropHelp.TestIfAvailableClient();
|
|
return (SteamAPICall_t)NativeMethods.ISteamFriends_EnumerateFollowingList(CSteamAPIContext.GetSteamFriends(), unStartIndex);
|
|
}
|
|
}
|
|
}
|