The third large-scale refactoring is underway.
‘PartsBehavior’ class that controls the behavior of puzzle parts. This base class is inherited and customized for each puzzle, but since there is similar customization, we decided to incorporate it in the base class.
One of change is the behavior as a group, such as replacement of parts and follow-up.
The other change is related to puzzles that deal with multiple perspectives.
In the past, it was controlled individually by ‘PartsBehavior’ of puzzle parts, but since there are many common items and it is not the behavior of parts originally, it was decided to incorporate the processing from ‘PartsBehavior’ into ‘PuzzleManager’.