using UnityEngine; public class OnWallTriggerEnter : MonoBehaviour { public SpriteRenderer floorSprite; public GameObject secretArea; private DeathWall dWall; public GameObject siblingWall; private SoundManager soundMgr; public bool entranceTrigger; private float timeSinceAreaOpened = 0.0f; public float timeToWait; private bool secretExited = false; private void Start() { dWall = ObjectManager.GetObject(2).GetComponent<DeathWall>(); soundMgr = ObjectManager.GetObject(4).GetComponent<SoundManager>(); if (!entranceTrigger) GetComponent<BoxCollider2D>().enabled = false; } private void Update() { if (!secretExited) { if (secretArea.activeSelf && !entranceTrigger) { timeSinceAreaOpened += Time.deltaTime; if (timeSinceAreaOpened >= timeToWait) { GetComponent<BoxCollider2D>().enabled = true; secretExited = true; } } } } private void OnTriggerEnter2D(Collider2D collision) { if (entranceTrigger) { floorSprite.enabled = true; secretArea.SetActive(true); dWall.SetDisabledState(true); soundMgr.PlayMusicTrack(38); Color currentColor = GetComponent<SpriteRenderer>().color; GetComponent<SpriteRenderer>().color = new Color(currentColor.r, currentColor.g, currentColor.b, 0.2f); } else { floorSprite.enabled = false; secretArea.SetActive(false); dWall.SetDisabledState(false); Color currentColor = siblingWall.GetComponent<SpriteRenderer>().color; siblingWall.GetComponent<SpriteRenderer>().color = new Color(currentColor.r, currentColor.g, currentColor.b, 1f); siblingWall.GetComponent<BoxCollider2D>().isTrigger = false; } } }