/// <summary> /// クライアントメッセージの処理 /// </summary> /// <param name="jsonObj"></param> /// <returns></returns> public ProtocolData ProcMessage(JObject jsonObj) { string kind = null; try { kind = jsonObj["Kind"].ToString(); } catch (Exception) { throw new InvalidOperationException("Kindがありません"); } if (kind == "Tweet") { string message; try { message = jsonObj["Message"].ToString(); } catch (Exception) { throw new InvalidOperationException("Messageがありません"); } room.Tweet(playerNum, message); } else if (kind == "Start") { // 自動的に不足人数を追加してゲーム開始する room.DoComplementPlayers(5); room.Master.Start(); } else if (kind == "Put") { var ret = room.Master.PutCards(this, DeckGenerator.FromCardsetString(jsonObj["Cards"].ToString())); if (!(ret is CheckOK)) { return(new WebDaifugo.Neof5Protocols.ProtocolData(ret)); } myTimer.Enabled = false; } return(null); }