Undo
-
[UE5] 노노그램에 Undo, Redo 기능 추가언리얼엔진/노노그램 2023. 10. 11. 17:53
퍼즐을 푸는 중에 실수를 해서 칸을 잘못 채우는 경우가 종종 발생한다.의도치 않게 칸이 채워진 것이라 어떻게 했는지 기억이 나지 않는 경우도 있다.그럴때 Undo 기능이 유용하게 사용된다.그리고 Undo가 있으면 Redo도 빠질 수 없다. Undo 기능은 간단하게 더블 링크드 리스트로 구현했다.링크드 리스트의 각 노드들은 퍼즐이 어떻게 변했는지에 대한 정보를 가지게 된다.어느 칸들이(좌표) 어느 상태에서(From) 어느 상태로(To) 변했는지를 기억한다. 변경된 상태들을 저장하는 구조체를 하나 추가한다.// PlayLog structstruct FPlayLog{ ECellState From; ECellState To; TArray Cells; FPlayLog() { ..