Пример #1
0
    private void EquipBodyShape(WearableItem bodyShape)
    {
        if (bodyShape.category != Categories.BODY_SHAPE)
        {
            Debug.LogError($"Item ({bodyShape.id} is not a body shape");
            return;
        }

        if (model.bodyShape == bodyShape)
        {
            return;
        }

        model.bodyShape = bodyShape;
        view.UpdateSelectedBody(bodyShape);

        int wearablesCount = model.wearables.Count;

        for (var i = wearablesCount - 1; i >= 0; i--)
        {
            UnequipWearable(model.wearables[i]);
        }

        var defaultWearables = WearableLiterals.DefaultWearables.GetDefaultWearables(bodyShape.id);

        for (var i = 0; i < defaultWearables.Length; i++)
        {
            EquipWearable(catalog.Get(defaultWearables[i]));
        }
    }
Пример #2
0
        public IEnumerator ProcessHideListProperly_HeadHidden()
        {
            //Clean hides/replaces to avoid interferences
            CleanWearableHidesAndReplaces(SUNGLASSES_ID);
            CleanWearableHidesAndReplaces(BLUE_BANDANA_ID);
            catalog.Get(SUNGLASSES_ID).hides = new [] { WearableLiterals.Misc.HEAD };

            avatarModel.wearables = new List <string>()
            {
                SUNGLASSES_ID
            };

            bool ready = false;

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

            Assert.IsFalse(AvatarRenderer_Mock.GetBodyShapeController(avatarRenderer).headRenderer.enabled);
            Assert.IsFalse(AvatarRenderer_Mock.GetBodyShapeController(avatarRenderer).eyebrowsRenderer.enabled);
            Assert.IsFalse(AvatarRenderer_Mock.GetBodyShapeController(avatarRenderer).eyesRenderer.enabled);
            Assert.IsFalse(AvatarRenderer_Mock.GetBodyShapeController(avatarRenderer).mouthRenderer.enabled);
        }
Пример #3
0
        public IEnumerator BeHiddenByGeneralHides()
        {
            var sunglasses = catalog.Get(SUNGLASSES_ID);
            var bandana    = catalog.Get(BLUE_BANDANA_ID);

            bandana.hides         = new[] { sunglasses.category };
            avatarModel.wearables = new List <string>()
            {
                SUNGLASSES_ID, BLUE_BANDANA_ID
            };
            yield return(avatarShape.ApplyChanges(JsonUtility.ToJson(avatarModel)));

            var sunglassesController = new WearableController_Mock(AvatarRenderer_Mock.GetWearableControllers(avatarShape.avatarRenderer)[SUNGLASSES_ID]);
            var bandanaController    = new WearableController_Mock(AvatarRenderer_Mock.GetWearableControllers(avatarShape.avatarRenderer)[BLUE_BANDANA_ID]);

            Assert.IsTrue(sunglassesController.myAssetRenderers.All(x => !x.enabled));
            Assert.IsTrue(bandanaController.myAssetRenderers.All(x => x.enabled));
        }