타입1 : 국가를 코드만 표시
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine.UI;
public class PlayFabManager : MonoBehaviour
{
public InputField EmailInput, PasswordInput, UsernameInput;
public Text LogText;
public void Login()
{
var request = new LoginWithEmailAddressRequest { Email = EmailInput.text, Password = PasswordInput.text };
PlayFabClientAPI.LoginWithEmailAddress(request, (result) => print("로그인 성공"), (error) => print("로그인 실패"));
}
public void Register()
{
var request = new RegisterPlayFabUserRequest { Email = EmailInput.text, Password = PasswordInput.text, Username = UsernameInput.text, DisplayName = UsernameInput.text };
PlayFabClientAPI.RegisterPlayFabUser(request, (result) => print("회원가입 성공"), (error) => print("회원가입 실패"));
}
public void SetStat()
{
var request = new UpdatePlayerStatisticsRequest { Statistics = new List<StatisticUpdate> { new StatisticUpdate { StatisticName = "HighScore", Value = 100 } } };
PlayFabClientAPI.UpdatePlayerStatistics(request, (result) => print("값 저장됨"), (error) => print("값 저장실패"));
}
public void GetLeaderboard()
{
var request = new GetLeaderboardRequest { StartPosition = 0, StatisticName = "HighScore", MaxResultsCount = 20, ProfileConstraints = new PlayerProfileViewConstraints() { ShowLocations = true, ShowDisplayName = true } };
PlayFabClientAPI.GetLeaderboard(request, (result) =>
{
for (int i = 0; i < result.Leaderboard.Count; i++)
{
var curBoard = result.Leaderboard[i];
LogText.text += curBoard.Profile.Locations[0].CountryCode.Value + " / " + curBoard.DisplayName + " / " + curBoard.StatValue + "\n";
}
},
(error) => print("리더보드 불러오기 실패"));
}
}
타입2 : 국가를 이미지로 표시
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine.UI;
public class PlayFabManager : MonoBehaviour
{
public InputField EmailInput, PasswordInput, UsernameInput;
public Text LogText;
public Image[] FlagImage;
public void Login()
{
var request = new LoginWithEmailAddressRequest { Email = EmailInput.text, Password = PasswordInput.text };
PlayFabClientAPI.LoginWithEmailAddress(request, (result) => print("로그인 성공"), (error) => print("로그인 실패"));
}
public void Register()
{
var request = new RegisterPlayFabUserRequest { Email = EmailInput.text, Password = PasswordInput.text, Username = UsernameInput.text, DisplayName = UsernameInput.text };
PlayFabClientAPI.RegisterPlayFabUser(request, (result) => print("회원가입 성공"), (error) => print("회원가입 실패"));
}
public void SetStat()
{
var request = new UpdatePlayerStatisticsRequest { Statistics = new List<StatisticUpdate> { new StatisticUpdate { StatisticName = "HighScore", Value = 100 } } };
PlayFabClientAPI.UpdatePlayerStatistics(request, (result) => print("값 저장됨"), (error) => print("값 저장실패"));
}
public void GetLeaderboard()
{
var request = new GetLeaderboardRequest { StartPosition = 0, StatisticName = "HighScore", MaxResultsCount = 20, ProfileConstraints = new PlayerProfileViewConstraints() { ShowLocations = true, ShowDisplayName = true } };
PlayFabClientAPI.GetLeaderboard(request, (result) =>
{
for (int i = 0; i < result.Leaderboard.Count; i++)
{
var curBoard = result.Leaderboard[i];
LogText.text += curBoard.Profile.Locations[0].CountryCode.Value + " / " + curBoard.DisplayName + " / " + curBoard.StatValue + "\n";
FlagImage[i].gameObject.SetActive(true);
FlagImage[i].sprite = Resources.Load<Sprite>(curBoard.Profile.Locations[0].CountryCode.Value.ToString().ToLower());
}
},
(error) => print("리더보드 불러오기 실패"));
}
}