Esempio n. 1
0
        private IEnumerator GetAllAvatarsRoutine(int maxItems, AsyncRequest <GalleryAvatar[]> request)
        {
            var avatarsRequest = avatarProvider.GetAllAvatarsAsync(maxItems);

            yield return(AwaitRoutine(avatarsRequest, null));

            if (avatarsRequest.IsError)
            {
                yield break;
            }

            GalleryAvatar[] avatars = new GalleryAvatar[avatarsRequest.Result.Length];
            for (int i = 0; i < avatars.Length; i++)
            {
                string avatarCode = avatarsRequest.Result[i];
                string avatarName = ReadAvatarNameByCode(avatarCode);
                avatars[i] = new GalleryAvatar()
                {
                    name = avatarName, code = avatarCode, state = GetAvatarState(avatarCode)
                };
            }

            request.Result = avatars;
            request.IsDone = true;
        }