void UpdateRedSlicersVisibility(Slicer.SLICER_POSITION visibleBluePosition) { // 현재 보이고 있는 blue slicer에 대응하는 red slicer를 보이게 한다 Slicer.SLICER_POSITION visibleRedPosition = Slicer.SLICER_POSITION.MAX; switch (visibleBluePosition) { case Slicer.SLICER_POSITION.BACK_LEFT: visibleRedPosition = Slicer.SLICER_POSITION.FRONT_RIGHT; break; case Slicer.SLICER_POSITION.BACK_RIGHT: visibleRedPosition = Slicer.SLICER_POSITION.FRONT_LEFT; break; case Slicer.SLICER_POSITION.FRONT_LEFT: visibleRedPosition = Slicer.SLICER_POSITION.BACK_RIGHT; break; case Slicer.SLICER_POSITION.FRONT_RIGHT: visibleRedPosition = Slicer.SLICER_POSITION.BACK_LEFT; break; } foreach (Slicer slicer in redSlicers) { slicer.gameObject.SetActive(false); if (slicer.slicerPosition == visibleRedPosition) { slicer.gameObject.SetActive(true); } } }
public void UpdateBlueSlicersVisibility(CameraRotationManager.CAMERA_LOCATION currentCameraLoaction) { _currentCameraLoaction = currentCameraLoaction; if (isPuzzleSliced) { return; } // 카메라가 바라보는 위치에 따라 어떤 blue slicer를 보이게 할 것인지 결정 Slicer.SLICER_POSITION visibleBluePosition = Slicer.SLICER_POSITION.MAX; switch (currentCameraLoaction) { case CameraRotationManager.CAMERA_LOCATION.BACK_LEFT: visibleBluePosition = Slicer.SLICER_POSITION.BACK_RIGHT; break; case CameraRotationManager.CAMERA_LOCATION.BACK_RIGHT: visibleBluePosition = Slicer.SLICER_POSITION.BACK_LEFT; break; case CameraRotationManager.CAMERA_LOCATION.FRONT_LEFT: visibleBluePosition = Slicer.SLICER_POSITION.FRONT_RIGHT; break; case CameraRotationManager.CAMERA_LOCATION.FRONT_RIGHT: visibleBluePosition = Slicer.SLICER_POSITION.FRONT_LEFT; break; } // 적절한 blue slicer 하나만 보이게 하고 나머지는 다 숨긴다 foreach (Slicer slicer in blueSlicers) { slicer.gameObject.SetActive(false); if (slicer.slicerPosition == visibleBluePosition) { slicer.gameObject.SetActive(true); } } UpdateRedSlicersVisibility(visibleBluePosition); }