protected override void HandleMessage(object message) { switch (message) { case k_toMonthOverview: ControllingStateStack.PushState(new MonthlyOverviewState()); break; case k_setFixedValues: ControllingStateStack.PushState(new IncomeExpensesState(k_fixedValuesKey, false, m_localisationService)); break; case k_addVariableValue: ControllingStateStack.PushState(new IncomeExpensesState(k_variableValuesKey, true, m_localisationService)); break; case k_monthlyGraphMsg: ControllingStateStack.PushState(new MonthGraphState()); break; case k_settingsMsg: ControllingStateStack.PushState(new SettingsState(m_localisationService)); break; } }
protected override void HandleMessage(object message) { switch (message) { case k_setTimeScaleMsg: MonthlyValueData[] allValueRanges = new MonthlyValueData[m_previousMonths.monthlyValues.Count + 1]; m_previousMonths.monthlyValues.CopyTo(allValueRanges); allValueRanges[allValueRanges.Length - 1] = MonthDataUtils.BuildCurrentMonthData(); string[] ranges = Array.ConvertAll(allValueRanges, (element) => element.m_monthReflected); var timeState = new TimeScalePopupState(ranges, m_monthsToDisplay[0].m_monthReflected, m_monthsToDisplay[m_monthsToDisplay.Count - 1].m_monthReflected, LoadDataRangeAndRefreshGraph); ControllingStateStack.PushState(timeState); break; case k_backMenuMsg: ControllingStateStack.PopState(this); break; case string msg when msg.StartsWith(k_showStartingMsg): SetToggleStateFromMsg(msg); RefreshGraph(); break; } }
protected override void HandleMessage(object message) { switch (message) { case k_cancelMenuMsg: ControllingStateStack.PopState(this); break; case k_saveMsg: var enteredData = m_uiAddition.GetInputFieldContent(); //TODO: Fix for commas - being seen as thousands indicator if (float.TryParse(enteredData.value, NumberStyles.Float, CultureInfo.InvariantCulture, out float value)) { m_elementData = new GridElementData { m_variableName = enteredData.name, m_variableValue = value }; m_saveAction?.Invoke(m_elementData.Value); ControllingStateStack.PopState(this); } else { //TODO: Error popup } break; } }
protected override void HandleMessage(object message) { switch (message) { case k_backMenuMsg: ControllingStateStack.PopState(this); break; } }
protected override void HandleMessage(object message) { switch (message) { case k_acceptMsg: m_acceptAction?.Invoke(); ControllingStateStack.PopState(this); break; case k_declineMsg: m_declineAction?.Invoke(); ControllingStateStack.PopState(this); break; } }
protected override void HandleMessage(object message) { switch (message) { case k_saveMsg: var dropVals = m_uiTimeScalePopup.GetDropdownValues(); m_saveAction?.Invoke(dropVals.from, dropVals.to); ControllingStateStack.PopState(this); break; case k_cancelMenuMsg: ControllingStateStack.PopState(this); break; case string dropChanged when dropChanged.StartsWith(k_fromDropMsg): int startIndex = ToInt32(dropChanged.Remove(0, k_fromDropMsg.Length)); (m_startingID, m_endingID) = m_uiTimeScalePopup.GetDropdownValues(); RefreshDropdownValues(startIndex); break; } }
protected override void HandleMessage(object message) { switch (message) { case k_backMenuMsg: ControllingStateStack.PopState(this); break; case k_clearDataMsg: var popupText = new ConfirmationPopupState.PopupText { m_title = m_locService.GetLocalised("CONFIRMATION_TITLE"), m_description = m_locService.GetLocalised("DELETE_CONFIRM_DESC"), m_accept = m_locService.GetLocalised("CONTINUE"), m_decline = m_locService.GetLocalised("CANCEL") }; ControllingStateStack.PushState(new ConfirmationPopupState(popupText, ClearSavedData)); break; case string langMsg when langMsg.StartsWith(k_languageDropMsg): langMsg = langMsg.Remove(0, k_languageDropMsg.Length); int index = ToInt32(langMsg); m_locService.LoadLocalisation((LocalisationService.LocalisableCultures)index, k_languageResourceFormat); PlayerPrefs.SetInt(k_localisationIndexKey, index); PlayerPrefs.Save(); LocalisationUIRefresher[] uiRefreshers = GameObject.FindObjectsOfType <LocalisationUIRefresher>(); foreach (LocalisationUIRefresher uiText in uiRefreshers) { uiText.RefreshText(); } break; } }
protected override void HandleMessage(object message) { switch (message) { case k_addMsg: ControllingStateStack.PushState(new AddOrEditElementState(OnNewElementAdded)); break; case k_editMsg: ControllingStateStack.PushState(new AddOrEditElementState(OnElementEdited, m_gridElements.m_elements[m_selectedElementIndex])); break; case k_backMenuMsg: ControllingStateStack.PopState(this); break; case k_removeMsg: var popupText = new ConfirmationPopupState.PopupText { m_title = m_locService.GetLocalised("CONFIRMATION_TITLE"), m_description = m_locService.GetLocalised("DELETE_ENTRY_DESC"), m_accept = m_locService.GetLocalised("CONTINUE"), m_decline = m_locService.GetLocalised("CANCEL") }; ControllingStateStack.PushState(new ConfirmationPopupState(popupText, RemoveSelectedElement)); break; case k_breakdownMsg: ControllingStateStack.PushState(new MonthlyOverviewState()); break; case k_nextPageMsg: m_pageNumber++; BuildGridElements(); break; case k_previousPageMsg: m_pageNumber = Mathf.Max(m_pageNumber - 1, 0); BuildGridElements(); break; case string msg when msg.StartsWith(k_selectElementMsg): msg = msg.Replace(k_selectElementMsg, string.Empty); if (int.TryParse(msg, out int index)) { if (index == m_selectedElementIndex) { break; } if (m_selectedElementIndex > -1) { bool selectionWasExpense = m_gridElements.m_elements[m_selectedElementIndex].IsExpense; m_uiIncomeExpenses.SetButtonSelected(index, m_selectedElementIndex, selectionWasExpense); } else { m_uiIncomeExpenses.SetButtonSelected(index); } m_selectedElementIndex = index; m_uiIncomeExpenses.SetEditRemoveInteractablity(true); } break; } }