Exemple #1
0
    void OnTriggerEnter(Collider other)
    {
        if (other.tag.Equals("Player"))
        {
            bool isAllowedToWalk = false;

            PlayerController pc = other.GetComponent <PlayerController>();
            MovementAllowed  allowedDirectionsContainer = pc.getAllowedDirections();
            try
            {
                Movement[] allowedDirections = allowedDirectionsContainer.getAllowedDirections();
                for (int i = 0; i < allowedDirections.Length; i++)
                {
                    if (allowedDirections[i].Equals(location))
                    {
                        isAllowedToWalk = true;
                    }
                }
                if (!isAllowedToWalk)
                {
                    pc.kill();
                }
            }
            catch (System.NullReferenceException ex)
            {
                // First round does not have colliders
            }
        }
    }
Exemple #2
0
    public static void AllowMovement(MovementAllowed movement)
    {
        switch (movement)
        {
        case MovementAllowed.Yes:
            movementAllowed = true;
            break;

        case MovementAllowed.No:
            movementAllowed = false;
            break;
        }
    }
    void Start()
    {
        playerBody      = GetComponent <Rigidbody>();
        playerTransform = GetComponent <Transform>();
        startPosition   = playerTransform.position;
        score           = 0;

        allowedDirections    = MovementLimits.getRandomRestriction();
        instructionText.text = allowedDirections.getTitle().ToUpper();

        currentMaxTime        = maxTimeLevel1;
        timeInSeconds         = currentMaxTime;
        countdownSlider.value = 1;
    }
    void respawnPlayer()
    {
        if (isLiving)
        {
            allowedDirections    = MovementLimits.getRandomRestriction();
            instructionText.text = allowedDirections.getTitle().ToUpper();

            playerBody.velocity        = Vector3.zero;
            playerBody.angularVelocity = Vector3.zero;
            playerTransform.position   = startPosition;
            isMoving = false;

            score++;
            scoreText.text = score.ToString("D2");

            if (score > 20)
            {
                currentMaxTime = maxTimeLevel5;
            }
            else if (score > 15)
            {
                currentMaxTime = maxTimeLevel4;
            }
            else if (score > 10)
            {
                currentMaxTime = maxTimeLevel3;
            }
            else if (score > 5)
            {
                currentMaxTime = maxTimeLevel2;
            }
            else
            {
                currentMaxTime = maxTimeLevel1;
            }

            timeInSeconds = currentMaxTime;

            countdownSlider.value = 1;
        }
    }