카드 게임을 만들고 있는데 이벤트 처리를 어떻게 하면 깔끔하게 작성할 수 있을지 궁금합니다. 

카드를 선택 > 사용 가능한 필드 선택 > 해당 카드를 필드에 소환 


7ff3c028e2f206a26d81f6e04583776c10

예시로 마스터 듀얼(유희왕) 게임인데 이렇게 카드를 선택하고 


7cf3c028e2f206a26d81f6ed4586726dd2

이렇게 낼 수 있는 필드가 선택되고, 이 필드를 선택하면 카드가 내지는 걸 구현하고 싶습니다 


그래서 PlacementTest / GridSystem / GridCell 이라는 클래스를 작성했습니다. 


그리고 아래 순서대로 

1. PlacementTest에서 Action Invoke 

2. GridSystem에서 이를 받고 GridCell에게 이벤트를 생성  

3. GridCell이 클릭되면 GridSystem으로 callback

4. 이를 다시 PlacementTest로 callback 후 카드 소환 

와 같이 생각하고 있는데 이렇게 진행해도 괜찮을까요?


여러분이라면 어떻게 코드 작성하실지 궁금해서 글 올려봅니다.