Ejemplo n.º 1
0
        public IEnumerator NotTriggerExpressionWithSameTimestamp()
        {
            avatarModel.expressionTriggerId                = "wave";
            avatarModel.expressionTriggerTimestamp         = 1;
            animator.blackboard.expressionTriggerTimestamp = 1;

            bool ready = false;

            avatarRenderer.ApplyModel(avatarModel, () => ready = true, null);
            yield return(new DCL.WaitUntil(() => ready));

            Assert.True(animator.currentState != animator.State_Expression);
        }
Ejemplo n.º 2
0
        public IEnumerator FailGracefullyWhenIdsCannotBeResolved()
        {
            avatarModel.wearables = new List <string>()
            {
                "Scioli_right_arm", "Peron_hands"
            };
            avatarModel.bodyShape = "Invalid_id";

            avatarRenderer.SetVisibility(true);

            bool success = false;

            avatarRenderer.ApplyModel(avatarModel, () => success = true, null);
            yield return(new DCL.WaitUntil(() => success, 4));

            LogAssert.Expect(LogType.Error, "Bodyshape Invalid_id not found in catalog");
            LogAssert.Expect(LogType.Error, "Wearable Scioli_right_arm not found in catalog");
            LogAssert.Expect(LogType.Error, "Wearable Peron_hands not found in catalog");

            UnityEngine.Assertions.Assert.IsTrue(success);
        }
Ejemplo n.º 3
0
    private IEnumerator UpdateModelRoutine(AvatarModel newModel, Action onDone)
    {
        bool avatarDone = false;

        avatarLoadFailed = false;

        avatarRenderer.ApplyModel(newModel, () => avatarDone = true, () => avatarLoadFailed = true);

        yield return(new DCL.WaitUntil(() => avatarDone || avatarLoadFailed));

        onDone?.Invoke();
    }
Ejemplo n.º 4
0
    private IEnumerator UpdateModelRoutine(AvatarModel newModel, Action onDone)
    {
        bool avatarDone   = false;
        bool avatarFailed = false;

        avatarRenderer.ApplyModel(newModel, () => avatarDone = true, () => avatarFailed = true);
        yield return(new DCL.WaitUntil(() => avatarDone || avatarFailed));

        if (avatarDone)
        {
            SetLayerRecursively(avatarRenderer.gameObject, CHARACTER_PREVIEW_LAYER);
        }

        onDone?.Invoke();
    }
Ejemplo n.º 5
0
        public IEnumerator ProcessVisibilityTrueWhenSetBeforeLoading()
        {
            //Clean hides/replaces to avoid interferences
            CleanWearableHidesAndReplaces(SUNGLASSES_ID);
            CleanWearableHidesAndReplaces(BLUE_BANDANA_ID);

            avatarModel.wearables = new List <string>()
            {
                SUNGLASSES_ID, BLUE_BANDANA_ID
            };
            avatarRenderer.SetVisibility(true);

            bool ready = false;

            avatarRenderer.ApplyModel(avatarModel, () => ready = true, null);
            yield return(new DCL.WaitUntil(() => ready));

            Assert.IsTrue(AvatarRenderer_Mock.GetBodyShapeController(avatarRenderer).myAssetRenderers.All(x => x.enabled));
        }
 private void OnUserProfileOnUpdate(UserProfile profile)
 {
     avatarRenderer.ApplyModel(profile.avatar, null, null);
 }