|
@@ -14,6 +14,7 @@ using System.Linq;
|
|
using System.Text;
|
|
using System.Text;
|
|
using GameStateManagement;
|
|
using GameStateManagement;
|
|
using Microsoft.Xna.Framework;
|
|
using Microsoft.Xna.Framework;
|
|
|
|
+using Microsoft.Xna.Framework.Net;
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
namespace CatapultGame
|
|
namespace CatapultGame
|
|
@@ -108,6 +109,15 @@ namespace CatapultGame
|
|
///
|
|
///
|
|
protected override void OnCancel(PlayerIndex playerIndex)
|
|
protected override void OnCancel(PlayerIndex playerIndex)
|
|
{
|
|
{
|
|
|
|
+ // Tear down our network session
|
|
|
|
+ NetworkSession session = ScreenManager.Game.Services.GetService (typeof(NetworkSession)) as NetworkSession;
|
|
|
|
+ if (session != null) {
|
|
|
|
+ if (session.AllGamers.Count == 1) {
|
|
|
|
+ session.EndGame();
|
|
|
|
+ }
|
|
|
|
+ session.Dispose();
|
|
|
|
+ ScreenManager.Game.Services.RemoveService(typeof(NetworkSession));
|
|
|
|
+ }
|
|
AudioManager.StopSounds();
|
|
AudioManager.StopSounds();
|
|
ScreenManager.AddScreen(new MainMenuScreen(), null);
|
|
ScreenManager.AddScreen(new MainMenuScreen(), null);
|
|
ExitScreen();
|
|
ExitScreen();
|