/// <summary>
        /// Save the current state including free prize times
        /// </summary>
        public override void SaveState()
        {
            MyDebug.Log("FreePrizeManager: SaveState");

            PlayerPrefs.SetString("FreePrize.NextCountdownStart", NextCountdownStart.ToString());
            PlayerPrefs.SetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString());
            PlayerPrefs.Save();
        }
        /// <summary>
        /// Save the current state including free prize times
        /// </summary>
        public override void SaveState()
        {
            MyDebug.Log("FreePrizeManager: SaveState");

            PreferencesFactory.SetString("FreePrize.NextCountdownStart", NextCountdownStart.ToString(CultureInfo.InvariantCulture));
            PreferencesFactory.SetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString(CultureInfo.InvariantCulture));
            PreferencesFactory.Save();
        }
Example #3
0
    void RegisterLocalNotifications()
    {
        // NextFreePrizeAvailable is 00:00 every day
        // between 13:00 & 16:00
        int min = 13 * 60 * 60;         // h * min * sec
        int max = 16 * 60 * 60;

        DateTime fireDate;
        string   text;

        // register local notification for everyday for first 10 days
        for (int i = 0; i < _notificationDays.Length; i++)
        {
            int day = _notificationDays [i];

            text     = RandomNotificationText();
            fireDate = NextFreePrizeAvailable.AddDays(day).AddSeconds(UnityEngine.Random.Range(min, max));

            LocalNotifications.RegisterNotification(Constants.NotificationPrizeAvailableStart + day + 1, fireDate, text);
        }
    }
 /// <summary>
 /// Returns the time until the next free prize will be available.
 /// </summary>
 /// <returns></returns>
 public TimeSpan GetTimeToPrize()
 {
     return(NextFreePrizeAvailable.Subtract(DateTime.UtcNow));
 }
        /// <summary>
        /// Called from singletong Awake() - Load saved prize times, or setup new if first run or not saving across restarts
        /// </summary>
        protected override void GameSetup()
        {
            base.GameSetup();

            if (SaveAcrossRestarts && PreferencesFactory.HasKey("FreePrize.NextCountdownStart"))
            {
                NextCountdownStart     = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextCountdownStart", DateTime.UtcNow.ToString(CultureInfo.InvariantCulture))); // start countdown immediately if new game
                NextFreePrizeAvailable = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString(CultureInfo.InvariantCulture)));
                SetCurrentPrizeAmount();
            }
            else
            {
                StartNewCountdown();
            }
        }
Example #6
0
 /// <summary>
 /// Returns the time until the next free prize will be available.
 /// </summary>
 /// <returns></returns>
 public TimeSpan GetTimeToPrize()
 {
     return(NextFreePrizeAvailable.Subtract(UnbiasedTime.Instance.Now()));
 }
Example #7
0
    /// <summary>
    /// Called from singletong Awake() - Load saved prize times, or setup new if first run or not saving across restarts
    /// </summary>
    protected override void GameSetup()
    {
        base.GameSetup();

        if (SaveAcrossRestarts && PreferencesFactory.HasKey("FreePrize.NextCountdownStart"))
        {
            NextCountdownStart     = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextCountdownStart", UnbiasedTime.Instance.Now().ToString(CultureInfo.InvariantCulture))); // start countdown immediately if new game
            NextFreePrizeAvailable = DateTime.Parse(PreferencesFactory.GetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString(CultureInfo.InvariantCulture)));
            SetCurrentPrizeAmount();
        }
        else
        {
            StartNewCountdown();
            SetCurrentPrizeAmount();
        }

        GameManager.SafeAddListener <UserNotificationsChangedMessage>(UserNotificationsChangedHandler);
        GameManager.SafeAddListener <LocalisationChangedMessage>(LocalisationHandler);

        //

#if !UNITY_EDITOR
        CancelLocalNotifications();
        RegisterLocalNotifications();
#endif
    }
        /// <summary>
        /// Called from singletong Awake() - Load saved prize times, or setup new if first run or not saving across restarts
        /// </summary>
        protected override void GameSetup()
        {
            base.GameSetup();

            if (SaveAcrossRestarts && PlayerPrefs.HasKey("FreePrize.NextCountdownStart"))
            {
                NextCountdownStart     = DateTime.Parse(PlayerPrefs.GetString("FreePrize.NextCountdownStart", DateTime.UtcNow.ToString())); // start countdown immediately if new game
                NextFreePrizeAvailable = DateTime.Parse(PlayerPrefs.GetString("FreePrize.NextPrize", NextFreePrizeAvailable.ToString()));
            }
            else
            {
                StartNewCountdown();
            }
        }