public void SelectManipulationCard(int number) { selectedManipulationCard = players[currentPlayer].avlManipulationCards[number]; if (players[currentPlayer].avlManipulationCards[number].getCardName() == ManipulationCard.ManipulationCardName.KolegaWKomitecie) { players[currentPlayer].avlManipulationCards[number].PlayCard(); } }
public void PlayManipulationCard() { playedManipulationCard = selectedManipulationCard; isManipulationCardPlayed = true; if (playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.KolegaWKomitecie) { //pokaż na 3 sekundy 2 pierwsze karty dostaw } }
public void FoldManipulationCard() { if (phase == Phase.Manipulations) { selectedManipulationCard = null; playedManipulationCard = null; isManipulationCardPlayed = false; players[currentPlayer].ToFold(); EndOfTurn(); } }
public void GetNextPlayer() { isPawnSelected = false; isManipulationCardPlayed = false; selectedManipulationCard = null; currentPlayer = (currentPlayer + 1) % numberOfPlayers; uiManager.UpdatePlayer(currentPlayer); uiManager.UpdateShoppingList(players[currentPlayer].shoppinglist.image); if (phase == Phase.Manipulations) { uiManager.UpdateManipulationCards(); } }
public void PlayManipulationCard(ManipulationCard manipulationCard) { //manipulationCard.PlayCard(); for (int i = 0; i < this.manipulationCards.Count; i++) //usuwanie karty z listy { if ((int)this.manipulationCards[i].getCardName() == (int)manipulationCard.getCardName()) { this.manipulationCards.RemoveAt(i); } } for (int i = 0; i < this.avlManipulationCards.Count; i++) //usuwanie karty z dostępnej trójki { if ((int)this.avlManipulationCards[i].getCardName() == (int)manipulationCard.getCardName()) { this.avlManipulationCards.RemoveAt(i); } } }
public void SelectPawn(string pawnName, Player pawnPlayer) { int pawnNumber = 0; bool isVendor = false; int[] tmpPawn = new int[2]; if (pawnName == "Pawn 0") { pawnNumber = 0; } else if (pawnName == "Pawn 1") { pawnNumber = 1; } else if (pawnName == "Pawn 2") { pawnNumber = 2; } else if (pawnName == "Pawn 3") { pawnNumber = 3; } else if (pawnName == "Pawn 4") { pawnNumber = 4; } else { isVendor = true; if (pawnName == "Newsstand Vendor") { pawnNumber = 0; } else if (pawnName == "Grocery Vendor") { pawnNumber = 1; } else if (pawnName == "Electronic Vendor") { pawnNumber = 2; } else if (pawnName == "Furniture Vendor") { pawnNumber = 3; } else if (pawnName == "Clothing Vendor") { pawnNumber = 4; } } if (isVendor) { tmpPawn[0] = 9; tmpPawn[1] = pawnNumber; } else { tmpPawn[0] = pawnPlayer.numberOfPlayer; } tmpPawn[1] = pawnNumber; if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.KrytykaWladzy) { int tmpQue = 0; int tmpField = 0; for (int i = 0; i < 5; i++) { int j = 0; foreach (int[] pawn in pawnOwners[i]) { if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber) { tmpQue = i; tmpField = j; } j++; } } List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue]; List <int[]> tmpQueueList = new List <int[]>(); foreach (int[] pawn in pawnOwners[tmpQue]) { tmpQueueList.Add(pawn); } pawnOwners[tmpQue].Clear(); int k = 0; foreach (int[] pawn in tmpQueueList) { if (k < tmpField) { pawnOwners[tmpQue].Add(pawn); } else { break; } k++; } for (; k < (tmpField + 2) && k < tmpQueueList.Count; k++) { pawnOwners[tmpQue].Add(tmpQueueList[k + 1]); int[] tmp = tmpQueueList[k + 1]; if (tmp[0] != 9) { MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]); } } pawnOwners[tmpQue].Add(tmpPawn); if (tmpPawn[0] != 9) { MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[k]); } for (k++; k < tmpQueueList.Count; k++) { pawnOwners[tmpQue].Add(tmpQueueList[k]); int[] tmp = tmpQueueList[k]; if (tmp[0] != 9) { MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]); } } players[currentPlayer].PlayManipulationCard(playedManipulationCard); selectedManipulationCard = null; playedManipulationCard = null; EndOfTurn(); } else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.MatkaZDzieckiem) { int tmpQue = 0; int tmpField = 0; for (int i = 0; i < 5; i++) { int j = 0; foreach (int[] pawn in pawnOwners[i]) { if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber) { tmpQue = i; tmpField = j; } j++; } } List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue]; List <int[]> tmpQueueList = new List <int[]>(); foreach (int[] pawn in pawnOwners[tmpQue]) { tmpQueueList.Add(pawn); } pawnOwners[tmpQue].Clear(); int k = 0; pawnOwners[tmpQue].Add(tmpPawn); if (tmpPawn[0] != 9) { MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[k]); } for (k++; k <= tmpField && k < tmpQueueList.Count; k++) { pawnOwners[tmpQue].Add(tmpQueueList[k - 1]); int[] tmp = tmpQueueList[k - 1]; if (tmp[0] != 9) { MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]); } } for (; k < tmpQueueList.Count; k++) { pawnOwners[tmpQue].Add(tmpQueueList[k]); int[] tmp = tmpQueueList[k]; if (tmp[0] != 9) { MovePawn(players[tmp[0]].pawns[tmp[1]], tmpFieldsQueue[k]); } else { MovePawn(blackPawns[tmp[1]], tmpFieldsQueue[k]); } } players[currentPlayer].PlayManipulationCard(playedManipulationCard); selectedManipulationCard = null; playedManipulationCard = null; EndOfTurn(); } else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.PanTuNieStal) { int tmpQue = 0; int tmpField = 0; for (int i = 0; i < 5; i++) { int j = 0; foreach (int[] pawn in pawnOwners[i]) { if (pawn[0] == pawnPlayer.numberOfPlayer && pawn[1] == pawnNumber) { tmpQue = i; tmpField = j; } j++; } } if (tmpField > 0) { List <int[]> tmpPawnQueue = pawnOwners[tmpQue]; int[] tmpCloserPawn = new int[2]; tmpCloserPawn = tmpPawnQueue[tmpField - 1]; List <GameObject> tmpFieldsQueue = fieldsDictionary[tmpQue]; if (isVendor) { if (tmpCloserPawn[0] == 9) { MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]); MovePawn(blackPawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]); } else { MovePawn(blackPawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]); MovePawn(players[tmpCloserPawn[0]].pawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]); } } else { if (tmpCloserPawn[0] == 9) { MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]); MovePawn(blackPawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]); } else { MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], tmpFieldsQueue[tmpField - 1]); MovePawn(players[tmpCloserPawn[0]].pawns[tmpCloserPawn[1]], tmpFieldsQueue[tmpField]); } } pawnOwners[tmpQue].RemoveAt(tmpField); pawnOwners[tmpQue].RemoveAt(tmpField - 1); pawnOwners[tmpQue].Insert(tmpField - 1, tmpPawn); pawnOwners[tmpQue].Insert(tmpField, tmpCloserPawn); players[currentPlayer].PlayManipulationCard(playedManipulationCard); selectedManipulationCard = null; playedManipulationCard = null; EndOfTurn(); } } else if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.SzczesliwyTraf) { selectedPawn = tmpPawn; selectedPawnPlayer = pawnPlayer; isPawnSelected = true; } }
public void SelectQueue(QueueManager queueManager) { string queue = queueManager.name; int tmpQue; if (queue == "Newsstand Queue") { tmpQue = 0; } else if (queue == "Grocery Queue") { tmpQue = 1; } else if (queue == "Electronic Queue") { tmpQue = 2; } else if (queue == "Furniture Queue") { tmpQue = 3; } else if (queue == "Clothing Queue") { tmpQue = 4; } else //if(myQueue.name == "Bazaar Queue") { tmpQue = 5; } if (isManipulationCardPlayed == true && playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.ListaSpoleczna) { List <int[]> tmpQueueList = new List <int[]>(); foreach (int[] pawn in pawnOwners[tmpQue]) { tmpQueueList.Add(pawn); } tmpQueueList.Reverse(); pawnOwners[tmpQue].Clear(); int i = 0; foreach (GameObject field in fieldsDictionary[tmpQue]) { int[] tmpPawn = tmpQueueList[i]; if (tmpPawn[0] != 9) { MovePawn(players[tmpPawn[0]].pawns[tmpPawn[1]], field); } else { MovePawn(blackPawns[tmpPawn[1]], field); } pawnOwners[tmpQue].Add(tmpPawn); i++; } players[currentPlayer].PlayManipulationCard(playedManipulationCard); selectedManipulationCard = null; playedManipulationCard = null; EndOfTurn(); } else if (playedManipulationCard.getCardName() == ManipulationCard.ManipulationCardName.SzczesliwyTraf && isPawnSelected == true) { int tmpPawnQue = 0; int tmpPawnField = 0; for (int i = 0; i < 5; i++) { int j = 0; foreach (int[] pawn in pawnOwners[i]) { if (pawn[0] == selectedPawnPlayer.numberOfPlayer && pawn[1] == selectedPawn[1]) { tmpPawnQue = i; tmpPawnField = j; } j++; } } //dodanie pionka do innej kolejki pawnOwners[tmpQue].Insert(1, selectedPawn); for (int i = 1; i < (pawnOwners[tmpQue].Count - 1); i++) { if (pawnOwners[tmpQue][i][0] == 9) { MovePawn(blackPawns[pawnOwners[tmpQue][i][1]], fieldsDictionary[tmpQue][i]); } else { MovePawn(players[pawnOwners[tmpQue][i][0]].pawns[pawnOwners[tmpQue][i][1]], fieldsDictionary[tmpQue][i]); } } GameObject freeField = queueManager.getFreeField(); if (freeField != null) { fieldsDictionary[tmpQue].Add(freeField); if (pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][0] == 9) { MovePawn(blackPawns[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][1]], fieldsDictionary[tmpQue][pawnOwners[tmpQue].Count - 1]); } else { MovePawn(players[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][0]].pawns[pawnOwners[tmpQue][pawnOwners[tmpQue].Count - 1][1]], fieldsDictionary[tmpQue][pawnOwners[tmpQue].Count - 1]); } } else { pawnOwners[tmpQue].RemoveAt(pawnOwners[tmpQue].Count - 1); } //usuniecie pionka pawnOwners[tmpPawnQue].RemoveAt(tmpPawnField); fieldsDictionary[tmpPawnQue].RemoveAt(fieldsDictionary[tmpPawnQue].Count - 1); for (int i = tmpPawnField; i < pawnOwners[tmpPawnQue].Count; i++) { if (pawnOwners[tmpPawnQue][i][0] == 9) { MovePawn(blackPawns[pawnOwners[tmpPawnQue][i][1]], fieldsDictionary[tmpPawnQue][i]); } else { MovePawn(players[pawnOwners[tmpPawnQue][i][0]].pawns[pawnOwners[tmpPawnQue][i][1]], fieldsDictionary[tmpPawnQue][i]); } } //koniec players[currentPlayer].PlayManipulationCard(playedManipulationCard); selectedManipulationCard = null; playedManipulationCard = null; EndOfTurn(); } }