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); }
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); }
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(); }
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(); }
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); }