public void PlayerReady() { // this is where we would set the deck to be the one selected in the deck selection dialog LobbyController.LocalPlayer.SetDeck(new Deck()); Debug.Log("Sending deck fragment"); string deckData = LobbyController.LocalPlayer.Deck.ToString(false); MessageTypes.DeckFirstMessage msgFirst = new MessageTypes.DeckFirstMessage(); msgFirst.deckDataFragment = deckData.Substring(0, Math.Min(deckData.Length, 1024)); NetworkManager.singleton.client.Send((short)MessageTypes.MessageType.DECK_FIRST, msgFirst); for (int i = 1; i * 1024 < deckData.Length; i++) { Debug.Log("Sending deck fragment"); MessageTypes.DeckFragmentMessage msgFrag = new MessageTypes.DeckFragmentMessage(); msgFrag.deckDataFragment = deckData.Substring(i * 1024, Math.Min((deckData.Length - i * 1024), 1024)); NetworkManager.singleton.client.Send((short)MessageTypes.MessageType.DECK_FRAGMENT, msgFrag); } Debug.Log("Sending ready message"); MessageTypes.PlayerReadyMessage msg = new MessageTypes.PlayerReadyMessage(); NetworkManager.singleton.client.Send((short)MessageTypes.MessageType.PLAYER_READY, msg); // disable the button var createGameButton = (Button)GameObject.Find("ReadyButton").GetComponent(typeof(Button)); createGameButton.interactable = false; // create placeholder card objects for (int i = 0; i < LobbyController.LocalPlayer.Deck.Faction.StartingHandSize; i++) { Debug.Log("Adding fake card to hand"); GameViewController.AddUnknownCardToHand(); } }