esc(Cancel)로 건설모드 취소

This commit is contained in:
2026-02-04 13:39:53 +09:00
parent c74d6d2ebd
commit 47cd76aebc
2 changed files with 21 additions and 3 deletions

View File

@@ -148,12 +148,24 @@ namespace Northbound
private void OnCancel(InputAction.CallbackContext context) private void OnCancel(InputAction.CallbackContext context)
{ {
// 드래그 중일 때 취소 // 드래그 중일 때 드래그 취소
if (isDragging && isBuildModeActive) if (isDragging && isBuildModeActive)
{ {
CancelDrag(); CancelDrag();
Debug.Log("<color=yellow>[BuildingPlacement] 드래그 건설 취소됨</color>"); Debug.Log("<color=yellow>[BuildingPlacement] 드래그 건설 취소됨</color>");
} }
// 건설 모드 활성화 상태면 건설 모드 종료
else if (isBuildModeActive)
{
isBuildModeActive = false;
if (BuildingQuickslotUI.Instance != null)
{
BuildingQuickslotUI.Instance.HideQuickslot();
}
DestroyPreview();
ClearDragPreviews();
Debug.Log("<color=yellow>[BuildingPlacement] 건설 모드 취소됨</color>");
}
} }
private void OnToggleBuildMode(InputAction.CallbackContext context) private void OnToggleBuildMode(InputAction.CallbackContext context)

View File

@@ -29,6 +29,7 @@ namespace Northbound
private List<BuildingSlotButton> slotButtons = new List<BuildingSlotButton>(); private List<BuildingSlotButton> slotButtons = new List<BuildingSlotButton>();
private BuildingPlacement buildingPlacement; private BuildingPlacement buildingPlacement;
private int currentSelectedIndex = -1; private int currentSelectedIndex = -1;
private int lastSelectedIndex = 0;
private PlayerInputActions _inputActions; private PlayerInputActions _inputActions;
private InputAction[] _quickslotActions; private InputAction[] _quickslotActions;
@@ -234,8 +235,12 @@ namespace Northbound
// 퀵슬롯 입력 활성화 // 퀵슬롯 입력 활성화
EnableQuickslotActions(true); EnableQuickslotActions(true);
// 기본 선택 (첫 번째 건물) // 마지막으로 선택된 건물 선택
if (slotButtons.Count > 0) if (slotButtons.Count > 0 && lastSelectedIndex >= 0 && lastSelectedIndex < slotButtons.Count)
{
SelectBuilding(lastSelectedIndex);
}
else if (slotButtons.Count > 0)
{ {
SelectBuilding(0); SelectBuilding(0);
} }
@@ -286,6 +291,7 @@ namespace Northbound
// 새로운 선택 // 새로운 선택
currentSelectedIndex = index; currentSelectedIndex = index;
lastSelectedIndex = index;
slotButtons[index].SetSelected(true); slotButtons[index].SetSelected(true);
// BuildingPlacement에 알림 // BuildingPlacement에 알림