void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player" && active) { levelCompletePS.Fire(transform.position); active = false; gameObject.SetActive(false); } }
void OnTriggerEnter2D(Collider2D other) { if (Application.loadedLevelName == "LevelTesting" || Application.loadedLevelName == "GraphicsTesting" || Application.loadedLevelName == "Aesthetics") { if (other.gameObject.tag == "Wall" || other.gameObject.tag == "Frame") { Application.LoadLevel(Application.loadedLevel); } if (other.gameObject.tag == "End") { Application.LoadLevel(Application.loadedLevel); Debug.Log("Did It!"); } } else { if (other.gameObject.tag == "Wall" || other.gameObject.tag == "Frame") { // LoadLevel.StopTimer(); Messenger.Broadcast("LevelOver"); Messenger.Broadcast("Failure"); GameStates.ChangeState("Transition", "Bad"); // modify intensity and shake duration based on playerSpeed MinMax playerSpeedValues = new MinMax(1, 16); MinMax intensityValues = new MinMax(0.05f, 0.16f); MinMax durationValues = new MinMax(0.05f, 0.12f); float l = Mathf.InverseLerp(playerSpeedValues.min, playerSpeedValues.max, speedL); float shakeIntensity = Mathf.Lerp(intensityValues.min, intensityValues.max, l); float shakeDuration = Mathf.Lerp(durationValues.min, durationValues.max, l); Messenger <float, float> .Broadcast("screenshake", shakeIntensity, shakeDuration); // Messenger<float, float>.Broadcast("screenshake", 0.08f, 0.03f); Messenger <PlayerControl> .Broadcast("SetPlayer", this); // Testing new thing - trying to make it recognise which player hit a wall Messenger <TransitionReason> .Broadcast("Transition", TransitionReason.levelFailure); Transform endPoint = GameObject.Find("EndPoint").transform; float distance = Vector2.Distance(transform.position, endPoint.position); float convertedDistance = distance - (transform.localScale.x / 2) - (endPoint.localScale.x / 2); // Debug.Log("Distance " + distance + " Converted Distance " + convertedDistance); Messenger <bool> .Broadcast("CloseCall", convertedDistance < 0.4f); // TRYING NEW THINGS // gameObject.SetActive(false); // graphicsGO.SetActive(false); // gameObject.GetComponent<Collider2D>().enabled = false; } if (other.gameObject.tag == "End") { // LoadLevel.StopTimer(); Messenger.Broadcast("LevelOver"); Messenger.Broadcast("Success"); GameStates.ChangeState("Transition", "Good"); // Messenger<float, float>.Broadcast("screenshake", 0.04f, 0.75f); Messenger <float> .Broadcast("StartConstantShake", 0.04f); Messenger <TransitionReason> .Broadcast("Transition", TransitionReason.levelSuccess); Vector2 collisionPoint = other.gameObject.GetComponent <Collider2D>().bounds.ClosestPoint(transform.position); if (GameObject.Find("LevelCamera") != null) { Camera cam = GameObject.Find("LevelCamera").GetComponent <Camera>(); collisionPoint = cam.WorldToViewportPoint(collisionPoint); collisionPoint = Camera.main.ViewportToWorldPoint(collisionPoint); } levelCompletePS.Fire(collisionPoint); // TRYING NEW THINGS // gameObject.SetActive(false); // graphicsGO.SetActive(false); // gameObject.GetComponent<Collider2D>().enabled = false; } } }