public void CheckForBankrupt(NetworkPlayer player) { bool haveNotBlockedStreets = false; List <int> paths = _dBwork.GetMyPathes(player.IdPlayer); foreach (int path in paths) { if (!_dBwork.GetPathForBuy(path).IsBlocked) { haveNotBlockedStreets = true; break; } } if (haveNotBlockedStreets) { StartCoroutine(Bankrupting()); } // else // { // player.IsBankrupt = true; // } }
//открыть окно торговли с этим игроком public void onButtonClickTrade(int idPlayerSecond) { //открываем меню торговли ChangeMenu(4); //обновляем ссылку на дбворк _dBwork = getDbWork(); //создаем список товаров на продажу NetworkTrade.CreateListThings(getCurrentPlayer(), _dBwork.GetPlayerbyId(idPlayerSecond)); //вешаем скрипт на кнопку подтверждения предложения ApplyTrade.onClick.AddListener(() => NetworkTrade.TradeApply(getCurrentPlayer(), _dBwork.GetPlayerbyId(idPlayerSecond), this, moneyFirstPlayer, moneySecondPlayer)); //назначаем имя первого игрока firstPlayer.GetComponentInChildren <Text>().text = getCurrentPlayer().NickName; //узнаем улицы первого игрока List <int> pathsFirstPlayer = _dBwork.GetMyPathes(getCurrentPlayer().IdPlayer); //если торгуем с другим игроком if (idPlayerSecond != getCurrentPlayer().IdPlayer) { //назначаем имя второго игрока secondPlayer.GetComponentInChildren <Text>().text = _dBwork.GetPlayerbyId(idPlayerSecond).NickName; //собираем список улиц первого игрока в первом скроле foreach (var path in pathsFirstPlayer) { //если улица заложена, то она не отображается доступной к продаже if (_dBwork.GetPathForBuy(path).IsBlocked) { continue; } GameObject prefButton = Instantiate(prefButStreetForTrade); prefButton.GetComponentInChildren <Text>().text = _dBwork.GetPathById(path).namePath; prefButton.GetComponent <RectTransform>().SetParent(scrollFirstPlayerStreets.content, false); prefButton.GetComponent <Button>().onClick .AddListener(() => onButtonAddOrDeleteOfferStreet(prefButton, getCurrentPlayer(), _dBwork.GetPlayerbyId(idPlayerSecond), path)); } //создаем список улиц второго игрока List <int> pathsSecondPlayer = _dBwork.GetMyPathes(idPlayerSecond); //собираем список улиц второго игрока во втором скроле foreach (var path in pathsSecondPlayer) { //если улица заложена, то она не отображается доступной к продаже if (_dBwork.GetPathForBuy(path).IsBlocked) { continue; } GameObject prefButton = Instantiate(prefButStreetForTrade); prefButton.GetComponentInChildren <Text>().text = _dBwork.GetPathById(path).namePath; prefButton.GetComponent <RectTransform>().SetParent(scrollSecondPlayerStreets.content, false); prefButton.GetComponent <Button>().onClick .AddListener(() => onButtonAddOrDeleteOfferStreet(prefButton, getCurrentPlayer(), _dBwork.GetPlayerbyId(idPlayerSecond), path)); } //отражаем максимальное количество денег первого игрока sliderMoneyFirst.maxValue = getCurrentPlayer().Money; //включаем слайдер первого игрока sliderMoneyFirst.gameObject.SetActive(true); //отражаем максимальное количество денег второго игрока sliderMoneySecond.maxValue = _dBwork.GetPlayerbyId(idPlayerSecond).Money; //включаем слайдер второго игрока sliderMoneySecond.gameObject.SetActive(true); //разрешаем заполнение игроком полей денег InputFieldMoneyFirst.gameObject.GetComponent <CanvasGroup>().interactable = true; InputFieldMoneySecond.gameObject.GetComponent <CanvasGroup>().interactable = true; } //если открыли меню закладывания улиц else { //назначаем город вторым участником обмена secondPlayer.GetComponentInChildren <Text>().text = "Город"; //Выключаем слайдеры sliderMoneyFirst.gameObject.SetActive(false); sliderMoneySecond.gameObject.SetActive(false); //запрещаем заполнение игроком полей денег InputFieldMoneyFirst.gameObject.GetComponent <CanvasGroup>().interactable = false; InputFieldMoneySecond.gameObject.GetComponent <CanvasGroup>().interactable = false; //раскидываем улицы по скролам в зависимости от того заложены они или нет foreach (var path in pathsFirstPlayer) { GameObject prefButton = Instantiate(prefButStreetForTrade); prefButton.GetComponentInChildren <Text>().text = _dBwork.GetPathById(path).namePath; if (_dBwork.GetPathForBuy(path).IsBlocked) { prefButton.GetComponent <RectTransform>().SetParent(scrollSecondPlayerStreets.content, false); } else { prefButton.GetComponent <RectTransform>().SetParent(scrollFirstPlayerStreets.content, false); } prefButton.GetComponent <Button>().onClick .AddListener(() => onButtonAddOrDeleteOfferStreet(prefButton, getCurrentPlayer(), getCurrentPlayer(), path)); } } }