public static void WriteNetworkIdentityReference(this NetworkWriter writer, NetworkIdentityReference nir) { //Null NetworkIdentityReference or no NetworkIdentity value. if (nir == null || nir.Value == null) { writer.WriteUInt32(0); } //Value exist, write netId. else { writer.WriteUInt32(nir.Value.netId); } }
private void CmdSpawnCards(NetworkConnectionToClient sender = null) { if (_card.Value != null) { return; } GameObject card = cardManager.GetGameObjectCard(cardsInDeck[0].CardId); card.GetComponent <NetworkMatchChecker>().matchId = this.MatchID.ToGuid(); Debug.Log($"PLAYER NAME => {this.GetDisplayName()} - CardName => {card.GetCardAsset().CardName}"); if (cardsInDeck.Count > 0) { cardsInDeck.RemoveAt(0); } cardsInHand.Add(card); GameObject playerCard = Instantiate(card); Debug.Log($"CardsInHand => {cardsInHand.Count}"); NetworkServer.Spawn(playerCard, connectionToClient); _card = new NetworkIdentityReference(playerCard.GetComponent <NetworkIdentity>()); TargetSetUpCard(playerCard); }