карточная игра для замкового камня для моей степени в этом семестре (надеюсь?)
Получение «Попытка отправить команду для объекта без полномочий» при использовании команды -> для вызова RPC -> для инструктирования другогоклиент, чтобы вызвать их функцию, чтобы их player2 добавить карту в свою руку.
У меня много команд и RPC, сделанных аналогичным образом для синхронизации переменных и досок для каждого игрока, и я обеспокоен тем, что у них всех будет эта проблема.
Он вызывается в сценарии playerConnectionObject с идентификатором сети.Это кусочки.
public void DrawCard()
{
mainCam = FindObjectOfType<Camera>();
string drawnCardName = mainCam.GetComponent<P1DeckController>().p1Deck[0];
mainCam.GetComponent<P1DeckController>().p1Deck.RemoveAt(0);
mainCam.GetComponent<P1DeckController>().SpawnCard(drawnCardName);
mainCam.GetComponent<P1DeckController>().drawnCard.transform.parent = mainCam.GetComponent<GameVars>().p1Hand.transform;
mainCam.GetComponent<P1DeckController>().drawnCard.GetComponent<CardActions>().canPlay = true;
mainCam.GetComponent<P1DeckController>().drawnCard.GetComponent<CardStats>().inHand = true;
CmdIncreaseEnemyHandSize(); //instructs server to instruct other client to add a card to their enemy's hand
}
[Command]
public void CmdIncreaseEnemyHandSize()
{
RpcIncreaseEnemyHandSize();
}
[ClientRpc]
void RpcIncreaseEnemyHandSize()
{
// mainCam.GetComponent<P1DeckController>().FoeDrawCard();
string drawnCardName = mainCam.GetComponent<P2DeckController>().p2Deck[0];
mainCam.GetComponent<P2DeckController>().p2Deck.RemoveAt(0);
mainCam.GetComponent<P2DeckController>().SpawnCard(drawnCardName);
mainCam.GetComponent<P2DeckController>().drawnCard.transform.parent = mainCam.GetComponent<GameVars>().p2Hand.transform;
mainCam.GetComponent<P2DeckController>().drawnCard.GetComponent<CardStats>().faceUp = false;
}