private void SetProjFilterBtnStates()
    {
        ViRMA_UIScrollable[] scrollableUis = ui_projectedFilters.GetComponentsInChildren <ViRMA_UIScrollable>();
        for (int i = 0; i < scrollableUis.Length; i++)
        {
            Button[] buttons = scrollableUis[i].GetComponentsInChildren <Button>();
            for (int j = 0; j < buttons.Length; j++)
            {
                GameObject buttonObj = buttons[j].gameObject;
                buttonObj.transform.localScale = Vector3.one * 0.9f;
                ViRMA_UiElement vrUiElement = buttonObj.GetComponent <ViRMA_UiElement>();

                if (i == 0)
                {
                    // x
                    if (j == buttons.Length - 1)
                    {
                        buttonObj.transform.localScale = Vector3.one;
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.axisRed, Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RemoveAxis(buttonObj));
                    }
                    else
                    {
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.BrightenColor(ViRMA_Colors.axisRed), Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RollUpAxis(buttonObj));
                    }
                }
                else if (i == 1)
                {
                    // y
                    if (j == buttons.Length - 1)
                    {
                        buttonObj.transform.localScale = Vector3.one;
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.axisGreen, Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RemoveAxis(buttonObj));
                    }
                    else
                    {
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.BrightenColor(ViRMA_Colors.axisGreen), Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RollUpAxis(buttonObj));
                    }
                }
                else if (i == 2)
                {
                    // z
                    if (j == buttons.Length - 1)
                    {
                        buttonObj.transform.localScale = Vector3.one;
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.axisBlue, Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RemoveAxis(buttonObj));
                    }
                    else
                    {
                        vrUiElement.GenerateBtnDefaults(ViRMA_Colors.BrightenColor(ViRMA_Colors.axisBlue), Color.white);
                        buttonObj.GetComponent <Button>().onClick.AddListener(() => RollUpAxis(buttonObj));
                    }
                }
            }
        }
    }
Exemple #2
0
    public void ToggleBorder(bool toToggle)
    {
        if (toToggle)
        {
            if (isNextBtn || isPrevBtn)
            {
                Color currentColor = GetComponent <Renderer>().material.GetColor("_Color");
                GetComponent <Renderer>().material.SetColor("_Color", ViRMA_Colors.BrightenColor(currentColor));
            }
            else
            {
                if (hasBorder == false && contextMenuActiveOnChild == false)
                {
                    border = GameObject.CreatePrimitive(PrimitiveType.Cube);
                    Destroy(border.GetComponent <Rigidbody>());
                    Destroy(border.GetComponent <BoxCollider>());
                    border.name                    = "TimelineChildBorder";
                    border.transform.parent        = transform.parent;
                    border.transform.localPosition = transform.localPosition;
                    border.transform.localRotation = transform.localRotation;
                    float borderThickness = transform.localScale.x * 0.1f;
                    border.transform.localScale = new Vector3(transform.localScale.x + borderThickness, transform.localScale.y + borderThickness, transform.localScale.z * 0.5f);
                    border.GetComponent <Renderer>().material.color = ViRMA_Colors.axisDarkBlue;
                    hasBorder = true;
                }
            }
        }
        else
        {
            if (isNextBtn || isPrevBtn)
            {
                Color currentColor = GetComponent <Renderer>().material.GetColor("_Color");
                GetComponent <Renderer>().material.SetColor("_Color", ViRMA_Colors.DarkenColor(currentColor));
            }
            else
            {
                if (border)
                {
                    Destroy(border);
                }
            }

            hasBorder = false;
        }
    }
Exemple #3
0
    // button states
    public void GenerateBtnDefaults(Color bgColor, Color textColor, bool notInteractable = false)
    {
        //GetComponent<Image>().material = Resources.Load("Materials/CustomUI") as Material;

        if (defaultBackgroundColor != bgColor || defaultTextColor != textColor)
        {
            // default
            defaultBackgroundColor = bgColor;
            defaultTextColor       = textColor;

            // hover
            if (bgColor == Color.white)
            {
                hoverBackgroundColor = ViRMA_Colors.DarkenColor(bgColor);
            }
            else
            {
                hoverBackgroundColor = ViRMA_Colors.BrightenColor(bgColor);
            }
            hoverTextColor = ViRMA_Colors.BrightenColor(textColor);

            // clicked
            clickedBackgroundColor = textColor;
            clickedTextColor       = bgColor;

            if (notInteractable)
            {
                hoverBackgroundColor   = bgColor;
                hoverTextColor         = textColor;
                clickedBackgroundColor = bgColor;
                clickedTextColor       = textColor;
            }

            SetBtnNormalState();
        }
    }
 public void SetHighlightState()
 {
     matPropBlock.SetColor("_Color", ViRMA_Colors.BrightenColor(ViRMA_Colors.darkBlue));
     textMesh.color = Color.white;
 }