Example #1
0
    public void SetScale(EditToolScaleType scaleType)
    {
        var   scaleValue = _Scale + 0.4f * Time.fixedDeltaTime * (int)scaleType;
        float scaleBoost = (scaleValue / _ScaleMax) * _SpeedScaleFactor * (int)scaleType;

        scaleValue += scaleBoost;
        float scaleValue_original = scaleValue;

        // Must be less than the dynamic maximun scale (that depends on current value of _Offset)
        scaleValue = scaleValue <= _ScaleMaxDynamic ? scaleValue : _ScaleMaxDynamic;

        // And greater than minimum scale
        scaleValue = scaleValue >= _ScaleMin ? scaleValue : _ScaleMin;

        // And less than maximum scale
        scaleValue = scaleValue <= _ScaleMax ? scaleValue : _ScaleMax;

        transform.localScale = new Vector3(scaleValue, scaleValue, scaleValue);

        if (scaleValue_original == scaleValue)
        {
            // Trigger Scale accepted event
            OnScaleAccepted?.Invoke(this, EventArgs.Empty);
        }

        _Scale = scaleValue;
        _point_cloud_manager.EditToolSetRadius(scaleValue / 2);
    }
Example #2
0
    void Start()
    {
        SetActive(false);
        transform.parent = _Parent.transform;
        SetParentOffsetZ(_ParentOffsetZ);

        gameObject.GetComponent <Renderer>().material = _Material;

        _Scale     = _ScaleMin;
        _ScaleType = EditToolScaleType.NONE;

        _OffsetMin  = _ScaleMin / 2 + _ParentOffsetZ;
        _Offset     = _OffsetMin;
        _OffsetType = EditToolOffsetType.NONE;

        SetMode(EditToolMode.NONE);

        SetOffsetAndScaleDynamic();
        SelectedPointColorSet(_SelectedPointColor);
    }
Example #3
0
 public void SetScaleType(EditToolScaleType scaleType)
 {
     _ScaleType = scaleType;
 }