강조 효과 활성화/비활성화 조건 수정

This commit is contained in:
정영민
2025-04-14 16:52:44 +09:00
parent 60105ef93d
commit 63acbb6b22
8 changed files with 346 additions and 630 deletions

View File

@@ -59,11 +59,9 @@ namespace CHN
popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering; popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering;
popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine; popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine;
popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpenFromLibrary; popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpen;
popupCanvas.panel_library.onClickLibraryButton += highLightManager.ClickNotKPIToHighlight; popupCanvas.panel_library.onClickLibraryButton += highLightManager.ClickNotKPIToHighlight;
popupCanvas.panel_library.onClickLibraryButton += highLightManager.SetTargetPosToMachine; popupCanvas.panel_library.onClickLibraryButton += highLightManager.SetTargetPosToMachine;
popupCanvas.panel_library.onDeselectLibraryButton += popupCanvas.MachineDashBoardClose;
popupCanvas.panel_library.onClose += highLightManager.ResetAllHighLighter;
popupCanvas.panel_library.onClickLibraryOpenButton += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem; popupCanvas.panel_library.onClickLibraryOpenButton += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem;
popupCanvas.panel_library.onClickLibraryCloseButton += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem; popupCanvas.panel_library.onClickLibraryCloseButton += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
@@ -71,6 +69,7 @@ namespace CHN
popupCanvas.onClickSimple += datamanager.GetSimpleCompleteData; popupCanvas.onClickSimple += datamanager.GetSimpleCompleteData;
popupCanvas.onClickDetail += datamanager.GetCompleteInfo; popupCanvas.onClickDetail += datamanager.GetCompleteInfo;
popupCanvas.onOpenDashboard += popupCanvas.panel_completealramhistory.Close; popupCanvas.onOpenDashboard += popupCanvas.panel_completealramhistory.Close;
popupCanvas.onCloseDashBoard += highLightManager.ResetAllHighLighter;
popupCanvas.panel_completealramhistory.onClickAlram += completeTimeManager.MachineCorrespondingToAlarm; popupCanvas.panel_completealramhistory.onClickAlram += completeTimeManager.MachineCorrespondingToAlarm;
popupCanvas.panel_completealramhistory.onCheckAlarmData += completeTimeManager.CheckCompleteTimeAlarm; popupCanvas.panel_completealramhistory.onCheckAlarmData += completeTimeManager.CheckCompleteTimeAlarm;
@@ -78,7 +77,6 @@ namespace CHN
popupCanvas.panel_completealramhistory.onOpen += popupCanvas.CurrentDashoboardClose; popupCanvas.panel_completealramhistory.onOpen += popupCanvas.CurrentDashoboardClose;
popupCanvas.panel_completealramhistory.onDashobardOpen += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem; popupCanvas.panel_completealramhistory.onDashobardOpen += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem;
popupCanvas.panel_completealramhistory.onDashobardClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem; popupCanvas.panel_completealramhistory.onDashobardClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
popupCanvas.panel_completealramhistory.onClose += highLightManager.ResetAllHighLighter;
popupCanvas.panel_workconditionanalysis.onDateData += httpManager.GetFacilityCodeData; popupCanvas.panel_workconditionanalysis.onDateData += httpManager.GetFacilityCodeData;
popupCanvas.panel_workconditionanalysis.onFacilityCodeData += httpManager.GetWorkItemCodeData; popupCanvas.panel_workconditionanalysis.onFacilityCodeData += httpManager.GetWorkItemCodeData;
@@ -122,6 +120,7 @@ namespace CHN
completeTimeManager.onLoadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; completeTimeManager.onLoadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems;
completeTimeManager.onUnloadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; completeTimeManager.onUnloadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems;
completeTimeManager.onActiveHighLighter += popupCanvas.MachineDashBoardOpen;
completeTimeManager.onActiveHighLighter += highLightManager.ClickNotKPIToHighlight; completeTimeManager.onActiveHighLighter += highLightManager.ClickNotKPIToHighlight;
completeTimeManager.onActiveHighLighter += highLightManager.SetTargetPosToMachine; completeTimeManager.onActiveHighLighter += highLightManager.SetTargetPosToMachine;
@@ -133,7 +132,8 @@ namespace CHN
httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData; httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData;
httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData; httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData;
machineKPIManager.onClickKPI += highLightManager.ClickKPIToHighlight; machineKPIManager.onClickKPI += popupCanvas.MachineDashBoardOpen;
machineKPIManager.onClickKPI += highLightManager.ClickNotKPIToHighlight;
workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData; workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData;
workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData; workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData;
@@ -141,7 +141,7 @@ namespace CHN
workTimeManager.onSendChartData += popupCanvas.panel_worktimeanalysis.SetWorkTimeData; workTimeManager.onSendChartData += popupCanvas.panel_worktimeanalysis.SetWorkTimeData;
raycaster.onLeftClickMachine += popupCanvas.MachineDashBoardOpenFromOnClick; raycaster.onLeftClickMachine += popupCanvas.MachineDashBoardOpen;
raycaster.onLeftClickMachine += highLightManager.ClickNotKPIToHighlight; raycaster.onLeftClickMachine += highLightManager.ClickNotKPIToHighlight;
raycaster.onClickThermostat += popupCanvas.panel_thermostatcontrol.Open; raycaster.onClickThermostat += popupCanvas.panel_thermostatcontrol.Open;

View File

@@ -29,6 +29,7 @@ namespace CHN
public Action<Machine> onClickSimple; public Action<Machine> onClickSimple;
public Action<Machine> onClickDetail; public Action<Machine> onClickDetail;
public Action<Machine,HashSet<string>> simpleView; public Action<Machine,HashSet<string>> simpleView;
public Action onCloseDashBoard;
public Panel_MachineDashBoard currentDashBoard; public Panel_MachineDashBoard currentDashBoard;
public Action onOpenDashboard; public Action onOpenDashboard;
@@ -45,42 +46,23 @@ namespace CHN
machineDashboardTable.Add(machine, dashboard); machineDashboardTable.Add(machine, dashboard);
dashboard.onClickSimple += onClickSimple; dashboard.onClickSimple += onClickSimple;
dashboard.onClickDetail += onClickDetail; dashboard.onClickDetail += onClickDetail;
dashboard.onClose += onCloseDashBoard;
} }
} }
public void MachineDashBoardOpenFromLibrary(Machine libraryMachine) public void MachineDashBoardOpen(Machine clickMachine)
{
if (currentDashBoard != null)
{
currentDashBoard.SetActive(false);
}
var machine = libraryMachine;
currentDashBoard = machineDashboardTable[machine];
currentDashBoard.OpenFromLibraryButton(libraryMachine);
SetDashBoardPosition();
onOpenDashboard?.Invoke();
}
public void MachineDashBoardOpenFromOnClick(Machine clickMachine)
{ {
if (currentDashBoard != null) if (currentDashBoard != null)
{ {
currentDashBoard.SetActive(false); currentDashBoard.SetActive(false);
} }
currentDashBoard = machineDashboardTable[clickMachine]; currentDashBoard = machineDashboardTable[clickMachine];
currentDashBoard.OpenFromMachineClick(clickMachine); currentDashBoard.OpenFromMachine(clickMachine);
SetDashBoardPosition(); SetDashBoardPosition();
onOpenDashboard?.Invoke(); onOpenDashboard?.Invoke();
} }
public void MachineDashBoardClose(UI_LibraryButton button)
{
var machine = button.machine;
machineDashboardTable[machine].Close();
}
public void SimpleView(Machine machine, SimpleField data) public void SimpleView(Machine machine, SimpleField data)
{ {
machineDashboardTable[machine].SimpleInfoView(data); machineDashboardTable[machine].SimpleInfoView(data);

View File

@@ -23,7 +23,6 @@ namespace CHN
public Action<int> onCheckAlarm; public Action<int> onCheckAlarm;
public Action<CompleteInfo, bool> onCheckAlarmData; public Action<CompleteInfo, bool> onCheckAlarmData;
public Action onOpen; public Action onOpen;
public Action onClose;
public Action<string> onDashobardOpen; public Action<string> onDashobardOpen;
public Action<string> onDashobardClose; public Action<string> onDashobardClose;
@@ -42,8 +41,10 @@ namespace CHN
} }
public void Close() public void Close()
{ {
if (!gameObject.activeSelf)
return;
onDashobardClose?.Invoke("완료 시간 알람"); onDashobardClose?.Invoke("완료 시간 알람");
onClose?.Invoke();
} }
public void ActiveLoadingImage(bool isActive) public void ActiveLoadingImage(bool isActive)
{ {

View File

@@ -25,12 +25,9 @@ namespace CHN
private List<UI_FilterButton> filters = new List<UI_FilterButton>(); private List<UI_FilterButton> filters = new List<UI_FilterButton>();
public UI_FilterButton pre_labelButton; public UI_FilterButton pre_labelButton;
public UI_LibraryButton pre_libraryButton;
public Action<string> onClickLabelButton; public Action<string> onClickLabelButton;
public Action<Machine> onClickLibraryButton; public Action<Machine> onClickLibraryButton;
public Action<UI_LibraryButton> onDeselectLibraryButton;
public Action onClose;
public Action<string> onClickLibraryOpenButton; public Action<string> onClickLibraryOpenButton;
public Action<string> onClickLibraryCloseButton; public Action<string> onClickLibraryCloseButton;
@@ -115,7 +112,6 @@ namespace CHN
Image_Open.gameObject.SetActive(true); Image_Open.gameObject.SetActive(true);
Image_Close.gameObject.SetActive(false); Image_Close.gameObject.SetActive(false);
onClose?.Invoke();
StopAllCoroutines(); StopAllCoroutines();
StartCoroutine(MoveAnimation(downPos)); StartCoroutine(MoveAnimation(downPos));
} }
@@ -138,12 +134,7 @@ namespace CHN
private void OnClickLibraryButton(UI_LibraryButton machineButton) private void OnClickLibraryButton(UI_LibraryButton machineButton)
{ {
if (pre_libraryButton != null) onClickLibraryButton?.Invoke(machineButton.machine);
{
onDeselectLibraryButton?.Invoke(pre_libraryButton);
}
pre_libraryButton = machineButton;
onClickLibraryButton?.Invoke(pre_libraryButton.machine);
} }
IEnumerator MoveAnimation(Vector3 targetPos) IEnumerator MoveAnimation(Vector3 targetPos)

View File

@@ -36,6 +36,7 @@ namespace CHN
public Action<Machine> onClickDetail; public Action<Machine> onClickDetail;
public Action<Machine> onClickSimple; public Action<Machine> onClickSimple;
public Action<Machine, HashSet<string>> simpleView; public Action<Machine, HashSet<string>> simpleView;
public Action onClose;
private Machine machine; private Machine machine;
private Button currentTabButton; private Button currentTabButton;
@@ -127,21 +128,11 @@ namespace CHN
var machineName = machine.name; var machineName = machine.name;
text_MachineName.SetText(machineName); text_MachineName.SetText(machineName);
} }
public void OpenFromLibraryButton(Machine libraryMachine) public void OpenFromMachine(Machine machine)
{ {
if (this.gameObject.activeSelf) if (this.gameObject.activeSelf)
return; return;
this.machine = machine;
machine = libraryMachine;
SetMachineName();
SetActive(true);
OnClickSimple();
}
public void OpenFromMachineClick(Machine clickMachine)
{
if (this.gameObject.activeSelf)
return;
this.machine = clickMachine;
SetMachineName(); SetMachineName();
SetActive(true); SetActive(true);
OnClickSimple(); OnClickSimple();
@@ -150,6 +141,7 @@ namespace CHN
public void Close() public void Close()
{ {
Clear(); Clear();
onClose?.Invoke();
SetActive(false); SetActive(false);
} }

View File

@@ -2,6 +2,7 @@ using UnityEngine;
using WI; using WI;
using CHN; using CHN;
using System.Linq; using System.Linq;
using System;
public class HighLighterManager : MonoBehaviour, ISingle public class HighLighterManager : MonoBehaviour, ISingle
{ {
@@ -13,16 +14,6 @@ public class HighLighterManager : MonoBehaviour, ISingle
machines = building.floors.SelectMany(f => f.machines).ToArray(); machines = building.floors.SelectMany(f => f.machines).ToArray();
} }
public void ClickKPIToHighlight(UI_MachineKPI clickKPI)
{
foreach(var machine in machines)
{
if(machine.machineKPI == clickKPI)
{
ActiveHighLighter(machine);
}
}
}
public void ClickNotKPIToHighlight(Machine highLightMachine) public void ClickNotKPIToHighlight(Machine highLightMachine)
{ {
ActiveHighLighter(highLightMachine); ActiveHighLighter(highLightMachine);

View File

@@ -15,7 +15,8 @@ namespace CHN
private OrbitalController cam; private OrbitalController cam;
private Machine[] machines; private Machine[] machines;
private List<Machine> matchingMachines = new(); private List<Machine> matchingMachines = new();
private SDictionary<string, UI_MachineKPI> machineKPIs = new(); private Dictionary<string, UI_MachineKPI> machineKPIs = new();
private Dictionary<UI_MachineKPI, Machine> kpiToMachines = new();
private List<UI_MachineKPI> kpis = new List<UI_MachineKPI>(); private List<UI_MachineKPI> kpis = new List<UI_MachineKPI>();
private UI_MachineKPI current_MachineKPI; private UI_MachineKPI current_MachineKPI;
@@ -25,7 +26,7 @@ namespace CHN
public Vector3 originScale; public Vector3 originScale;
public float verticalSpacing = 100f; public float verticalSpacing = 100f;
public Action<UI_MachineKPI> onClickKPI; public Action<Machine> onClickKPI;
[Range(0.1f, 0.8f)] [Range(0.1f, 0.8f)]
public float minScale; public float minScale;
@@ -42,6 +43,7 @@ namespace CHN
uiElements.Clear(); uiElements.Clear();
machineKPIs.Clear(); machineKPIs.Clear();
matchingMachines.Clear(); matchingMachines.Clear();
kpiToMachines.Clear();
cam = FindSingle<OrbitalController>(); cam = FindSingle<OrbitalController>();
prefab_MachineKPI = Resources.Load<UI_MachineKPI>("Prefabs/UI/PRF_UI_MachineKPI"); prefab_MachineKPI = Resources.Load<UI_MachineKPI>("Prefabs/UI/PRF_UI_MachineKPI");
@@ -74,6 +76,7 @@ namespace CHN
var machinePos = machine.centerPos; var machinePos = machine.centerPos;
machine.machineKPI.transform.position = new Vector3(machinePos.x, machinePos.y + defaultNameHeight, machinePos.z); machine.machineKPI.transform.position = new Vector3(machinePos.x, machinePos.y + defaultNameHeight, machinePos.z);
matchingMachines.Add(machine); matchingMachines.Add(machine);
kpiToMachines.Add(machine.machineKPI, machine);
machine.SetAnimationSpeed(); machine.SetAnimationSpeed();
} }
} }
@@ -87,10 +90,11 @@ namespace CHN
machine.machineKPI.Shrink(); machine.machineKPI.Shrink();
} }
} }
var currentMachine = kpiToMachines[machineKPI];
current_MachineKPI = machineKPI; current_MachineKPI = machineKPI;
current_MachineKPI.Expand(); current_MachineKPI.Expand();
current_MachineKPI.transform.SetAsLastSibling(); current_MachineKPI.transform.SetAsLastSibling();
onClickKPI?.Invoke(current_MachineKPI); onClickKPI?.Invoke(currentMachine);
} }
private void Update() private void Update()
{ {

File diff suppressed because it is too large Load Diff