Exemplo n.º 1
0
        private IEnumerator Initialize()
        {
            if (!AvatarSdkMgr.IsInitialized)
            {
                AvatarSdkMgr.Init(stringMgr: new DefaultStringManager(), storage: new DefaultPersistentStorage(), sdkType: SdkType.Cloud);
            }

            if (avatarProvider == null)
            {
                avatarProvider = new CloudAvatarProvider();
            }
            connection = avatarProvider.Connection;

            var imageItems = sampleImagesPanel.GetComponentsInChildren <ImageItem>();

            foreach (ImageItem item in imageItems)
            {
                item.imageSelectedHandler = HandleSelectedImage;
            }

            if (createdAvatar != null)
            {
                UpdateSelectedImage(selectedImageBytes);
                UpdateAvatarState(avatarState, PipelineType.HEAD);
            }
            image.gameObject.SetActive(true);

            // initialize provider
            if (!avatarProvider.Connection.IsAuthorized)
            {
                yield return(avatarProvider.InitializeAsync());

                if (!avatarProvider.Connection.IsAuthorized)
                {
                    Debug.LogError("Authentication failed!");
                    yield break;
                }
            }
        }