void IConnectionObserver.update(object code) { if (code != null) { List <NamedParameter> dataList = (List <NamedParameter>)code; List <NamedParameter> m = DataTypes.findAll(dataList, DataType.serverMessage); if (m != null && m.Count > 0) { Messages.GameMessages msg = (Messages.GameMessages)m[0].data; switch (msg) { case Messages.GameMessages.UpdateMatch: updateData(dataList); break; case Messages.GameMessages.UpdateAll: updateData(dataList); break; case Messages.GameMessages.GetSOM: List <NamedParameter> somRequest = DataTypes.findAll(dataList, DataType.SoMRequest); SOM selected = myView.selectSoM((somRequest[0].data as SoMRequest).Allowed, (somRequest[0].data as SoMRequest).Result); MessageSentFromView(MatchViewMessage.SoM, new List <object>() { selected }, this); break; case Messages.GameMessages.GameOver: //Determine who won bool won = Match.Turn == 0 ? player.Equals(Match.Player1) : player.Equals(Match.Player2); myView.gameOver(won); break; } //End Switch } //End MEssage if } //End Code if }