Exemple #1
0
        protected override async void OnInitialize()
        {
            base.OnInitialize();
            var bosses = await BossNotificationService.GetRegionBossesAsync();

            bosses.ForEach(boss =>
            {
                WorldBosses.Add(boss);
            });

            bossSpawnTimer = new DispatcherTimer
            {
                Interval = TimeSpan.FromSeconds(1)
            };
            bossSpawnTimer.Tick += BossSpawnTimer_Tick;

            bossSpawnTimer.Start();
            NotifyOfPropertyChange(() => WorldBosses);
        }
Exemple #2
0
        private void BossSpawnTimer_Tick(object sender, object e)
        {
            foreach (var boss in WorldBosses)
            {
                boss.NextSpawnTime = BossNotificationService.GetTimeTillNextSpawn(boss);

                if (boss.NextSpawnTime.Days > 0)
                {
                    boss.TimeTillNextSpawn = boss.NextSpawnTime.ToString(@"d\.hh\:mm\:ss");
                }
                else
                {
                    boss.TimeTillNextSpawn = boss.NextSpawnTime.ToString(@"hh\:mm\:ss");
                }
            }

            if (!IsBossesSorted())
            {
                WorldBosses.SortStable((a, b) => { return(a.NextSpawnTime.CompareTo(b.NextSpawnTime)); });
            }

            NotifyOfPropertyChange(() => WorldBosses);
        }