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)); } } } } }
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; } }
// 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; }