Skip to content

Instantly share code, notes, and snippets.

@meanpixel-mbr
Created October 21, 2021 22:06
Show Gist options
  • Select an option

  • Save meanpixel-mbr/2c3a69a8f50084f4587e1d5d4f2ce36b to your computer and use it in GitHub Desktop.

Select an option

Save meanpixel-mbr/2c3a69a8f50084f4587e1d5d4f2ce36b to your computer and use it in GitHub Desktop.
Pseudo Code Listing of Connecting, Logging In, and Listing Friends with EOS SDK
PlatformInterface.Initialize();
var interface = PlatformInterface.Create();
// Aufruf WebBrowser, Epic Kontovlogin zulassen
interface.GetAuthInterface().Login(callback => {
var userId = callback.LocalUserId;
interface.GetUserInfoInterface().QueryUserInfo(userId, callback => {
if (callback.Success) {
interface.GetUserInfoInterface().CopyUserInfo(userId, out var userInfoData);
// Yippie, wir haben unseren eigenen Usernamen
var userName = userInfoData.DisplayName;
interface.GetUserPresenceInterface().QueryPresence(userId, callback => {
var hasPresence = interface.GetUserPresenceInterface().HasPresence(userId);
if (hasPresence) {
interface.GetUserPresenceInterface().CopyPresence(userId, out var presence);
// Hurra wir können auslesen ob wir Online, Offline, Afk, DND sind
var onlineStatus = presence.Status;
// Die Bühne betritt... das FriendsInterface...
interface.GetFriendsInterface().QueryFriends(userId, callback => {
if (callback.Success) {
var friendsCount = interface.GetFriendsInterface().GetFriendsCount(userId);
for (var i=0;i<friendsCount;i++) {
var friendUserId = interface.GetFriendsInterface().GetFriendAtIndex(userId, i);
// Jetzt wissen wir, ob wir befreundet sind, nicht befreundet sind, angefragt haben, oder angefragt wurden
var friendStatus = interface.GetFriendsInterface().GetStatus(userId, friendUserId);
// Aber wie heisst unser Freund?
interface.GetUserInfoInterface().QueryUserInfo(userId, friendUserId, callback => {
if (callback.Success) {
interface.GetUserInfoInterface().CopyUserInfo(userId, friendUserId, out var userInfoData);
// Yippie, jetzt wissen wir wie er heisst
var friendUserName = userInfoData.DisplayName;
// Ist er denn online?
interface.GetUserPresenceInterface().QueryPresence(userId, friendUserId, callback => {
var hasPresence = interface.GetUserPresenceInterface().HasPresence(userId, friendUserId);
if (hasPresence) {
interface.GetUserPresenceInterface().CopyPresence(userId, friendUserId, out var presence);
// Hurra wir können auslesen ob unser Freund Online, Offline, Afk, DND sind
var friendOnlineStatus = presence.Status;
}
});
}
});
}
}
});
}
});
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment