Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        if (!initialised)
        {
            return;
        }
        if (!climbStarted)
        {
            var remove = 0;
            foreach (var player in waitingForPlayers)
            {
                if (CheckInput(player))
                {
                    PositionPlayer(player);
                    remove = player;
                }
            }

            if (waitingForPlayers.Count == 0)
            {
                CheckMenuInput();
            }

            if (playerCount >= playersNeededToStart)
            {
                submit = Input.GetButton("Submit");
                if (submit)
                {
                    BeginClimb();
                    submit = false;
                    return;
                }
            }


            if (remove != 0)
            {
                waitingForPlayers.Remove(remove);
            }
        }
        else
        {
            CheckScore();
            if (heightReached >= wallManager.wallHeight * wallManager.wallCount - 30)
            {
                wallManager.AddWall();
            }
            if (heightReached >= rockManager.currentHeight * RockGenerator.rowSize - 20)
            {
                rockManager.GenerateRocks(5);
            }
            if (!CheckGameNotOver())
            {
                GameOver();
            }
        }
    }