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);
     }
 }
예제 #2
0
    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);
    }