protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        TestHelpers.CreateSceneEntity(scene, ENTITY_ID);
        biwActionController  = new BIWActionController();
        entityHandler        = new BIWEntityHandler();
        biwFloorHandler      = new BIWFloorHandler();
        biwCreatorController = new BIWCreatorController();

        var referencesController = BIWTestHelper.CreateReferencesControllerWithGenericMocks(
            biwActionController,
            entityHandler,
            biwFloorHandler,
            biwCreatorController
            );

        biwActionController.Init(referencesController);
        entityHandler.Init(referencesController);
        biwFloorHandler.Init(referencesController);
        biwCreatorController.Init(referencesController);

        biwActionController.EnterEditMode(scene);
        entityHandler.EnterEditMode(scene);
        biwFloorHandler.EnterEditMode(scene);
        biwCreatorController.EnterEditMode(scene);
    }
示例#2
0
    public void CreateFloor()
    {
        //Arrange
        BIWCatalogManager.Init();
        BuilderInWorldTestHelper.CreateTestCatalogLocalMultipleFloorObjects();
        CatalogItem floorItem = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];

        controller.InitGameObjects();
        controller.FindSceneToEdit();
        controller.InitControllers();

        biwCreatorController.EnterEditMode(scene);
        biwFloorHandler.EnterEditMode(scene);

        //Act
        biwFloorHandler.CreateFloor(floorItem);

        //Assert
        foreach (DCLBuilderInWorldEntity entity in entityHandler.GetAllEntitiesFromCurrentScene())
        {
            if (entity.isFloor)
            {
                Assert.IsTrue(biwFloorHandler.ExistsFloorPlaceHolderForEntity(entity.rootEntity.entityId));
                Assert.AreEqual(entity.GetCatalogItemAssociated().id, floorItem.id);
                break;
            }
        }

        foreach (DCLBuilderInWorldEntity entity in entityHandler.GetAllEntitiesFromCurrentScene())
        {
            if (entity.isFloor)
            {
                if (!entity.rootEntity.TryGetSharedComponent(CLASS_ID.GLTF_SHAPE, out ISharedComponent component))
                {
                    Assert.Fail("Floor doesn't contains a GLTFShape!");
                }

                entity.rootEntity.OnShapeUpdated?.Invoke(entity.rootEntity);
                Assert.IsFalse(biwFloorHandler.ExistsFloorPlaceHolderForEntity(entity.rootEntity.entityId));
                break;
            }
        }
    }
示例#3
0
 public void StartBiwControllers()
 {
     biwModeController.EnterEditMode(sceneToEdit);
     builderInWorldEntityHandler.EnterEditMode(sceneToEdit);
     biwFloorHandler.EnterEditMode(sceneToEdit);
     biwCreatorController.EnterEditMode(sceneToEdit);
     biwPublishController.EnterEditMode(sceneToEdit);
     bIWInputHandler.EnterEditMode(sceneToEdit);
     outlinerController.EnterEditMode(sceneToEdit);
 }
    public void UndoRedoChangeFloorAction()
    {
        BIWCatalogManager.Init();

        BuilderInWorldTestHelper.CreateTestCatalogLocalMultipleFloorObjects();

        CatalogItem oldFloor = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];
        CatalogItem newFloor = DataStore.i.builderInWorld.catalogItemDict.GetValues()[1];
        BuildInWorldCompleteAction buildModeAction = new BuildInWorldCompleteAction();

        controller.InitGameObjects();
        controller.FindSceneToEdit();
        controller.InitControllers();

        biwCreatorController.EnterEditMode(scene);
        biwFloorHandler.EnterEditMode(scene);

        biwFloorHandler.CreateFloor(oldFloor);
        biwFloorHandler.ChangeFloor(newFloor);

        buildModeAction.CreateChangeFloorAction(oldFloor, newFloor);
        actionController.AddAction(buildModeAction);

        foreach (DCLBuilderInWorldEntity entity in entityHandler.GetAllEntitiesFromCurrentScene())
        {
            if (entity.isFloor)
            {
                Assert.AreEqual(entity.GetCatalogItemAssociated().id, newFloor.id);
                break;
            }
        }

        actionController.TryToUndoAction();

        foreach (DCLBuilderInWorldEntity entity in entityHandler.GetAllEntitiesFromCurrentScene())
        {
            if (entity.isFloor)
            {
                Assert.AreEqual(entity.GetCatalogItemAssociated().id, oldFloor.id);

                break;
            }
        }

        actionController.TryToRedoAction();

        foreach (DCLBuilderInWorldEntity entity in entityHandler.GetAllEntitiesFromCurrentScene())
        {
            if (entity.isFloor)
            {
                Assert.AreEqual(entity.GetCatalogItemAssociated().id, newFloor.id);
                break;
            }
        }
    }
示例#5
0
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        controller = Resources.FindObjectsOfTypeAll <BuilderInWorldController>()[0];

        biwCreatorController = controller.biwCreatorController;
        biwCreatorController.Init();
        entityHandler = controller.builderInWorldEntityHandler;
        entityHandler.Init();

        entityHandler.EnterEditMode(scene);
        biwCreatorController.EnterEditMode(scene);
    }
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        biwCreatorController = new BIWCreatorController();
        entityHandler        = new BIWEntityHandler();
        var referencesController = BIWTestHelper.CreateReferencesControllerWithGenericMocks(
            entityHandler,
            biwCreatorController
            );

        biwCreatorController.Init(referencesController);
        entityHandler.Init(referencesController);

        entityHandler.EnterEditMode(scene);
        biwCreatorController.EnterEditMode(scene);
    }