public RealmCurrencyTimerPage()
        {
            InitializeComponent();

            BindingContext = this;

            RCEnv.LoadValues();

            if (Device.RuntimePlatform is not Device.UWP)
            {
                _buttonPressTimer = new(500)
                {
                    AutoReset = false
                };
                _buttonPressTimer.Elapsed += delegate
                {
                    _isRunReset = true;

                    if (Preferences.Get(SettingConstants.QUICKCALC_VIBRATION, true))
                    {
                        Vibration.Vibrate(100);
                    }

                    ResetRC();
                };
            }

            if (RCEnv.IsSyncEnabled)
            {
                _ = SyncData();
            }
        }
        private void ResetRC()
        {
            DateTime now   = DateTime.Now;
            int      count = RCEnv.MaxRC / RCEnv.RCRate;

            count += ((RCEnv.MaxRC % RCEnv.RCRate) == 0) ? 0 : 1;

            RCEnv.LastInputTime = now.ToString(AppEnv.DTCulture);

#if TEST
            RCEnv.EndTime = now.AddMinutes(count);
#else
            RCEnv.EndTime = now.AddHours(count);
#endif

            RCEnv.Currency = 0;
            RCEnv.AddCount = 0;

            RCEnv.SaveValue();

            if (Preferences.Get(SettingConstants.NOTI_ENABLED, false))
            {
                new RealmCurrencyNotiManager().UpdateNotisTime();
            }
        }
        protected override void OnDisappearing()
        {
            base.OnDisappearing();

            _calcTimer.Change(Timeout.InfiniteTimeSpan, Timeout.InfiniteTimeSpan);
            _calcTimer.Dispose();

            RCEnv.SaveValue();
        }
Пример #4
0
        public static async Task <bool> Update(SyncTarget target)
        {
            RTNoteData data = await GetRTNoteData();

            return(target switch
            {
                SyncTarget.Resin => REnv.SyncServerData(data),
                SyncTarget.RealmCurrency => RCEnv.SyncServerData(data),
                SyncTarget.Expedition => ExpEnv.SyncServerData(data),
                _ => false
            });
Пример #5
0
        public RealmCurrencyNoti(int percentage)
        {
            Percentage = percentage;
            NotiId     = RealmCurrencyNotiManager.ID_PREINDEX + Percentage;

            try
            {
                UpdateTime();
            }
            catch
            {
                RCEnv.LoadValues();
                UpdateTime();
            }
        }
        private void CalcNowRC(object statusInfo)
        {
            try
            {
                RCEnv.CalcRC();

                MainThread.BeginInvokeOnMainThread(RefreshInfo);
            }
            catch (Exception ex)
            {
#if DEBUG
                DependencyService.Get <IToast>().Show(ex.ToString());
#endif
            }
        }
Пример #7
0
        internal override void ApplyValue()
        {
            base.ApplyValue();

            if (int.TryParse(SfUpDown.Text, out int inputValue))
            {
                RCEnv.LastInputTime = DateTime.Now.ToString(AppEnv.DTCulture);
                RCEnv.Currency      = inputValue; //Convert.ToInt32((double)SfUpDown.Value);
                RCEnv.AddCount      = 0;

                RCEnv.CalcEndTime();
                RCEnv.CalcRC();
                RCEnv.SaveValue();

                notiManager.UpdateNotisTime();
                notiManager.UpdateScheduledNoti <RealmCurrencyNoti>();
            }
            else
            {
                DependencyService.Get <IToast>().Show(AppResources.ValueEdit_ValueError_Message);
            }
        }
Пример #8
0
        private void ApplySetting()
        {
            RealmEnv.RealmRank = (RealmEnv.RealmRankEnum)RealmRankPicker.SelectedIndex;
            RealmEnv.TrustRank = TrustRankPicker.SelectedIndex + 1;

            switch (type)
            {
            case RealmEnv.RealmType.Currency:
                RCEnv.CalcEndTime();
                RCEnv.SaveValue();
                break;

            case RealmEnv.RealmType.Friendship:
                RFEnv.CalcEndTime();
                RFEnv.SaveValue();
                break;
            }

            UpdateNotis();

            Navigation.PopAsync();
        }
        private async Task SyncData()
        {
            SyncStatusTipLabel.IsVisible = false;
            ManualSyncButton.IsEnabled   = false;
            ManualSyncButton.BorderColor = Color.Default;

            await Task.Delay(100);

            if (await SyncHelper.Update(SyncHelper.SyncTarget.RealmCurrency))
            {
                RCEnv.UpdateSaveData();

                ManualSyncButton.BorderColor = Color.Green;
            }
            else
            {
                ManualSyncButton.BorderColor = Color.OrangeRed;
                SyncStatusTipLabel.IsVisible = true;
            }

            ManualSyncButton.IsEnabled = true;
        }
Пример #10
0
 public void UpdateInfo()
 {
     RCEnv.CalcRC();
 }
Пример #11
0
 public RealmCurrencyHomeItem()
 {
     RCEnv.LoadValues();
 }