mNetworkSession = NetworkSession.EndCreate(result);\r
mNetworkSession.AllowHostMigration = true;\r
mNetworkSession.AllowJoinInProgress = false;\r
-\r
+ mNetworkSession.GameStarted += new EventHandler<GameStartedEventArgs>(mNetworkSession_GameStarted);\r
mJoinedSessionDelegate(mNetworkSession, this);\r
}\r
\r
+\r
+ //gamestarted event\r
+ void mNetworkSession_GameStarted(object sender, GameStartedEventArgs e)\r
+ {\r
+ Reset();\r
+ }\r
+\r
/// <summary>\r
/// Determine whether or not the network game object is associated with any network session.\r
/// </summary>\r
\r
mJoinedSessionDelegate(mNetworkSession, this);\r
mJoinedSessionDelegate = null;\r
+\r
+ mNetworkSession.GameStarted += new EventHandler<GameStartedEventArgs>(mNetworkSession_GameStarted);\r
}\r
\r
\r
mNetworkSession.StartGame();\r
mNetworkSession.ResetReady();\r
\r
- Reset();\r
+ //Reset();\r
}\r
\r
\r
}\r
else if (mNetworkSession.SessionState == NetworkSessionState.Playing)\r
{\r
- //TODO reset needs to be called for all players, currently LocalGamerInfo throughs exception for all nonhosts\r
- // because in start game reset is only called on hosts games thus other clients never get an updated list\r
- // gamers.\r
-\r
-\r
-//thoughs exeption see TODO above\r
- //if (mGame.IsGameOver(LocalGamerInfo) || mGame.IsTerminated(LocalGamerInfo))\r
- //{\r
- // // TODO: Should support moving back to the session lobby.\r
- // LeaveSession();\r
- // return;\r
- //}\r
+ if (mGame.IsGameOver(LocalGamerInfo) || mGame.IsTerminated(LocalGamerInfo))\r
+ {\r
+ // TODO: Should support moving back to the session lobby.\r
+ LeaveSession();\r
+ return;\r
+ }\r
\r
if (HaveNeededEvents)\r
{\r