예제 #1
0
    private Vector3 GetRightColour(Vector3 p_baseColour, ChangeActiveColourChannelButton.TypeOfColourChannel p_selectedChannel)
    {
        switch (p_selectedChannel)
        {
        case ChangeActiveColourChannelButton.TypeOfColourChannel.Hue:

            float hue = p_baseColour.x;
            hue += _huePreviewDistance;

            if (hue > 1f)
            {
                hue = hue - 1f;
            }

            p_baseColour.x = Mathf.Clamp01(hue);
            break;

        case ChangeActiveColourChannelButton.TypeOfColourChannel.Saturation:

            float saturation = p_baseColour.y;
            saturation    += _saturationPreviewDistance;
            p_baseColour.y = Mathf.Clamp01(saturation);
            break;

        case ChangeActiveColourChannelButton.TypeOfColourChannel.Value:

            float value = p_baseColour.z;
            value         += _valuePreviewDistance;
            p_baseColour.z = Mathf.Clamp01(value);
            break;
        }

        return(p_baseColour);
    }
예제 #2
0
    public void Selected(ChangeActiveColourChannelButton.TypeOfColourChannel p_selectedChannel)
    {
        if (p_selectedChannel == _activeChannel)
        {
            return;
        }

        _activeChannel = p_selectedChannel;

        UpdateColour(_color.Colour.x, _color.Colour.y, _color.Colour.z);
    }
예제 #3
0
    public void Selected(ChangeActiveColourChannelButton.TypeOfColourChannel p_selectedChannel)
    {
        bool newActive = p_selectedChannel.Equals(_channel);

        if (_currentlyActive == newActive)
        {
            return;
        }

        _currentlyActive = newActive;
        _text.font       = _currentlyActive ? _active : _idle;
    }
예제 #4
0
    public void Selected(ChangeActiveColourChannelButton.TypeOfColourChannel p_selectedChannel)
    {
        var position = _transform.anchoredPosition;

        if (_buttonXPositions.TryGetValue(p_selectedChannel, out float x))
        {
            position.x = x;
        }

        Vector2 newWidth = _transform.sizeDelta;

        newWidth.x = lineWidth.First(it => it.button == p_selectedChannel).width;

        StopAllCoroutines();

        StartCoroutine(new ParallelTranslation(_transform, _transform.anchoredPosition, position, .25f, new EaseInterpolation(3f)).StartAnimation());
        StartCoroutine(new ParallelSizeDelta(_transform, _transform.sizeDelta, newWidth, .125f, new EaseInterpolation(3f)).StartAnimation());
    }
예제 #5
0
    private void Awake()
    {
        ChangeActiveColourChannelButton.AddVisual(this);

        var button = GetComponentInParent <ChangeActiveColourChannelButton>();

        _chooser = FindObjectOfType <ColourChooser>();

        if (button != null)
        {
            _channel = button.Channel;
        }
        else
        {
            Debug.LogError("No Button Found");
        }


        _text = GetComponent <Text>();
    }