private void CheckOutline()
    {
        if (outlinerOptimizationCounter >= 10 && isOutlineCheckActive)
        {
            if (!BuilderInWorldUtils.IsPointerOverUIElement())
            {
                DCLBuilderInWorldEntity entity = GetEntityOnPointer();
                if (!isMultiSelectionActive)
                {
                    outlinerController.CancelAllOutlines();
                }
                else
                {
                    outlinerController.CancelUnselectedOutlines();
                }

                if (entity != null && !entity.IsSelected)
                {
                    outlinerController.OutlineEntity(entity);
                }
            }

            outlinerOptimizationCounter = 0;
        }
        else
        {
            outlinerOptimizationCounter++;
        }
    }
Beispiel #2
0
    private void MouseClick(int buttonID, Vector3 position)
    {
        if (!isEditModeActive)
        {
            return;
        }

        if (Time.timeSinceLevelLoad < nexTimeToReceiveInput)
        {
            return;
        }

        if (!BuilderInWorldUtils.IsPointerOverUIElement())
        {
            HUDController.i.builderInWorldMainHud.HideExtraBtns();
        }

        if (Utils.isCursorLocked || biwModeController.IsGodModeActive())
        {
            if (buttonID == 0)
            {
                MouseClickDetected();
                InputDone();
                return;
            }
            outlinerController.CheckOutline();
        }
    }
Beispiel #3
0
 private void MouseWheel(float axisValue)
 {
     if (!canInputBeMade)
     {
         return;
     }
     if (!BuilderInWorldUtils.IsPointerOverUIElement())
     {
         OnMouseWheel?.Invoke(axisValue);
     }
 }
Beispiel #4
0
    private bool CanDrag()
    {
        if (!canInputBeMade ||
            currentClickIsOnUi ||
            BuilderInWorldUtils.IsPointerOverUIElement())
        {
            return(false);
        }

        return(true);
    }
Beispiel #5
0
 private void MouseDrag(int buttonId, Vector3 mousePosition, float axisX, float axisY)
 {
     if (!canInputBeMade)
     {
         return;
     }
     if (!BuilderInWorldUtils.IsPointerOverUIElement())
     {
         OnMouseDrag?.Invoke(buttonId, mousePosition, axisX, axisY);
     }
 }
Beispiel #6
0
    private void MouseDown(int buttonId, Vector3 mousePosition)
    {
        lastTimeMouseDown = Time.unscaledTime;
        lastMousePosition = mousePosition;

        if (!canInputBeMade)
        {
            return;
        }
        if (!BuilderInWorldUtils.IsPointerOverUIElement() && !BuilderInWorldUtils.IsPointerOverMaskElement(layerToStopClick))
        {
            OnMouseDown?.Invoke(buttonId, mousePosition);
        }
    }
Beispiel #7
0
    private void MouseDown(int buttonId, Vector3 mousePosition)
    {
        lastTimeMouseDown  = Time.unscaledTime;
        lastMousePosition  = mousePosition;
        currentClickIsOnUi = BuilderInWorldUtils.IsPointerOverUIElement();

        if (!canInputBeMade)
        {
            return;
        }
        if (!currentClickIsOnUi)
        {
            OnMouseDown?.Invoke(buttonId, mousePosition);
        }
    }
Beispiel #8
0
    private void MouseUp(int buttonId, Vector3 mousePosition)
    {
        if (!canInputBeMade)
        {
            return;
        }

        if (!BuilderInWorldUtils.IsPointerOverUIElement() && !BuilderInWorldUtils.IsPointerOverMaskElement(layerToStopClick))
        {
            OnMouseUp?.Invoke(buttonId, mousePosition);
            if (Vector3.Distance(mousePosition, lastMousePosition) >= movementClickThreshold)
            {
                return;
            }
            if (Time.unscaledTime >= lastTimeMouseDown + msClickThreshold / 1000)
            {
                return;
            }
            OnMouseClick?.Invoke(buttonId, mousePosition);
        }
    }
Beispiel #9
0
    public void CheckOutline()
    {
        if (outlinerOptimizationCounter >= 10 && isOutlineCheckActive)
        {
            if (!BuilderInWorldUtils.IsPointerOverUIElement())
            {
                DCLBuilderInWorldEntity entity = builderInWorldEntityHandler.GetEntityOnPointer();
                RemoveEntitiesOutsidePointerOrUnselected();

                if (entity != null && !entity.IsSelected)
                {
                    OutlineEntity(entity);
                }
            }

            outlinerOptimizationCounter = 0;
        }
        else
        {
            outlinerOptimizationCounter++;
        }
    }