protected override void OnDestroy() { base.OnDestroy(); // If isFinishing is false, the player isn't really leaving the game if (IsFinishing) { CardsAgainstHumility.DepartGame(); } CardsAgainstHumility.Game_SocketConnected -= OnSocketConnected; CardsAgainstHumility.Game_SocketConnectError -= OnSocketConnectError; CardsAgainstHumility.Game_SocketConnectTimeout -= OnSocketConnectTimeout; CardsAgainstHumility.Game_Update -= OnUpdateGame; CardsAgainstHumility.Game_Error -= OnGameError; CurrentQuestionView.Dispose(); CurrentQuestionView = null; }
public GamePage() { InitializeComponent(); _drawerLayout.InitializeDrawerLayout(); vm = new GameViewModel(); _drawerLayout.DrawerOpened += sender => { vm.SetDrawerLayoutOpen(true); }; _drawerLayout.DrawerClosed += sender => { vm.SetDrawerLayoutOpen(false); }; vm.CloseDrawer += (sender, args) => { _drawerLayout.CloseDrawer(); }; DataContext = vm; TouchPanel.EnabledGestures = GestureType.Flick; ManipulationCompleted += manipulationCompleted; Loaded += delegate { NavigationService.RemoveBackEntry(); }; Unloaded += delegate { CardsAgainstHumility.DepartGame(); }; }