public void StartMatch() { ResourcesManager rm = gm.resourcesManager; if (NetworkManager.isMaster) { List <int> playerId = new List <int>(); List <int> cardInstId = new List <int>(); List <string> cardName = new List <string>(); foreach (NetworkPrint p in players) { foreach (string id in p.GetStartingCardsIDs()) { Card card = rm.GetCardInstance(id); playerId.Add(p.photonID); cardInstId.Add(card.instID); cardName.Add(id); if (p.isLocal) { p.playerHolder = gm.localPlayer; p.playerHolder.photonId = p.photonID; } else { p.playerHolder = gm.clientPlayer; p.playerHolder.photonId = p.photonID; } } } for (int i = 0; i < playerId.Count; i++) { photonView.RPC("RPC_PlayerCreatesCard", PhotonTargets.All, playerId[i], cardInstId[i], cardName[i]); } photonView.RPC("RPC_InitGame", PhotonTargets.All, 1); photonView.RPC("RPC_SetPhaseToPlayer", PhotonTargets.All, 1, turnsHolder.phaseOrder[phaseIndex]); } else { foreach (NetworkPrint p in players) { if (p.isLocal) { p.playerHolder = gm.localPlayer; p.playerHolder.photonId = p.photonID; } else { p.playerHolder = gm.clientPlayer; p.playerHolder.photonId = p.photonID; } } } }
Card CreateCardsMaster(string cardID) { Card card = rm.GetCardInstance(cardID); card.instID = CardInstIDs; CardInstIDs++; return(card); }