43 lines
1.0 KiB
C#
43 lines
1.0 KiB
C#
using System;
|
|
|
|
using UnityEngine;
|
|
|
|
using PlasticGui;
|
|
|
|
namespace Unity.PlasticSCM.Editor.UI.Avatar
|
|
{
|
|
internal static class GetAvatar
|
|
{
|
|
internal static Texture2D ForEmail(
|
|
string email,
|
|
Action avatarLoadedAction)
|
|
{
|
|
if (string.IsNullOrEmpty(email))
|
|
return Images.GetEmptyGravatar();
|
|
|
|
if (AvatarImages.HasGravatar(email))
|
|
return AvatarImages.GetAvatar(email);
|
|
|
|
Texture2D defaultImage =
|
|
Images.GetEmptyGravatar();
|
|
|
|
AvatarImages.AddGravatar(email, defaultImage);
|
|
|
|
LoadAvatar.ForEmail(
|
|
email, avatarLoadedAction,
|
|
AfterDownloadSucceed);
|
|
|
|
return defaultImage;
|
|
}
|
|
|
|
static void AfterDownloadSucceed(
|
|
string email,
|
|
byte[] avatarBytes,
|
|
Action avatarLoadedAction)
|
|
{
|
|
AvatarImages.UpdateGravatar(email, avatarBytes);
|
|
|
|
avatarLoadedAction();
|
|
}
|
|
}
|
|
} |