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;
        }
    }
Exemple #2
0
    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;
        }
    }
Exemple #3
0
    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;
     }
 }
Exemple #5
0
    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;
        }
    }
Exemple #8
0
    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;
        }
    }