Exemple #1
0
    private void Update()
    {
        if (isPlacingNewObject)
        {
            if (!voxelController.IsActive())
            {
                SetEditObjectAtMouse();
            }
            else
            {
                voxelController.SetEditObjectLikeVoxel();
            }
        }
        else if (isSquareMultiSelectionInputActive && isMouseDragging)
        {
            List <DCLBuilderInWorldEntity> allEntities = null;
            if (!isTypeOfBoundSelectionSelected || !isVoxelBoundMultiSelection)
            {
                allEntities = builderInWorldEntityHandler.GetAllEntitiesFromCurrentScene();
            }
            else if (isVoxelBoundMultiSelection)
            {
                allEntities = builderInWorldEntityHandler.GetAllVoxelsEntities();
            }

            foreach (DCLBuilderInWorldEntity entity in allEntities)
            {
                if (entity.isVoxel && !isVoxelBoundMultiSelection && isTypeOfBoundSelectionSelected)
                {
                    continue;
                }
                if (entity.rootEntity.meshRootGameObject && entity.rootEntity.meshesInfo.renderers.Length > 0)
                {
                    if (BuilderInWorldUtils.IsWithInSelectionBounds(entity.rootEntity.meshesInfo.mergedBounds.center, lastMousePosition, Input.mousePosition))
                    {
                        if (!isTypeOfBoundSelectionSelected && !entity.IsLocked)
                        {
                            if (entity.isVoxel)
                            {
                                isVoxelBoundMultiSelection = true;
                            }
                            else
                            {
                                isVoxelBoundMultiSelection = false;
                            }
                            isTypeOfBoundSelectionSelected = true;
                        }

                        outlinerController.OutlineEntity(entity);
                    }
                    else
                    {
                        outlinerController.CancelEntityOutline(entity);
                    }
                }
            }
        }
    }