void OnValueEmitted(BarChartValue barChartValue) { foreach (int value in barChartValue.Values) { if (Math.Abs(value) > _maxDisplayedValue) { _maxDisplayedValue = Math.Abs(value); } } BarChartValueView barChartValueView = Instantiate(_barChartValueViewPrefab, _graphTransform); barChartValueView.SetXValue(barChartValue.Label); barChartValueView.SetYValue(barChartValue.Values); barChartValueView.SetColors(_colors); _barChartValueElements.Add(barChartValueView); foreach (BarChartValueView barChartValueElement in _barChartValueElements) { barChartValueElement.SetMaxHeight((int)_graphTransform.rect.height); barChartValueElement.SetMaxValue(_maxDisplayedValue); barChartValueElement.UpdateChart(); } _maxValueLineTransform.anchoredPosition = new Vector2(0, (int)_graphTransform.rect.height); _maxValueLineText.text = _maxDisplayedValue + "€"; }
void Start() { MoneyController moneyController = FindObjectOfType <MoneyUiView>().MoneyController; _barChartController = new BarChartController(moneyController); _barChartValueViewPrefab = Resources.Load <BarChartValueView>(Util.PathTo("BarChartValueView")); _barChartValueElements = new List <BarChartValueView>(); _barChartController.OnValueChange += OnValueEmitted; _visibilityToggle.onClick.AddListener(delegate { _visibleObject.enabled = !_visibleObject.enabled; }); _closeButton.onClick.AddListener(delegate { _visibleObject.enabled = false; }); }