디자인 변경 중

This commit is contained in:
logonkhi
2025-08-06 19:16:41 +09:00
parent 5ed1323dae
commit 2e4718291e
97 changed files with 4184 additions and 2031 deletions

View File

@@ -1,4 +1,5 @@
using UnityEngine;
using UnityEngine;
using UVC.Factory.Playback;
using UVC.Locale;
using UVC.UI.Commands;
using UVC.UI.Toolbar;
@@ -89,24 +90,60 @@ namespace UVC.UI.ToolBar
// --- 툴바 모델 구성 시작 ---
// 여기에 다양한 툴바 항목(버튼, 구분선 등)을 mainToolbar 모델에 추가합니다.
// 예시 1: 카메라 조절 라디오 버튼 그룹
// "CameraControlGroup"이라는 이름으로 라디오 버튼 그룹을 만듭니다.
// AddRadioButton의 세 번째 파라미터(initialState)는 해당 버튼이 초기에 선택될지 여부입니다.
// 각 버튼은 아이콘 경로(선택 시/해제 시), OnToggle 콜백, ClickCommand, 툴팁 키를 가질 수 있습니다.
// 컴포넌트 목록
mainToolbar.AddStandardButton("컴포넌트 목록",
"Prefabs/UI/Toolbar/images/ic_menu_elements",
new ActionCommand(() => Debug.Log("컴포넌트 목록 버튼 클릭됨")),
"컴포넌트 목록 창을 엽니다.");
// playback
mainToolbar.AddStandardButton("Playback",
"Prefabs/UI/Toolbar/images/ic_menu_playback",
new PlaybackCommand(),
"Playback을 실행 시킵니다.");
// 화면 캡처
mainToolbar.AddStandardButton("button_capture_screen",
"Prefabs/UI/Toolbar/images/ic_menu_capture",
new ActionCommand(() => Debug.Log("화면 캡처 버튼 클릭됨")),
"tooltip_capture_screen");
// 화면 녹화 시작/중지 (ToggleButton)
mainToolbar.AddToggleButton("button_record_screen", false,
"Prefabs/UI/Toolbar/images/ic_menu_camera_on",
"Prefabs/UI/Toolbar/images/ic_menu_camera_off",
(isSelected) => Debug.Log($"화면 녹화 상태: {(isSelected ? " " : "")} (OnToggle 콜백)"),
new ActionCommand<bool>((isRecording) => Debug.Log($"화면 녹화 Command 실행: {(isRecording ? " " : " ")}")),
"tooltip_record_screen");
// 화면 확대
mainToolbar.AddStandardButton("화면 확대",
"Prefabs/UI/Toolbar/images/ic_menu_zoom_in",
new ActionCommand(() => Debug.Log("화면 확대 버튼 클릭됨")),
"화면을 한 단계 확대 합니다.");
//화면 축소
mainToolbar.AddStandardButton("화면 축소",
"Prefabs/UI/Toolbar/images/ic_menu_zoom_out",
new ActionCommand(() => Debug.Log("화면 축소 버튼 클릭됨")),
"화면을 한 단계 축소 합니다.");
// 구분선
mainToolbar.AddSeparator();
// RadioButtonGroup 샘플
mainToolbar.AddRadioButton("CameraControlGroup", "Top View", true,
"Prefabs/UI/Toolbar/images/ic_camera_top_on",
"Prefabs/UI/Toolbar/images/ic_camera_top_off_white",
(isSelected) => { if (isSelected) Debug.Log("탑뷰 카메라 선택됨"); },
new ActionCommand(() => Debug.Log("탑뷰 카메라 Command 실행")),
"Top View 시점으로 변경합니다.");
mainToolbar.AddRadioButton("CameraControlGroup", "Quarter View", false,
"Prefabs/UI/Toolbar/images/ic_camera_quarter_on",
"Prefabs/UI/Toolbar/images/ic_camera_quarter_off_white",
(isSelected) => { if (isSelected) Debug.Log("쿼터뷰 카메라 선택됨"); },
new ActionCommand(() => Debug.Log("쿼터뷰 카메라 Command 실행")),
"Quarter View 시점으로 변경합니다.");
mainToolbar.AddRadioButton("CameraControlGroup", "Front View", false,
"Prefabs/UI/Toolbar/images/ic_camera_top_on",
"Prefabs/UI/Toolbar/images/ic_camera_top_off_white",
@@ -114,66 +151,9 @@ namespace UVC.UI.ToolBar
new ActionCommand(() => Debug.Log("프런트뷰 카메라 Command 실행")),
"Front View 시점으로 변경합니다.");
// 예시 2: 구분선 추가
mainToolbar.AddSeparator();
// 예시 3: 표준 버튼 (객체 선택)
// AddStandardButton은 텍스트, 아이콘 경로, 클릭 커맨드, 툴팁 키를 파라미터로 받습니다.
mainToolbar.AddStandardButton("선택", // 버튼 텍스트 (또는 다국어 키)
"Prefabs/UI/Toolbar/images/ic_select_white", // 아이콘 경로
new ActionCommand(() => Debug.Log("객체 선택 버튼 클릭됨")), // 클릭 시 실행될 커맨드
"객체를 선택합니다."); // 툴팁
// 객체 이동
mainToolbar.AddStandardButton("이동",
"Prefabs/UI/Toolbar/images/ic_move_white",
new ActionCommand(() => Debug.Log("객체 이동 버튼 클릭됨")),
"객체를 이동 시킵니다.");
// 객체 회전
mainToolbar.AddStandardButton("회전",
"Prefabs/UI/Toolbar/images/ic_rotation_white",
new ActionCommand(() => Debug.Log("객체 회전 버튼 클릭됨")),
"객체의 각도를 조절합니다.");
// 객체 크기조절
mainToolbar.AddStandardButton("크기조절",
"Prefabs/UI/Toolbar/images/ic_scale_white",
new ActionCommand(() => Debug.Log("객체 크기조절 버튼 클릭됨")),
"객체 크기를 조절합니다.");
// 객체 복제
mainToolbar.AddStandardButton("복제",
"Prefabs/UI/Toolbar/images/ic_copy_white",
new ActionCommand(() => Debug.Log("객체 복제 버튼 클릭됨")),
"객체를 복제 합니다.");
// 객체 삭제
mainToolbar.AddStandardButton("삭제",
"Prefabs/UI/Toolbar/images/ic_delete_white",
new ActionCommand(() => Debug.Log("객체 삭제 버튼 클릭됨")),
"객체를 삭제 합니다.");
mainToolbar.AddSeparator();
// 예시 4: 화면 캡처 버튼 (텍스트가 다국어 키일 수 있음)
mainToolbar.AddStandardButton("button_capture_screen", // 다국어 키로 사용될 수 있는 텍스트
"Prefabs/UI/Toolbar/images/ic_capture_white",
new ActionCommand(() => Debug.Log("화면 캡처 버튼 클릭됨")),
"tooltip_capture_screen"); // 툴팁도 다국어 키 사용 가능
// 예시 5: 화면 녹화 시작/중지 토글 버튼
// AddToggleButton은 초기 상태, 선택/해제 아이콘, OnToggle 콜백 등을 설정합니다.
// ClickCommand는 ActionCommand<bool>을 사용하여 현재 토글 상태를 파라미터로 받을 수 있습니다.
mainToolbar.AddToggleButton("button_record_screen", false, // 초기 상태: 꺼짐(false)
"Prefabs/UI/Toolbar/images/ic_record_on_white", // 켜짐(selected) 상태 아이콘
"Prefabs/UI/Toolbar/images/ic_record_off_white", // 꺼짐(deselected) 상태 아이콘
(isSelected) => Debug.Log($"화면 녹화 상태: {(isSelected ? " " : "")} (OnToggle 콜백)"),
new ActionCommand<bool>((isRecording) => Debug.Log($"화면 녹화 Command 실행: {(isRecording ? " " : " ")}")),
"tooltip_record_screen");
// 예시 6: 확장 버튼 (브러시 크기 선택)
// 예시 : 확장 버튼 (브러시 크기 선택)
// AddExpandableButton으로 주 버튼을 만들고, 반환된 객체의 SubButtons 리스트에 하위 버튼들을 추가합니다.
var expandableBtnModel = mainToolbar.AddExpandableButton("button_brush_size", // 주 버튼 텍스트/키
"Prefabs/UI/Toolbar/images/ic_brush_default_white", // 주 버튼 기본 아이콘