Пример #1
0
        public IEnumerator ResetMaterialCorrectlyWhenInvalidEntitiesAreRemoved()
        {
            var entity = TestHelpers.CreateSceneEntity(scene);

            TestHelpers.SetEntityTransform(scene, entity, new DCLTransform.Model {
                position = new Vector3(8, 1, 8)
            });
            TestHelpers.CreateAndSetShape(scene, entity.entityId, DCL.Models.CLASS_ID.GLTF_SHAPE, JsonConvert.SerializeObject(
                                              new
            {
                src = Utils.GetTestsAssetsPath() + "/GLB/PalmTree_01.glb"
            }));

            LoadWrapper gltfShape = GLTFShape.GetLoaderForEntity(entity);

            yield return(new WaitUntil(() => gltfShape.alreadyLoaded));

            yield return(null);

            Assert.IsFalse(SBC_Asserts.MeshIsInvalid(entity.meshesInfo));
            // Move object to surpass the scene boundaries
            TestHelpers.SetEntityTransform(scene, entity, new DCLTransform.Model {
                position = new Vector3(18, 1, 18)
            });

            yield return(null);

            Assert.IsTrue(SBC_Asserts.MeshIsInvalid(entity.meshesInfo));

            TestHelpers.RemoveSceneEntity(scene, entity.entityId);

            ParcelScene.parcelScenesCleaner.ForceCleanup();

            yield return(null);

            var entity2 = TestHelpers.CreateSceneEntity(scene);

            TestHelpers.SetEntityTransform(scene, entity2, new DCLTransform.Model {
                position = new Vector3(8, 1, 8)
            });
            TestHelpers.CreateAndSetShape(scene, entity2.entityId, DCL.Models.CLASS_ID.GLTF_SHAPE, JsonConvert.SerializeObject(
                                              new
            {
                src = Utils.GetTestsAssetsPath() + "/GLB/PalmTree_01.glb"
            }));

            LoadWrapper gltfShape2 = GLTFShape.GetLoaderForEntity(entity2);

            yield return(new WaitUntil(() => gltfShape2.alreadyLoaded));

            yield return(null);

            Assert.IsFalse(SBC_Asserts.MeshIsInvalid(entity2.meshesInfo));
        }
Пример #2
0
 public bool MeshIsInvalid(DecentralandEntity.MeshesInfo meshesInfo)
 {
     return(SBC_Asserts.MeshIsInvalid(meshesInfo));
 }