diff --git a/OpenSpaceToolbox/ViewModels/Bookmarks/BookmarksViewModel.cs b/OpenSpaceToolbox/ViewModels/Bookmarks/BookmarksViewModel.cs index 35d4c0c..91e876d 100644 --- a/OpenSpaceToolbox/ViewModels/Bookmarks/BookmarksViewModel.cs +++ b/OpenSpaceToolbox/ViewModels/Bookmarks/BookmarksViewModel.cs @@ -235,7 +235,7 @@ public void LoadBookmark() if (SelectedBookmark == null) return; - GameManager.PlayerCoordinates = (SelectedBookmark.X, SelectedBookmark.Y, SelectedBookmark.Z); + GameManager.PlayerCoordinates = GameManager.SavedPosition = (SelectedBookmark.X, SelectedBookmark.Y, SelectedBookmark.Z); } /// @@ -318,6 +318,8 @@ public void AddBookmark() AllBookmarkItems.Add(bookmark); BookmarkItems.Add(bookmark); + + GameManager.SavedPosition = coords; } /// diff --git a/OpenSpaceToolbox/ViewModels/GameManagerViewModel.cs b/OpenSpaceToolbox/ViewModels/GameManagerViewModel.cs index 7d860e8..e714834 100644 --- a/OpenSpaceToolbox/ViewModels/GameManagerViewModel.cs +++ b/OpenSpaceToolbox/ViewModels/GameManagerViewModel.cs @@ -78,6 +78,9 @@ public void LoadOffsetLevel(int offset) /// public void LoadSavedPosition() { + if (GameManager.SavedPosition == default) + return; + GameManager.PlayerCoordinates = GameManager.SavedPosition; } diff --git a/OpenSpaceToolbox/Views/GameManagerFullView.xaml.cs b/OpenSpaceToolbox/Views/GameManagerFullView.xaml.cs index bf7f40c..c9b8488 100644 --- a/OpenSpaceToolbox/Views/GameManagerFullView.xaml.cs +++ b/OpenSpaceToolbox/Views/GameManagerFullView.xaml.cs @@ -16,8 +16,10 @@ public GameManagerFullView() private void BookmarkListItemDoubleClick(object sender, MouseButtonEventArgs e) { if (DataContext is MainViewModel viewModel) - viewModel.GameManager.PlayerCoordinates = (viewModel.BookmarksVm.SelectedBookmark.X, - viewModel.BookmarksVm.SelectedBookmark.Y, viewModel.BookmarksVm.SelectedBookmark.Z); + viewModel.GameManager.PlayerCoordinates = viewModel.GameManager.SavedPosition = + (viewModel.BookmarksVm.SelectedBookmark.X, + viewModel.BookmarksVm.SelectedBookmark.Y, + viewModel.BookmarksVm.SelectedBookmark.Z); } private void LevelTreeItemDoubleClick(object sender, MouseButtonEventArgs e) diff --git a/OpenSpaceToolbox/Views/GameManagerMinimizedView.xaml.cs b/OpenSpaceToolbox/Views/GameManagerMinimizedView.xaml.cs index 10e6db9..54425c9 100644 --- a/OpenSpaceToolbox/Views/GameManagerMinimizedView.xaml.cs +++ b/OpenSpaceToolbox/Views/GameManagerMinimizedView.xaml.cs @@ -16,8 +16,10 @@ public GameManagerMinimizedView() private void BookmarkListItemDoubleClick(object sender, MouseButtonEventArgs e) { if (DataContext is MainViewModel viewModel) - viewModel.GameManager.PlayerCoordinates = (viewModel.BookmarksVm.SelectedBookmark.X, - viewModel.BookmarksVm.SelectedBookmark.Y, viewModel.BookmarksVm.SelectedBookmark.Z); + viewModel.GameManager.PlayerCoordinates = viewModel.GameManager.SavedPosition = + (viewModel.BookmarksVm.SelectedBookmark.X, + viewModel.BookmarksVm.SelectedBookmark.Y, + viewModel.BookmarksVm.SelectedBookmark.Z); } private void LevelTreeItemDoubleClick(object sender, MouseButtonEventArgs e)