Rigidbody를 받다보면, 충돌 처리는 OnCollision 이나 OnTrigger을 사용하면 된다는 점은 알것이다. 하지만 오늘은 다음과 같은 상황이 생겼다.
Player에게 Collision이 된 Trigger가 된 Area가 있다면 그 Area의 메서드를 실행한다. 자 그럼 플레이어에서 호출할 함수가 있는 Area는 무엇인가?
자 그러면 Player내부에서 Collide된것을 찾아야 한다는 것이다. 그럼 어떻게 처리를 할지 생각해 보았다.
그래서 다음과 같은 방식을 사용하였다.
Player내부에 Area를 만들어주고, 이 Area가 null이 아니라면 function을 실행한다.
반면 Area내부에서는 OnTriggerEnter에서 Playertag를 확인하고, 그렇다면 Area에 해당값을 넣어준다. 반대로 OnTriggerExit은 해당 Area를 null로 바꿔주면 된다.
생각보다 간단한건데 이제보니 너무 복잡하게 구현을 한거 같다. 생각하고 돌아가다보면 금방 될 것 같다.