public void SetRotation()
    {
        //Arrange
        Vector3 startRotation = Vector3.right * 180;

        //Act
        entity.SetRotation(startRotation);

        //Assert
        Assert.AreEqual(startRotation, entity.GetEulerRotation());
    }
Пример #2
0
    public BIWEntity CreateCatalogItem(CatalogItem catalogItem, Vector3 startPosition, bool autoSelect = true, bool isFloor = false, Action <IDCLEntity> onFloorLoadedAction = null)
    {
        if (catalogItem.IsNFT() && BIWNFTController.i.IsNFTInUse(catalogItem.id))
        {
            return(null);
        }

        IsInsideTheLimits(catalogItem);

        //Note (Adrian): This is a workaround until the mapping is handle by kernel
        AddSceneMappings(catalogItem);

        Vector3 editionPosition = modeController.GetCurrentEditionPosition();

        BIWEntity entity = entityHandler.CreateEmptyEntity(sceneToEdit, startPosition, editionPosition, false);

        entity.isFloor = isFloor;
        entity.SetRotation(Vector3.zero);

        if (!isFloor)
        {
            CreateLoadingObject(entity);
        }

        entity.rootEntity.OnShapeUpdated += (entity) => onFloorLoadedAction?.Invoke(entity);
        AddShape(catalogItem, entity);

        AddEntityNameComponent(catalogItem, entity);

        AddLockedComponent(entity);

        if (catalogItem.IsSmartItem())
        {
            AddSmartItemComponent(entity);
        }

        if (catalogItem.IsVoxel())
        {
            entity.isVoxel = true;
        }

        if (autoSelect)
        {
            entityHandler.DeselectEntities();
            entityHandler.Select(entity.rootEntity);
        }

        entity.rootEntity.gameObject.transform.eulerAngles = Vector3.zero;

        modeController.CreatedEntity(entity);

        lastCatalogItemCreated = catalogItem;

        entityHandler.EntityListChanged();
        entityHandler.NotifyEntityIsCreated(entity.rootEntity);
        OnInputDone?.Invoke();
        OnCatalogItemPlaced?.Invoke();
        return(entity);
    }
 public void RotationChanged(Vector3 rot)
 {
     currentEntity?.SetRotation(rot);
     OnRotationChange?.Invoke(rot);
 }