public void directFlightButtonClicked() { driveButton.GetComponent <Button>().interactable = false; directFlightButton.GetComponent <Button>().interactable = false; charterFlightButton.GetComponent <Button>().interactable = false; shuttleFlightButton.GetComponent <Button>().interactable = false; currentPlayer = game.getCurrentPlayer(); City currentCity = playerToMove.getPlayerPawn().getCity(); List <PlayerCard> cards = currentPlayer.getHand(); foreach (PlayerCard card in cards) { if (card.getType() == CardType.CityCard) { CityCard aCard = (CityCard)card; City city = aCard.getCity(); if (city != currentCity) { city.displayButton(); } } } moveStatus = Status.DIRECTFLIGHT; }
public void initializePlayerDeck() { aPlayerDeck.Clear(); List <GameObject> CityMap = GameObject.Find("CityHub").GetComponent <CityHub> ().CityNodeList; for (int i = 0; i < CityMap.Count; i++) { aPlayerDeck.Add(CityCard.get(CityMap [i])); } //TODO Add EventCards //Shuffling for (int i = 0; i < aPlayerDeck.Count; i++) { GameObject temp = aPlayerDeck[i]; int randomIndex = Random.Range(i, aPlayerDeck.Count); aPlayerDeck[i] = aPlayerDeck[randomIndex]; aPlayerDeck[randomIndex] = temp; } //Add Epidemic Card int x = aPlayerDeck.Count / EpidemicCard.numberOfEC(); for (int i = 0; i < EpidemicCard.numberOfEC(); i++) { int y = Random.Range(i * x, (i + 1) * x); aPlayerDeck.Insert(y + i, EpidemicCard.get(i)); } }
void SignalReceiveKnowledge(int senderNumber, int receiverNumber, CityCard cc) { Debug.Log("Receiving the notification: " + LevelManager.instance.players[receiverNumber].aPlayerName); if (PhotonNetwork.player.ID - 1 == receiverNumber) { GameEngine clientBoard = GameObject.FindGameObjectWithTag("GameEngine").GetComponent <GameEngine>(); clientBoard.uiManager.receiveKnowledgePlayerPanel.waiting.gameObject.SetActive(false); clientBoard.uiManager.receiveKnowledgePlayerPanel.OpenRespond(clientBoard.players[senderNumber], cc); } }
public IEnumerator onCharterFlight(int senderPlayer, CityNode dest, CityCard cc) { CityCard[] ccs = new CityCard[1]; ccs[0] = cc; GetComponent <PhotonView>().RPC("discardFromPlayerHand", PhotonTargets.All, new object[] { senderPlayer, ccs }); GetComponent <PhotonView>().RPC("MoveSelfPawn", PhotonTargets.All, new object[] { senderPlayer, dest }); currentActionsRemaining -= 1; while (EventTransferManager.instance.waitingForPlayer) { yield return(new WaitForEndOfFrame()); } }
public IEnumerator onBuildResearchStation(int senderPlayer, CityCard cc) { GameObject c = cc.getCityNode(); GetComponent <PhotonView>().RPC("discardFromPlayerHand", PhotonTargets.All, new object[] { senderPlayer, cc }); GetComponent <PhotonView>().RPC("BuildResearchStation", PhotonTargets.All, new object[] { c }); currentActionsRemaining -= 1; numResearchStations += 1; while (EventTransferManager.instance.waitingForPlayer) { yield return(new WaitForEndOfFrame()); } }
public CityCard getCard(City c) { foreach (PlayerCard card in handCard) { if (card.getType() == CardType.CityCard) { CityCard aCard = (CityCard)card; if (aCard.getCity() == c) { return(aCard); } } } return(null); }
public bool containsSpecificCityCard(City c) { foreach (PlayerCard card in handCard) { if (card.getType() == CardType.CityCard) { CityCard aCityCard = (CityCard)card; if (aCityCard.getCity() == c) { return(true); } } } return(false); }
//初始化玩家牌堆 public void InitplayerCardList() { //初始化48张城市卡到playercardlist里 GameObject[] citys = GameObject.FindGameObjectsWithTag("City"); List <GameObject> cityCardsList = new List <GameObject>(citys); toolHelper.Shuffle(cityCardsList); int i = 0; for (i = 0; i < 48; i++) { CityCard cityCard = new CityCard(cityCardsList[i].GetComponent <City>().name.text); playerCardList.Add(cityCard); } //初始化x张事件卡到playercardlist里根据是否玩otb版本 //普通版的5张 GameObject[] eventCards = GameObject.FindGameObjectsWithTag("EventCard"); List <GameObject> eventCardsList = new List <GameObject>(eventCards); if (GameSetting.instance.chanllenges == Chanllenge.NULL) { for (int j = 0; j < 5; j++) { EventCard eventCard = new EventCard(eventCards[j].name); playerCardList.Add(eventCard); } } //OTB规定事件 实际事件卡数量为玩家数*2 else { int NoPlayers = GameSetting.instance.noPlayers; GameObject[] eventCardsOTBarr = GameObject.FindGameObjectsWithTag("EventCardOTB"); //获取八张OTB事件卡array List <GameObject> eventCardsOTBlist = new List <GameObject>(eventCardsOTBarr); //获取八张OTB事件卡list eventCardsOTBlist.AddRange(eventCardsList); //获取共13张 toolHelper.Shuffle(eventCardsOTBlist); //洗牌 for (int j = 0; j < NoPlayers * 2; j++) { EventCard eventCardOTB = new EventCard(eventCardsOTBlist[j].name); // Debug.Log(eventCardOTB.eventCardName); playerCardList.Add(eventCardOTB); } } //初始化流行病卡 if (GameSetting.instance.chanllenges == Chanllenge.NULL) { } }
public IEnumerator receiveOffer(int senderNumber, int receiverNumber, CityCard cc) { Debug.Log("Sending offer to: " + LevelManager.instance.players[receiverNumber].aPlayerName); GetComponent <PhotonView>().RPC("SignalReceiveKnowledge", PhotonTargets.All, new object[] { senderNumber, receiverNumber, cc }); int[] waitingForPlayer = new int[1]; waitingForPlayer[0] = receiverNumber; onWaitForPlayers(waitingForPlayer); for (int i = 0; i < playerChecks.Length; i++) { Debug.Log("playerChecks[" + i + "] = " + playerChecks[i]); } while (EventTransferManager.instance.waitingForPlayers) { Debug.Log("Waiting..."); CheckIfPlayersReady(); yield return(new WaitForEndOfFrame()); } }
public void onReexaminedResearch(Player target, CityCard cc) //NOT OK { }
public void dummyGet() { CityCard.get(CityNodeList [4]); }
public void dummyInitialize() { CityCard.initialize(CityNodeList); InfectionCard.initialize(CityNodeList); EpidemicCard.initialize(3); }
public void onReceiveKnowledgeOffer(CityCard cc, int senderNumber, int receiverNumber) { Debug.Log(LevelManager.instance.players[receiverNumber].aPlayerName + " want to receive the " + cc.name + " card from " + LevelManager.instance.players[senderNumber].aPlayerName); StartCoroutine(receiveOffer(senderNumber, receiverNumber, cc)); }
public ShareKnowledgeItem(Player giver, Player taker, CityCard cityCard) { Giver = giver; Taker = taker; CityCard = cityCard; }
public ResearchStationConstructionItem(CityCard cityCard, Node constructionNode, Node deconstructionNode) { DeconstructionNode = deconstructionNode; ConstructionNode = constructionNode; CityCard = cityCard; }
public GameData(Game game) { challenge = game.getChallenge(); currentGamePhase = game.getCurrentPhase(); currentPlayerRoleKind = game.getCurrentPlayer().getRoleKind(); infectionRateIndex = game.getInfectionIndex(); outBreakRate = game.getOutbreakRate(); remainingResearch = game.getRemainingResearch(); seed = game.seed; BioTerroristVolunteer = game.BioTerroristVolunteer; currentPlayerIndex = game.currentPlayerIndex; difficulity = game.nEpidemicCard; playerCardDeck = game.getPlayerCardDeckString(); playerDiscardPile = game.getPlayerDiscardPileString(); infectionCardDeck = game.getInfectionDeckString(); infectionDiscardPile = game.getInfectionDiscardPileString(); allHandCards = game.getAllHandCards(); EpidemicCardIntList = EpidemicCard.getEpidemicCard().getIntList(); foreach (City city in game.getCities()) { CityInfo cityInfo = new CityInfo(city); CityInfoList.Add(cityInfo); } foreach (KeyValuePair <Color, Disease> entry in game.getDiseases()) { diseaseInfoList.Add(new DiseaseInfo(entry.Value)); } foreach (Player player in game.getPlayers()) { PlayerCardList playerHand = new PlayerCardList(); mobileHospitalActivated.Add(player.getMobileHospitalActivated()); if (player.getRoleKind() == RoleKind.ContingencyPlanner && player.getEventCardOnTopOfRoleCard() != null) { eventCardOnTopOfRoleCard = player.getEventCardOnTopOfRoleCard().getName(); } if (player.getRoleKind() == RoleKind.FieldOperative) { FOcubes = player.getAllCubes(); } hasCommercialTravelBanInfrontOfPlayer.Add(player.hasEventCardInFront()); //CommercialTravelBanTurn.Add (player.getCommercialTravelBanTurn()); roleKindList.Add(player.getRoleKind()); foreach (PlayerCard pc in player.getHand()) { if (pc.getType().Equals(CardType.CityCard)) { CityCard cityCard = (CityCard)pc; playerHand.playerHand.Add(cityCard.getName()); //Debug.Log ("City Card: " + cityCard.getName()); } else if (pc.getType().Equals(CardType.EventCard)) { EventCard eventCard = (EventCard)pc; playerHand.playerHand.Add(eventCard.getName()); //Debug.Log ("Event Card: " + eventCard.getEventKind()); } else { InfectionCard infectionCard = (InfectionCard)pc; playerHand.playerHand.Add((infectionCard.getName())); //Debug.Log ("Event Card: " + infectionCard.getName()); } } playerCardList.Add(playerHand); } }
public void onResilientPopulation(CityCard cc) { }
public void onEpidemiologistReceiveKnowledge(CityCard cc, Player sender) { }
public CharterFlightItem(CityCard cityCard, Node node) { CityCard = cityCard; Node = node; }
public void takeCard(Player p1, Player p2, CityCard card) { displayRecord(p1.getRoleKind().ToString() + " took the City Card: " + card.getCity().getCityName().ToString() + " from " + p2.getRoleKind().ToString()); }
public DirectFlightItem(CityCard cityCard) { CityCard = cityCard; }
public void giveCard(Player p1, Player p2, CityCard card) { displayRecord(p1.getRoleKind().ToString() + " gave the City Card: " + card.getCity().getCityName().ToString() + " to " + p2.getRoleKind().ToString()); }