public static string ToCssClass(this FlexAlignment alignment, FlexAlignmentScope scope, Breakpoint breakpoint) { return(alignment == FlexAlignment.None ? string.Empty : new CssClassBuilder("align") .Append(() => scope.GetCssClassPart()) .Append(() => breakpoint.GetCssClassPart(), () => breakpoint != Breakpoint.None) .Append(() => alignment.GetCssClassPart()) .Build()); }
void Start() { rt = GetComponent <RectTransform>(); rt.anchorMin = Vector2.zero; rt.anchorMax = Vector2.one; if (!isListeningToSceneChanges) { SceneManager.activeSceneChanged += (replaces, active) => { IdsBaked = false; }; isListeningToSceneChanges = true; } BakeIds(); var k = prefsKey; if (PlayerPrefs.HasKey(k)) { var d = JsonUtility.FromJson <Data>(PlayerPrefs.GetString(k)); if (changeableWidth && d.widthCoef < minWidth) { d.widthCoef = minWidth; } if ((d.alignment & allowedAlignmens) == 0) { d.alignment = NextAllowedAlignment(); } d.heightCoef = Mathf.Max(d.heightCoef, data.heightCoef); if (!allowHide) { d.hidden = false; } data = d; } Align(); if (allowHide) { trayButton = Instantiate(buttonPrefab).GetComponent <Button>(); trayButton.GetComponentInChildren <Text>().text = "Show " + Options.NicifyOptionName(gameObject.name); trayButton.onClick.AddListener(() => { gameObject.SetActive(true); trayButton.gameObject.SetActive(false); data.hidden = false; }); hideButton = Instantiate(buttonPrefab).GetComponent <Button>(); hideButton.GetComponentInChildren <Text>().text = "Hide"; hideButton.onClick.AddListener(() => { trayButton.gameObject.SetActive(true); gameObject.SetActive(false); data.hidden = true; }); trayButton.transform.SetParent(trayButtonsParent); hideButton.transform.SetParent(controlsParent ?? transform); if (data.hidden) { hideButton.onClick.Invoke(); } else { trayButton.gameObject.SetActive(false); } LayoutRebuilder.ForceRebuildLayoutImmediate(trayButtonsParent as RectTransform); } if (allowedAlignmens != 0 && allowedAlignmens != data.alignment) { switchAlignmenButton = Instantiate(buttonPrefab).GetComponent <Button>(); switchAlignmentCaption = switchAlignmenButton.GetComponentInChildren <Text>(); switchAlignmentCaption.text = "Align >"; switchAlignmenButton.transform.SetParent(controlsParent ?? transform); switchAlignmenButton.onClick.AddListener(() => { var a = NextAllowedAlignment(); if (a == FlexAlignment.right) { switchAlignmentCaption.text = "Align <"; } else { switchAlignmentCaption.text = "Align >"; } alignment = a; }); } if (changeableWidth) { widthSlider = Instantiate(widthSliderPrefab).GetComponent <Slider>(); widthSlider.minValue = minWidth; widthSlider.maxValue = maxWidth; widthSlider.value = data.widthCoef; widthSlider.onValueChanged.AddListener((v) => { data.widthCoef = v; if (applyWidthCanges == null) { applyWidthCanges = StartCoroutine(DelayActionWhile(Align, () => { if (Input.GetMouseButton(0)) { return(true); } else { applyWidthCanges = null; return(false); } })); } }); widthSlider.transform.SetParent(controlsParent ?? transform); LayoutRebuilder.ForceRebuildLayoutImmediate((controlsParent ?? transform) as RectTransform); } }
public void ToCssClassSucceeds(FlexAlignment alignment, FlexAlignmentScope scope, Breakpoint breakpoint, string expected) { alignment.ToCssClass(scope, breakpoint).Should().Be(expected); }