diff --git a/YJMPD-UWP/MainPage.xaml.cs b/YJMPD-UWP/MainPage.xaml.cs index 65b08cc..c88907a 100644 --- a/YJMPD-UWP/MainPage.xaml.cs +++ b/YJMPD-UWP/MainPage.xaml.cs @@ -51,6 +51,10 @@ namespace YJMPD_UWP { if (e.Handled) return; + App.Game.MoveToStarted(new BasicGeoposition { Latitude = 51.591403, Longitude = 4.743948 }); + e.Handled = true; + return; + if (App.Game.Status == Model.GameHandler.GameStatus.STARTED) { e.Handled = true; diff --git a/YJMPD-UWP/Model/GameHandler.cs b/YJMPD-UWP/Model/GameHandler.cs index 4b094b3..e72e0f5 100644 --- a/YJMPD-UWP/Model/GameHandler.cs +++ b/YJMPD-UWP/Model/GameHandler.cs @@ -149,10 +149,10 @@ namespace YJMPD_UWP.Model public void MoveToStarted(BasicGeoposition bgps) { - App.Navigate(typeof(MatchView)); - Destination = bgps; + App.Navigate(typeof(MatchView)); + GeofenceMonitor.Current.Geofences.Add(new Geofence("destination", new Geocircle(bgps, 50), MonitoredGeofenceStates.Entered | MonitoredGeofenceStates.Exited, false, TimeSpan.FromSeconds(1))); UpdateGameStatus(GameStatus.STARTED); diff --git a/YJMPD-UWP/ViewModels/MatchVM.cs b/YJMPD-UWP/ViewModels/MatchVM.cs index 426e5cb..fa85d04 100644 --- a/YJMPD-UWP/ViewModels/MatchVM.cs +++ b/YJMPD-UWP/ViewModels/MatchVM.cs @@ -15,7 +15,7 @@ namespace YJMPD_UWP.ViewModels Message = ""; Degrees = 0; angle = (int)Util.DegreeBearing(App.Geo.Position.Coordinate.Point.Position, App.Game.Destination); - HeadingVisible = false; + HeadingVisible = true; App.Game.OnDestinationEnter += Game_OnDestinationEnter; App.Game.OnDestinationLeave += Game_OnDestinationLeave; App.Geo.OnPositionUpdate += Geo_OnPositionUpdate; @@ -31,6 +31,7 @@ namespace YJMPD_UWP.ViewModels Degrees = (int)(angle + -e.Heading.HeadingMagneticNorth); NotifyPropertyChanged(nameof(Degrees)); + Debug.WriteLine(angle); }); } @@ -42,7 +43,10 @@ namespace YJMPD_UWP.ViewModels return; angle = (int)Util.DegreeBearing(e.Position.Coordinate.Point.Position, App.Game.Destination); - HeadingVisible = Util.Distance(e.Position.Coordinate.Point.Position, App.Game.Destination) > 500; + double b = Util.Distance(e.Position.Coordinate.Point.Position, App.Game.Destination) * 1000; + HeadingVisible = (int)b > 250; + + Debug.WriteLine(HeadingVisible + " " + b); NotifyPropertyChanged(nameof(HeadingVisible)); NotifyPropertyChanged(nameof(InvHeadingVisible));