//ожидание ответа от игрока, действительно ли он хочет сжульничать
    private IEnumerator Cheating()
    {
        NetworkGameController.aboutPlayer += "Игрок " + CurrentPlayer.NickName + " пытается смухлевать" + "\n";
        _gameCanvas.OpenWarningWindow(CurrentPlayer);
        yield return(new WaitWhile(() => _gameCanvas.warningWindow.activeInHierarchy));

        if (_gameCanvas.response)
        {
            if (Random.Range(0, 2) != 1)
            {
                NetworkGameController.aboutPlayer += "Игрок " + CurrentPlayer.NickName + " не попался \n";
            }
            else
            {
                NetworkGameController.aboutPlayer += "Игрок " + CurrentPlayer.NickName + " попался \n";
                cathedPlayer();
            }

            StartCoroutine(GoNextStep());
        }
        else
        {
            yield break;
        }
    }
Exemplo n.º 2
0
    //запуск корутины движения
    public virtual void move(NetworkStreetPath path)
    {
        if (StepsInJail == 0)
        {
            if (!isMoving && !corutine)
            {
                corutine = true;
                way      = _dbWork.GetWay(currentStreetPath.GetIdStreetPath(),
                                          path.GetIdStreetPath());
                if (currentSteps + way.Count > maxSteps && !isGonnaBeCathced && !alreadyCheat)
                {
                    NetworkGameController.aboutPlayer += "Игрок " + NickName + " пытается смухлевать" + "\n";
                    _gameCanvas.OpenWarningWindow(this);
                    isCheating = true;
                }

                _gameCanvas.OnOffSavedButtons();
                StartCoroutine(Go());
            }
        }
        else
        {
            _gameCanvas.ShowInfoAboutEvent("Вы заключены под стражу" + "\n" + "Осталось ходов: " + StepsInJail);
        }
    }