using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Facebook.Unity;
using System.Linq;
using Facebook.Unity.Example;
using UnityEngine.SceneManagement;
public class FBScript : MonoBehaviour
{
public GameObject DialogLoggedIn;
public GameObject DialogLoggedOut;
public GameObject DialogUsername;
public GameObject DialogEmail;
public GameObject DialogProfilePic;
void Awake()
{
FB.Init(SetInit, OnHideUnity);
}
void SetInit()
{
if (FB.IsLoggedIn)
{
Debug.Log("FB is logged in");
}
else
{
Debug.Log("FB is not logged in");
}
DealWithFBMenus(FB.IsLoggedIn);
}
void OnHideUnity(bool isGameShown)
{
if (!isGameShown)
{
Time.timeScale = 0;
}
else
{
Time.timeScale = 1;
}
}
public void FBlogin()
{
List<string> permissions = new List<string>();
permissions.Add("public_profile");
FB.LogInWithReadPermissions(new List<string>() { "public_profile", "email" }, AuthCallBack);
}
void AuthCallBack(IResult result)
{
if (result.Error != null)
{
Debug.Log(result.Error);
}
else
{
if (FB.IsLoggedIn)
{
Debug.Log("FB is logged in");
}
else
{
Debug.Log("FB is not logged in");
}
DealWithFBMenus(FB.IsLoggedIn);
}
}
void DealWithFBMenus(bool isLoggedIn)
{
if (isLoggedIn)
{
DialogLoggedIn.SetActive(true);
DialogLoggedOut.SetActive(false);
FB.API("/me?fields=first_name", HttpMethod.GET, DisplayUsername);
FB.API("/me/picture?type=square&height=128&width=128", HttpMethod.GET, DisplayProfilePic);
FB.API("/me?fields=email", HttpMethod.GET, DisplayEmailUser);
}
}
void DisplayUsername(IResult result)
{
Text UserName = DialogUsername.GetComponent<Text>();
if (result.Error == null)
{
UserName.text = "Hi " + result.ResultDictionary["first_name"];
}
else
{
Debug.Log(result.Error);
}
}
void DisplayProfilePic(IGraphResult result)
{
if (result.Texture != null)
{
Image ProfilePic = DialogProfilePic.GetComponent<Image>();
ProfilePic.sprite = Sprite.Create(result.Texture, new Rect(0, 0, 128, 128), new Vector2());
}
}
void DisplayEmailUser(IResult result)
{
Text emailUser = DialogEmail.GetComponent<Text>();
if (result.Error == null)
{
emailUser.text = "your email is : " + result.ResultDictionary["email"];
}
}
public void changeScene(string scenename)
{
SceneManager.LoadScene(scenename);
}
}
0 komentar:
Posting Komentar