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 } } }
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; } }