diff --git a/Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipDetailPanelUss.uss b/Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipDetailPanelUss.uss
similarity index 100%
rename from Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipDetailPanelUss.uss
rename to Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipDetailPanelUss.uss
diff --git a/Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipDetailPanelUss.uss.meta b/Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipDetailPanelUss.uss.meta
similarity index 100%
rename from Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipDetailPanelUss.uss.meta
rename to Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipDetailPanelUss.uss.meta
diff --git a/Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipInfoPopupUss.uss b/Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipInfoPopupUss.uss
similarity index 100%
rename from Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipInfoPopupUss.uss
rename to Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipInfoPopupUss.uss
diff --git a/Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipInfoPopupUss.uss.meta b/Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipInfoPopupUss.uss.meta
similarity index 100%
rename from Assets/Resources/EWLK/UIToolkit/Main/EWLKEquipInfoPopupUss.uss.meta
rename to Assets/Resources/EWLK/UIToolkit/Main/EWLKManuEquipInfoPopupUss.uss.meta
diff --git a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipDetailData.cs b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipDetailData.cs
similarity index 95%
rename from Assets/Scripts/EnglewoodLAB/Data/EWLKEquipDetailData.cs
rename to Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipDetailData.cs
index a92ea999..7eed3412 100644
--- a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipDetailData.cs
+++ b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipDetailData.cs
@@ -6,11 +6,11 @@ namespace UVC.EnglewoodLAB.Data
///
/// 설비 상세 패널 전체 데이터.
///
- public class EWLKEquipDetailData
+ public class EWLKManuEquipDetailData
{
- public EWLKEquipBasicInfoData BasicInfo { get; } = new();
+ public EWLKManuEquipBasicInfoData BasicInfo { get; } = new();
public EWLKQualityInfoData QualityInfo { get; } = new();
- public EWLKEquipOperationData OperationInfo { get; } = new();
+ public EWLKManuEquipOperationData OperationInfo { get; } = new();
public EWLKMainMixerData MainMixer { get; } = new();
}
@@ -19,7 +19,7 @@ namespace UVC.EnglewoodLAB.Data
///
/// 설비 기본 정보 패널 데이터.
///
- public class EWLKEquipBasicInfoData
+ public class EWLKManuEquipBasicInfoData
{
/// 설비명
public string EquipmentName { get; set; } = "-";
@@ -83,7 +83,7 @@ namespace UVC.EnglewoodLAB.Data
///
/// 설비 운영 정보 패널 데이터.
///
- public class EWLKEquipOperationData
+ public class EWLKManuEquipOperationData
{
/// 공정 정보
public OperationInfoItem ProcessInfo { get; } = new();
diff --git a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipDetailData.cs.meta b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipDetailData.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/Data/EWLKEquipDetailData.cs.meta
rename to Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipDetailData.cs.meta
diff --git a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipInfoData.cs b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipInfoData.cs
similarity index 94%
rename from Assets/Scripts/EnglewoodLAB/Data/EWLKEquipInfoData.cs
rename to Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipInfoData.cs
index b4346059..5f0cc57c 100644
--- a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipInfoData.cs
+++ b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipInfoData.cs
@@ -18,7 +18,7 @@ namespace UVC.EnglewoodLAB.Data
///
/// 설비 정보 팝업에 표시할 데이터.
///
- public class EWLKEquipInfoData
+ public class EWLKManuEquipInfoData
{
/// 설비 상태
public EquipmentStatus Status { get; set; } = EquipmentStatus.Running;
diff --git a/Assets/Scripts/EnglewoodLAB/Data/EWLKEquipInfoData.cs.meta b/Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipInfoData.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/Data/EWLKEquipInfoData.cs.meta
rename to Assets/Scripts/EnglewoodLAB/Data/EWLKManuEquipInfoData.cs.meta
diff --git a/Assets/Scripts/EnglewoodLAB/EWLKEquipInfoTracker.cs b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipInfoTracker.cs
similarity index 92%
rename from Assets/Scripts/EnglewoodLAB/EWLKEquipInfoTracker.cs
rename to Assets/Scripts/EnglewoodLAB/EWLKManuEquipInfoTracker.cs
index bd1aaa41..1f37e7a8 100644
--- a/Assets/Scripts/EnglewoodLAB/EWLKEquipInfoTracker.cs
+++ b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipInfoTracker.cs
@@ -11,7 +11,7 @@ namespace UVC.EnglewoodLAB
/// 이 컴포넌트를 설비 오브젝트(예: Cube)에 부착하고,
/// Inspector에서 UIDocument(DynamicUI)를 연결합니다.
///
- public class EWLKEquipInfoTracker : MonoBehaviour
+ public class EWLKManuEquipInfoTracker : MonoBehaviour
{
[Header("UI")]
[Tooltip("팝업을 표시할 UIDocument (DynamicUI 권장)")]
@@ -29,8 +29,8 @@ namespace UVC.EnglewoodLAB
[SerializeField] private float worldYOffset = 1.0f;
// ── 내부 상태 ─────────────────────────────────
- private EWLKEquipInfoPopup? _popup;
- private EWLKEquipInfoData _data = new();
+ private EWLKManuEquipInfoPopup? _popup;
+ private EWLKManuEquipInfoData _data = new();
private Camera? _mainCamera;
private VisualElement? _root;
private bool _attached;
@@ -43,7 +43,7 @@ namespace UVC.EnglewoodLAB
if (uiDocument == null)
{
- Debug.LogWarning($"[EWLKEquipInfoTracker] {name}: UIDocument가 할당되지 않았습니다.");
+ Debug.LogWarning($"[EWLKManuEquipInfoTracker] {name}: UIDocument가 할당되지 않았습니다.");
return;
}
@@ -108,7 +108,7 @@ namespace UVC.EnglewoodLAB
_root = uiDocument?.rootVisualElement;
if (_root == null) return;
- _popup = new EWLKEquipInfoPopup();
+ _popup = new EWLKManuEquipInfoPopup();
ApplyData();
_root.Add(_popup);
_attached = true;
@@ -136,7 +136,7 @@ namespace UVC.EnglewoodLAB
///
/// 외부에서 설비 데이터를 업데이트합니다.
///
- public void UpdateData(EWLKEquipInfoData data)
+ public void UpdateData(EWLKManuEquipInfoData data)
{
_data = data;
_popup?.SetData(data);
diff --git a/Assets/Scripts/EnglewoodLAB/EWLKEquipInfoTracker.cs.meta b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipInfoTracker.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/EWLKEquipInfoTracker.cs.meta
rename to Assets/Scripts/EnglewoodLAB/EWLKManuEquipInfoTracker.cs.meta
diff --git a/Assets/Scripts/EnglewoodLAB/EWLKEquipSelectHandler.cs b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipSelectHandler.cs
similarity index 86%
rename from Assets/Scripts/EnglewoodLAB/EWLKEquipSelectHandler.cs
rename to Assets/Scripts/EnglewoodLAB/EWLKManuEquipSelectHandler.cs
index 0fcf7d87..ccd1a892 100644
--- a/Assets/Scripts/EnglewoodLAB/EWLKEquipSelectHandler.cs
+++ b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipSelectHandler.cs
@@ -12,7 +12,7 @@ namespace UVC.EnglewoodLAB
/// 선택 시 파란 아웃라인을 표시하고, 선택 해제 시 모두 제거합니다.
///
[RequireComponent(typeof(Collider))]
- public class EWLKEquipSelectHandler : MonoBehaviour
+ public class EWLKManuEquipSelectHandler : MonoBehaviour
{
[Header("UI")]
[Tooltip("패널을 표시할 UIDocument (DynamicUI 권장)")]
@@ -25,9 +25,13 @@ namespace UVC.EnglewoodLAB
[Tooltip("아웃라인 색상")]
[SerializeField] private Color outlineColor = new(0.2f, 0.5f, 1f, 0.4f);
+ // ── 상세 패널 활성 상태 (다른 핸들러에서 클릭 차단용) ──
+ /// 상세 패널이 열려 있는지 여부
+ public static bool IsPanelActive { get; private set; }
+
// ── 내부 상태 ─────────────────────────────────
- private EWLKEquipDetailPanel? _panel;
- private EWLKEquipDetailData _data = new();
+ private EWLKManuEquipDetailPanel? _panel;
+ private EWLKManuEquipDetailData _data = new();
private GameObject? _outlineObject;
private bool _selected;
private VisualElement? _root;
@@ -37,7 +41,7 @@ namespace UVC.EnglewoodLAB
///
/// 외부에서 표시할 데이터를 설정합니다.
///
- public void SetData(EWLKEquipDetailData data)
+ public void SetData(EWLKManuEquipDetailData data)
{
_data = data;
_panel?.SetData(data);
@@ -57,6 +61,7 @@ namespace UVC.EnglewoodLAB
private void OnMouseDown()
{
if (_selected) return;
+ if (EWLKPackEquipInfoTracker.IsPanelActive) return;
Select();
}
@@ -67,6 +72,7 @@ namespace UVC.EnglewoodLAB
{
if (_selected) return;
_selected = true;
+ IsPanelActive = true;
ShowOutline();
ShowPanel();
@@ -77,6 +83,7 @@ namespace UVC.EnglewoodLAB
{
if (!_selected) return;
_selected = false;
+ IsPanelActive = false;
HideOutline();
HidePanel();
@@ -140,14 +147,14 @@ namespace UVC.EnglewoodLAB
{
if (uiDocument == null)
{
- Debug.LogWarning($"[EWLKEquipSelectHandler] {name}: UIDocument가 할당되지 않았습니다.");
+ Debug.LogWarning($"[EWLKManuEquipSelectHandler] {name}: UIDocument가 할당되지 않았습니다.");
return;
}
_root = uiDocument.rootVisualElement;
if (_root == null) return;
- _panel = new EWLKEquipDetailPanel();
+ _panel = new EWLKManuEquipDetailPanel();
_panel.SetData(_data);
_panel.OnDeselectClicked += Deselect;
_root.Add(_panel);
diff --git a/Assets/Scripts/EnglewoodLAB/EWLKEquipSelectHandler.cs.meta b/Assets/Scripts/EnglewoodLAB/EWLKManuEquipSelectHandler.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/EWLKEquipSelectHandler.cs.meta
rename to Assets/Scripts/EnglewoodLAB/EWLKManuEquipSelectHandler.cs.meta
diff --git a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipDetailPanel.cs b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipDetailPanel.cs
similarity index 98%
rename from Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipDetailPanel.cs
rename to Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipDetailPanel.cs
index 97c50753..6c2f4774 100644
--- a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipDetailPanel.cs
+++ b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipDetailPanel.cs
@@ -12,9 +12,9 @@ namespace UVC.EnglewoodLAB.UIToolkit
/// DynamicUI rootVisualElement에 추가하여 사용합니다.
///
[UxmlElement]
- public partial class EWLKEquipDetailPanel : VisualElement, IDisposable
+ public partial class EWLKManuEquipDetailPanel : VisualElement, IDisposable
{
- private const string UssPath = "EWLK/UIToolkit/Main/EWLKEquipDetailPanelUss";
+ private const string UssPath = "EWLK/UIToolkit/Main/EWLKManuEquipDetailPanelUss";
/// 선택 해제 버튼 클릭 시 호출
public event Action? OnDeselectClicked;
@@ -64,7 +64,7 @@ namespace UVC.EnglewoodLAB.UIToolkit
// ────────────────────────────────────────────────
- public EWLKEquipDetailPanel()
+ public EWLKManuEquipDetailPanel()
{
var uss = Resources.Load(UssPath);
if (uss != null) styleSheets.Add(uss);
@@ -168,7 +168,7 @@ namespace UVC.EnglewoodLAB.UIToolkit
Add(deselectBtn);
// 기본 데이터로 초기화
- SetData(new EWLKEquipDetailData());
+ SetData(new EWLKManuEquipDetailData());
}
// ── 공개 API ────────────────────────────────────────
@@ -176,7 +176,7 @@ namespace UVC.EnglewoodLAB.UIToolkit
///
/// 데이터를 바인딩합니다.
///
- public void SetData(EWLKEquipDetailData data)
+ public void SetData(EWLKManuEquipDetailData data)
{
// 설비 기본 정보
_equipNameVal.text = data.BasicInfo.EquipmentName;
diff --git a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipDetailPanel.cs.meta b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipDetailPanel.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipDetailPanel.cs.meta
rename to Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipDetailPanel.cs.meta
diff --git a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipInfoPopup.cs b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipInfoPopup.cs
similarity index 91%
rename from Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipInfoPopup.cs
rename to Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipInfoPopup.cs
index 4830c3f4..85e37116 100644
--- a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipInfoPopup.cs
+++ b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipInfoPopup.cs
@@ -10,9 +10,9 @@ namespace UVC.EnglewoodLAB.UIToolkit
/// 상태 원(초록/노랑/회색) + 설비명으로 구성됩니다.
///
[UxmlElement]
- public partial class EWLKEquipInfoPopup : VisualElement
+ public partial class EWLKManuEquipInfoPopup : VisualElement
{
- private const string UssPath = "EWLK/UIToolkit/Main/EWLKEquipInfoPopupUss";
+ private const string UssPath = "EWLK/UIToolkit/Main/EWLKManuEquipInfoPopupUss";
private static readonly string ClassRoot = "ewlk-equip-popup";
private static readonly string ClassIndicator = "ewlk-equip-popup__indicator";
@@ -24,7 +24,7 @@ namespace UVC.EnglewoodLAB.UIToolkit
private readonly VisualElement _indicator;
private readonly Label _nameLabel;
- public EWLKEquipInfoPopup()
+ public EWLKManuEquipInfoPopup()
{
var uss = Resources.Load(UssPath);
if (uss != null) styleSheets.Add(uss);
@@ -48,7 +48,7 @@ namespace UVC.EnglewoodLAB.UIToolkit
///
/// 데이터를 바인딩합니다.
///
- public void SetData(EWLKEquipInfoData data)
+ public void SetData(EWLKManuEquipInfoData data)
{
_nameLabel.text = data.EquipmentName;
diff --git a/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipInfoPopup.cs.meta b/Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipInfoPopup.cs.meta
similarity index 100%
rename from Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKEquipInfoPopup.cs.meta
rename to Assets/Scripts/EnglewoodLAB/UIToolkit/EWLKManuEquipInfoPopup.cs.meta