Ejemplo n.º 1
0
 private void OnUpdateStarted(object sender, MapChangeEventArgs e)
 {
     this.DelayedUpdateStartTimer.Start();
 }
Ejemplo n.º 2
0
 private void OnUpdateStopped(object sender, MapChangeEventArgs e)
 {
     this.Dispatcher.BeginInvoke((Action)(() => this.Title = "Unknown Location"));
     this.Dispatcher.BeginInvoke((Action)(() => this.TabControl.SelectedItem = this.TabStartup));
     this.MusicPlayer.FadeOut();
 }
Ejemplo n.º 3
0
        private void Run()
        {
            bool incomingUpdates = false;
            DateTime timeSinceLastTick = DateTime.Now;

            uint tick = 0;
            uint mapID = 0;

            while (this.IsRunning)
            {
                if (tick == MumbleLink.Tick && (DateTime.Now - timeSinceLastTick).Seconds > this.CheckFrequency)
                {
                    if (incomingUpdates)
                    {
                        incomingUpdates = false;
                        if (this.UpdateStopped != null)
                        {
                            MapChangeEventArgs e = new MapChangeEventArgs(mapID, tick);
                            this.UpdateStopped(this, e);
                        }
                    }
                }

                if (mapID != MumbleLink.MapId)
                {
                    mapID = this.MumbleLink.MapId;
                    if (this.MapChanged != null)
                    {
                        MapChangeEventArgs e = new MapChangeEventArgs(mapID, tick);
                        this.MapChanged(this, e);
                    }
                }

                if(!incomingUpdates)
                {
                    if (tick != MumbleLink.Tick)
                    {
                        incomingUpdates = true;
                        if (this.UpdateStarted != null)
                        {
                            MapChangeEventArgs e = new MapChangeEventArgs(mapID, tick);
                            this.UpdateStarted(this, e);
                        }
                    }
                }

                if (tick != MumbleLink.Tick)
                {
                    tick = this.MumbleLink.Tick;
                    timeSinceLastTick = DateTime.Now;
                }

            }
        }