I'm trying to make it possible to close and open door while player is colliding with door opener. But it just do both - opens and closes by pressing E key. What seems to be the problem?
{
bool DoorTriggered = false;
bool DoorClosed = true;
[SerializeField] private DoorOpener door;
private void Update()
{
if (Input.GetKeyDown(KeyCode.E) && DoorTriggered && DoorClosed)
{
door.OpenDoor();
DoorClosed = false;
}
if (Input.GetKeyDown(KeyCode.E) && DoorTriggered && !DoorClosed)
{
door.CloseDoor();
DoorClosed = true;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.TryGetComponent(out PlayerScript _player))
{
DoorTriggered = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.TryGetComponent(out PlayerScript _player))
{
DoorTriggered = false;
}
}
}