public static void LoadFriends() //https://github.com/waylaidwanderer/Mist/tree/master/SteamBot { ListFriends.Clear(); List <SteamID> steamIdList = new List <SteamID>(); Console.WriteLine("[" + Program.BOTNAME + "] - Loading all friends..."); for (int index = 0; index < steamFriends.GetFriendCount(); ++index) { steamIdList.Add(steamFriends.GetFriendByIndex(index)); Thread.Sleep(25); } for (int index = 0; index < steamIdList.Count; ++index) { SteamID steamId = steamIdList[index]; if (steamFriends.GetFriendRelationship(steamId) == EFriendRelationship.Friend) { string friendPersonaName = steamFriends.GetFriendPersonaName(steamId); string Relationship = steamFriends.GetFriendRelationship(steamId).ToString(); string status = steamFriends.GetFriendPersonaState(steamId).ToString(); ListFriends.Add(friendPersonaName, (ulong)steamId, Relationship, status); } } foreach (ListFriends listFriends in ListFriends.Get(false)) { if (ListFriendRequests.Find(listFriends.SID)) { Console.WriteLine("[" + Program.BOTNAME + "] - Found friend {0} in list of friend requests, so let's remove the user.", (object)listFriends.Name); ListFriendRequests.Remove(listFriends.SID); } } foreach (ListFriendRequests listFriendRequests in ListFriendRequests.Get()) { if (listFriendRequests.Name == "[unknown]") { string friendPersonaName = steamFriends.GetFriendPersonaName((SteamID)listFriendRequests.SteamID); ListFriendRequests.Remove(listFriendRequests.SteamID); ListFriendRequests.Add(friendPersonaName, listFriendRequests.SteamID, "Offline"); } if (listFriendRequests.Name == "") { string friendPersonaName = steamFriends.GetFriendPersonaName((SteamID)listFriendRequests.SteamID); ListFriendRequests.Remove(listFriendRequests.SteamID); ListFriendRequests.Add(friendPersonaName, listFriendRequests.SteamID, "Offline"); } } Console.WriteLine("[" + Program.BOTNAME + "] - Done! {0} friends.", (object)ListFriends.Get(false).Count); FriendsLoaded = true; }
/// <summary> /// Check if any of the current user's friends play this game and add the lobby to the server list if they do. /// </summary> private void GetFriendGamesList() { // Get the number of regular friends of the current local user var friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); if (friendCount == -1) { return; } for (int i = 0; i < friendCount; ++i) { // Get the Steam ID of the friend var friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); // Get what game the friend is playing FriendGameInfo_t gameInfo; if (SteamFriends.GetFriendGamePlayed(friendSteamId, out gameInfo)) { // If they are playing this game as well then get their lobby id if (gameInfo.m_gameID.AppID() == SteamUtils.GetAppID()) { AddServer(gameInfo.m_steamIDLobby); } } } }
public static void RequestLobbies() { if (!SteamManager.Initialized) { Logger.Error("CONNECTION FAILED"); return; } Logger.Debug($"Requesting list of all lobbies from steam"); LobbyData.Clear(); MultiplayerListing.refreshLobbyList(); SteamMatchmaking.AddRequestLobbyListFilterSlotsAvailable(1); SteamMatchmaking.AddRequestLobbyListStringFilter("version", PACKET_VERSION, ELobbyComparison.k_ELobbyComparisonEqual); SteamAPICall_t apiCall = SteamMatchmaking.RequestLobbyList(); OnLobbyMatchListCallResult.Set(apiCall); int cFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cFriends; i++) { FriendGameInfo_t friendGameInfo; CSteamID steamIDFriend = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); SteamFriends.GetFriendGamePlayed(steamIDFriend, out friendGameInfo); if (friendGameInfo.m_gameID == GetGameID() && friendGameInfo.m_steamIDLobby.IsValid()) { SteamMatchmaking.RequestLobbyData(friendGameInfo.m_steamIDLobby); } } }
static void OnFriendsList(SteamFriends.FriendsListCallback callback) { // at this point, the client has received it's friends list int friendCount = steamFriends.GetFriendCount(); Console.WriteLine("We have {0} friends", friendCount); for (int x = 0; x < friendCount; x++) { // steamids identify objects that exist on the steam network, such as friends, as an example SteamID steamIdFriend = steamFriends.GetFriendByIndex(x); // we'll just display the STEAM_ rendered version Console.WriteLine("Friend: {0}", steamIdFriend.Render()); } // we can also iterate over our friendslist to accept or decline any pending invites foreach (var friend in callback.FriendList) { if (friend.Relationship == EFriendRelationship.RequestRecipient) { // this user has added us, let's add him back steamFriends.AddFriend(friend.SteamID); } } }
// Update is called once per frame public void ListFriends() { int n = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); FriendStatus = new FriendStatusID[n]; for (int i = 0; i < n; i++) { FriendStatus[i].id = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); FriendStatus[i].status = (int)SteamFriends.GetFriendPersonaState(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate)); var fgi = new FriendGameInfo_t(); bool StoGiocando = SteamFriends.GetFriendGamePlayed(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate), out fgi); FriendStatus[i].game = StoGiocando ? 1 : 0; } FriendStatus = FriendStatus.OrderByDescending(go => go.game).ThenByDescending(go => go.status).ToArray(); for (int i = 0; i < n; i++) // Each RoomInfo "game" in the amount of games created "rooms" display the fallowing. { friendsList.Add((GameObject)Instantiate(FriendListButton)); friendsList[friendsAmount].transform.SetParent(FriendListPanel.transform); friendsList[friendsAmount].GetComponent <RectTransform>().transform.localScale = new Vector3(1, 1, 1); friendsList[friendsAmount].GetComponent <FriendButton>().m_Friend = FriendStatus[i].id; friendsAmount++; } contatoreFriends = 0; }
// Token: 0x0600096D RID: 2413 RVA: 0x0004553C File Offset: 0x0004373C private void RequestFriendGames() { this.m_friendServers.Clear(); this.m_requestedFriendGames.Clear(); int num = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); if (num == -1) { ZLog.Log("GetFriendCount returned -1, the current user is not logged in."); num = 0; } for (int i = 0; i < num; i++) { CSteamID friendByIndex = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendPersonaName = SteamFriends.GetFriendPersonaName(friendByIndex); FriendGameInfo_t friendGameInfo_t; if (SteamFriends.GetFriendGamePlayed(friendByIndex, out friendGameInfo_t) && friendGameInfo_t.m_gameID == (CGameID)((ulong)SteamManager.APP_ID) && friendGameInfo_t.m_steamIDLobby != CSteamID.Nil) { ZLog.Log("Friend is in our game"); this.m_requestedFriendGames.Add(new KeyValuePair <CSteamID, string>(friendGameInfo_t.m_steamIDLobby, friendPersonaName)); SteamMatchmaking.RequestLobbyData(friendGameInfo_t.m_steamIDLobby); } } this.m_serverListRevision++; }
void Start() { Callback <P2PSessionRequest_t> .Create((cb) => { SteamNetworking.AcceptP2PSessionWithUser(cb.m_steamIDRemote); if (!others.ContainsKey(cb.m_steamIDRemote.m_SteamID)) { others.Add(cb.m_steamIDRemote.m_SteamID, cb.m_steamIDRemote); } }); temp1024 = GamePacket.CreatePacket(1024); temp768 = GamePacket.CreatePacket(768); temp512 = GamePacket.CreatePacket(512); temp256 = GamePacket.CreatePacket(256); int numberOfFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); for (int i = 0; i < numberOfFriends; i++) { CSteamID SteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll); for (int j = 0; j < othersToConnect.Length; j++) { if (othersToConnect[j] == SteamFriends.GetFriendPersonaName(SteamId) && !others.ContainsKey(SteamId.m_SteamID)) { others.Add(SteamId.m_SteamID, SteamId); break; } } } }
public static void FindFriendLobbies(Action <bool> OnFind) { s_OnFindLobbies = OnFind; s_nLobbiesFound = 0; s_nFriendLobbiesFound = 0; //if ( SteamMatchmaking() == 0 ) return; InteropHelp.TestIfAvailableClient(); int cFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cFriends; i++) { FriendGameInfo_t friendGameInfo; CSteamID steamIDFriend = (CSteamID)SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); if (SteamFriends.GetFriendGamePlayed(steamIDFriend, out friendGameInfo) && friendGameInfo.m_steamIDLobby.IsValid()) { m_friendLobbies[s_nFriendLobbiesFound++] = friendGameInfo.m_steamIDLobby; SteamMatchmaking.RequestLobbyData(friendGameInfo.m_steamIDLobby); //int cap = SteamMatchmaking().GetLobbyMemberLimit( friendGameInfo.m_steamIDLobby ); //Console.WriteLine("Found friend lobby with capacity {0}", cap); } } if (s_OnFindLobbies != null) { s_OnFindLobbies(false); } }
public void Initialize() { if (!SteamManager.initializedMain) { return; } m_GameRichPresenceJoinRequested = Steamworks.Callback <GameRichPresenceJoinRequested_t> .Create(OnGameRichPresenceJoinRequested); m_PersonaStateChange = Steamworks.Callback <PersonaStateChange_t> .Create(OnPersonaStateChange); EFriendFlags friendFlags = EFriendFlags.k_EFriendFlagImmediate; int friendsCount = SteamFriends.GetFriendCount(friendFlags); for (int friendIndex = 0; friendIndex < friendsCount; ++friendIndex) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(friendIndex, friendFlags); if (!friendSteamId.IsValid()) { continue; } SteamFriend steamFriend = new SteamFriend(friendSteamId); m_Friends.Add(friendSteamId, steamFriend); } }
void PrintAllFriends() { for (int i = 0; i < SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); i++) { print(SteamFriends.GetFriendPersonaName(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll)) + " " + SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll).m_SteamID); } }
// Use this for initialization void Start() { if (SteamManager.Initialized) { //get My steam name if (labelUser) { labelUser.text = "Current Steam User: " + SteamFriends.GetPersonaName(); } dropdownSteamFriends.ClearOptions(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; ++i) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendName = SteamFriends.GetFriendPersonaName(friendSteamId); EPersonaState friendState = SteamFriends.GetFriendPersonaState(friendSteamId); Dropdown.OptionData option = new Dropdown.OptionData(); option.text = friendName; if (friendState != EPersonaState.k_EPersonaStateOffline) { dropdownSteamFriends.options.Add(option); friendSteamIDs.Add(friendSteamId); } } } }
public override void LoadFriendsList() { gameServiceFriendsList = new List <GameServiceUserInfo>(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; ++i) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendName = SteamFriends.GetFriendPersonaName(friendSteamId); EPersonaState friendState = SteamFriends.GetFriendPersonaState(friendSteamId); FriendGameInfo_t currentGame; if (SteamFriends.GetFriendGamePlayed(friendSteamId, out currentGame)) { if (currentGame.m_gameID == m_GameID) { GameServiceUserInfo friend = new GameServiceUserInfo(); friend.NickName = friendName; friend.PlayerId = friendSteamId.GetAccountID().m_AccountID.ToString(); friend.Status = Status.Available; friend.SetAvatarFromTexture2D(GetSmallAvatar(friendSteamId, false)); gameServiceFriendsList.Add(friend); } } } RaiseGameServiceEvent(new GameServiceEvent(GameServiceEventType.FriendsListReady)); }
public static string FakeInvite(string strTargetName, string strConnectString) { int iFriendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int a = 0; a < iFriendCount; a++) { CSteamID FriendID = SteamFriends.GetFriendByIndex(a, EFriendFlags.k_EFriendFlagImmediate); string strFriendName = SteamFriends.GetFriendPersonaName(FriendID); if (strFriendName.Equals(strTargetName)) { EPersonaState EState = SteamFriends.GetFriendPersonaState(FriendID); if (EState == EPersonaState.k_EPersonaStateOffline || EState == EPersonaState.k_EPersonaStateSnooze) { return("The specified user was either Offline, or on Snooze.\n"); } bool bTest = SteamFriends.InviteUserToGame(FriendID, strConnectString); if (bTest) { return("Invite sent with specified launch parameters.\n"); } else { return("Failed to send invite with specified launch parameters.\n"); } } } return("Failed to find friend, ensure you have them added, and you're supplying the correct name.\n"); }
public FriendCollection GetFriends() { EFriendFlags flags = ( EFriendFlags.k_EFriendFlagImmediate | EFriendFlags.k_EFriendFlagRequestingFriendship | EFriendFlags.k_EFriendFlagFriendshipRequested ); int friendCount = SteamFriends.GetFriendCount(flags); List <FriendGamer> friends = new List <FriendGamer>(friendCount); for (int i = 0; i < friendCount; i += 1) { CSteamID id = SteamFriends.GetFriendByIndex(i, flags); EFriendRelationship relationship = SteamFriends.GetFriendRelationship(id); EPersonaState state = SteamFriends.GetFriendPersonaState(id); FriendGameInfo_t whoCares; friends.Add(new FriendGamer( id, SteamFriends.GetFriendPersonaName(id), SteamFriends.GetPlayerNickname(id), state != EPersonaState.k_EPersonaStateOffline, SteamFriends.GetFriendGamePlayed(id, out whoCares), state == EPersonaState.k_EPersonaStateAway, state == EPersonaState.k_EPersonaStateBusy, relationship == EFriendRelationship.k_EFriendRelationshipRequestRecipient, relationship == EFriendRelationship.k_EFriendRelationshipRequestInitiator )); } return(new FriendCollection(friends)); }
public static Dictionary <CSteamID, string[]> GetOnlineFriends() { var friends = new Dictionary <CSteamID, string[]>(); if (!SteamManager.Initialized) { Logger.Error("CONNECTION FAILED"); return(friends); } try { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; ++i) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendName = SteamFriends.GetFriendPersonaName(friendSteamId); EPersonaState friendState = SteamFriends.GetFriendPersonaState(friendSteamId); if (friendState != EPersonaState.k_EPersonaStateOffline) { var fgi = new FriendGameInfo_t(); bool ret = SteamFriends.GetFriendGamePlayed(friendSteamId, out fgi); friends.Add(friendSteamId, new string[] { friendName, "" + fgi.m_gameID }); } } } catch (Exception e) { Logger.Error(e); } return(friends); }
void calculateTab() { //Узнаем общее количество друзей int friends_max = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); if (friends_max > 0) { //получаем массив друзей CSteamID[] friends_ID = new CSteamID[friends_max]; for (int num_now = 0; num_now < friends_max; num_now++) { friends_ID[num_now] = SteamFriends.GetFriendByIndex(num_now, EFriendFlags.k_EFriendFlagImmediate); } //Перебираем и добавляем пользователя в список for (int num_now = 0; num_now < friends_ID.Length; num_now++) { AddZvenoSteamID(friends_ID[num_now]); } AddZvenoSteamID(SteamUser.GetSteamID()); } if (friends_max == 0) { need_re_update = true; } }
public static IEnumerable <SteamID> GetFriends(this SteamFriends friends) { // yuk for (int i = 0; i < friends.GetFriendCount(); i++) { yield return(friends.GetFriendByIndex(i)); } }
public void ResetFriendsList() { _friends = new List <SteamID>(); for (int i = 0; i < SteamFriends.GetFriendCount(); i++) { _friends.Add(SteamFriends.GetFriendByIndex(i)); } Log.Debug("Created friends list."); }
void GetFriends(EFriendFlags flags) { int numFriends = SteamFriends.GetFriendCount(flags); for (int i = 0; i < numFriends; ++i) { var friend = CreateSteamPlayer(SteamFriends.GetFriendByIndex(i, flags)); _friends.Add(friend); _friendSet.Add(friend.id.uuid); } }
public List <ulong> GetFriends() { var ret = new List <ulong>(); var cnt = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cnt; i++) { ret.Add(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate).m_SteamID); } return(ret); }
private string GetFriends() { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); string friends = SteamUser.GetSteamID().m_SteamID.ToString() + ","; for (int i = 0; i < friendCount; i++) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); friends = friends + friendSteamId.m_SteamID.ToString() + ","; } return(friends); }
public override void OnEnter() { steamIDList.Resize(0); int count = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < count; i++) { CSteamID ID = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); steamIDList.Resize(steamIDList.Length + 1); steamIDList.Set(steamIDList.Length - 1, ID.ToString()); } Finish(); }
// Token: 0x06000005 RID: 5 RVA: 0x0000235C File Offset: 0x0000055C private static void GetFriendList() { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); Console.WriteLine(friendCount); for (int i = 0; i < friendCount; i++) { CSteamID friendByIndex = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); Console.WriteLine(friendByIndex); Console.WriteLine(SteamFriends.GetFriendPersonaName(friendByIndex)); } Program.finished = true; }
private void CreateFriendsListIfNecessary() { if (friends != null) { return; } friends = new List <SteamID>(); for (int i = 0; i < SteamFriends.GetFriendCount(); i++) { friends.Add(SteamFriends.GetFriendByIndex(i)); } }
public override void RequestFriendLobbyData() { EFriendFlags flags = EFriendFlags.k_EFriendFlagImmediate; int count = SteamFriends.GetFriendCount(flags); for (int i = 0; i < count; i++) { if (SteamFriends.GetFriendGamePlayed(SteamFriends.GetFriendByIndex(i, flags), out FriendGameInfo_t gameInfo) && !(gameInfo.m_gameID.AppID() != SteamUtils.GetAppID())) { SteamMatchmaking.RequestLobbyData(gameInfo.m_steamIDLobby); } } }
/// <summary> /// Gets the steam friendslist /// </summary> /// <returns>a list of friends list names</returns> public string[] getfriendslist() { friendslisttemp.Clear(); int friendscount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); string[] output = new string[friendscount]; for (int i = 0; i < friendscount; i++) { output[i] = SteamFriends.GetFriendPersonaName(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll)); friendslisttemp.Add(output[i]); } return(output); }
private void chatObjDropDownEvent(object sender, EventArgs e) { SteamFriends steamFriend = this.core.Steam.SteamFriends; BindingList <string> chatObjSrc = new BindingList <string>(); this.userList.Clear(); this.userList.Add(null); chatObjSrc.Add("######## Groups #######"); for (int i = 0; i < steamFriend.GetClanCount(); i++) { this.userList.Add(steamFriend.GetClanByIndex(i)); chatObjSrc.Add(steamFriend.GetClanName(steamFriend.GetClanByIndex(i))); } this.userList.Add(null); chatObjSrc.Add("####### online friends #######"); for (int i = 0; i < this.core.Steam.SteamFriends.GetFriendCount(); i++) { if (this.core.Steam.SteamFriends.GetFriendPersonaState(steamFriend.GetFriendByIndex(i)) != EPersonaState.Offline) { this.userList.Add(steamFriend.GetFriendByIndex(i)); chatObjSrc.Add(steamFriend.GetFriendPersonaName(this.core.Steam.SteamFriends.GetFriendByIndex(i))); } } if (this.showOfflineFriendCheck.Checked) { this.userList.Add(null); chatObjSrc.Add("####### offline friends #######"); for (int i = 0; i < this.core.Steam.SteamFriends.GetFriendCount(); i++) { if (this.core.Steam.SteamFriends.GetFriendPersonaState(steamFriend.GetFriendByIndex(i)) == EPersonaState.Offline) { this.userList.Add(steamFriend.GetFriendByIndex(i)); chatObjSrc.Add(steamFriend.GetFriendPersonaName(this.core.Steam.SteamFriends.GetFriendByIndex(i))); } } } this.SelectChatObjCombo.DataSource = chatObjSrc; }
private List <ulong> GetFriends() { if (IsOnline) { var ret = new List <ulong>(); var cnt = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (var i = 0; i < cnt; i++) { ret.Add(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate).m_SteamID); } return(ret); } return(null); }
private void UpdateSteam() { if (Multiplayer.Clock.ElapsedMilliseconds - lastFriendUpdate < 2000) { return; } friends.Clear(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; i++) { CSteamID friend = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); SteamFriends.GetFriendGamePlayed(friend, out FriendGameInfo_t friendGame); bool playingRimworld = friendGame.m_gameID.AppID() == SteamIntegration.RimWorldAppId; if (!playingRimworld) { continue; } int avatar = SteamFriends.GetSmallFriendAvatar(friend); string username = SteamFriends.GetFriendPersonaName(friend); string connectValue = SteamFriends.GetFriendRichPresence(friend, "connect"); CSteamID serverHost = CSteamID.Nil; if (connectValue != null && connectValue.Contains(SteamIntegration.SteamConnectStart) && ulong.TryParse(connectValue.Substring(SteamIntegration.SteamConnectStart.Length), out ulong hostId)) { serverHost = (CSteamID)hostId; } friends.Add(new SteamPersona() { id = friend, avatar = avatar, username = username, playingRimworld = playingRimworld, serverHost = serverHost, }); } friends.SortByDescending(f => f.serverHost != CSteamID.Nil); lastFriendUpdate = Multiplayer.Clock.ElapsedMilliseconds; }
public void LoadFriends() { ListFriends.Clear(); var steamListFriends = new List <SteamID>(); Console.WriteLine("Loading all friends..."); for (int count = 0; count < SteamFriends.GetFriendCount(); count++) { steamListFriends.Add(SteamFriends.GetFriendByIndex(count)); Thread.Sleep(25); } for (int count = 0; count < steamListFriends.Count; count++) { var friendID = steamListFriends[count]; if (SteamFriends.GetFriendRelationship(friendID) == EFriendRelationship.Friend) { var friendName = SteamFriends.GetFriendPersonaName(friendID); var friendNickname = PlayerNicknames.ContainsKey(friendID) ? "(" + PlayerNicknames[friendID] + ")" : ""; var friendState = SteamFriends.GetFriendPersonaState(friendID).ToString(); ListFriends.Add(friendName, friendID, friendNickname, friendState); } } foreach (var item in ListFriends.Get()) { if (ListFriendRequests.Find(item.SID)) { Console.WriteLine("Found friend {0} in list of friend requests, so let's remove the user.", item.Name); // Not a friend request, so let's remove it ListFriendRequests.Remove(item.SID); } } foreach (var item in ListFriendRequests.Get()) { if (item.Name == "[unknown]") { string name = SteamFriends.GetFriendPersonaName(item.SteamID); ListFriendRequests.Remove(item.SteamID); ListFriendRequests.Add(name, item.SteamID); } if (item.Name == "") { string name = SteamFriends.GetFriendPersonaName(item.SteamID); ListFriendRequests.Remove(item.SteamID); ListFriendRequests.Add(name, item.SteamID); } } Console.WriteLine("Done! {0} friends.", ListFriends.Get().Count); }