- using System;
- using UnityEngine;
- using PlasticGui;
- using CodiceApp.Gravatar;
- 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,
- GravatarImagesProvider.Result result,
- Action avatarLoadedAction)
- {
- if (result.ResultCode == GravatarImagesProvider.Result.OperationResult.OK)
- {
- AvatarImages.UpdateGravatar(email, result.RawGravatar);
- avatarLoadedAction();
- }
- }
- }
- }