우선 Wolrd, Stage, Round가 있습니다.
World당 stage는 3개, stage당 round는 2개 존재해야 합니다.
MapManager는 World가 담긴 Queue하나
World는 Stage가 담긴 Queue하나
Stage는 Round가 담긴 Queue하나를 가지고 있습니다.
맵은 MapManager가 원하는 만큼 World를 만들어 Queue에 담습니다.
그럼 World는 자체적으로 생성자에서 Stage를 만들어 자신의 Queue에 담고
Stage도 마찬가지 입니다.
맵이 만들어지면
MapManager가 가지고 있는 worldQueue에 World가 2개
World가 가지고 있는 stageQueue에는 Stage가 3개
Stager가 가지고 잇는 roundQueue에는 Round가 2개
들어가게 되겠죠.
이후 관리는 만약 World가 클리어 되어서 넘어가야 한다면 MapManager에서 currentMapInfo(currentWorld, currentStage, currentRound 정보를 가지고 있음)의 currentWorld에 worldQueue의 요소 하나를 꺼내어 집어넣고
이후 currentStage는 currentWolrd의 stageQueue 요소 하나, currentRound는 currentStage의 roundQueue 요소 하나를 꺼내어 넣습니다.
Round가 클리어 되어서 넘어가야 한다면 currentStage의 roundQueue 요소 하나를 꺼내어 currentRound에 넣는 거죠.
이 글의 요지는 이런 식으로 생성하고 관리하는게 효율이 괜찮냐 나쁘냐를 여쭤보고 싶은겁니다.
특히 World안에 stageQueue, Stage안에 roundQueue 이런 식으로 굉장히 결합도가 높아서 괜찮은건지 모르겠네요.
맵 만들때도 자체적으로 만들다보니 의존성도 높아보이고..
다듬을 필요가 있을까요?
댓글 0