220 lines
13 KiB
C#
220 lines
13 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using WI;
|
|
|
|
namespace CHN
|
|
{
|
|
[DefaultExecutionOrder(int.MaxValue)]
|
|
public class EventConnecter : Initializer
|
|
{
|
|
private Building building;
|
|
private OrbitalController controller;
|
|
|
|
public override void AfterAwake()
|
|
{
|
|
building = FindSingle<Building>();
|
|
controller = FindSingle<OrbitalController>();
|
|
var optionManager = FindSingle<OptionManager>();
|
|
var libraryManager = FindSingle<LibraryManager>();
|
|
var mqttManager = FindSingle<MQTT>();
|
|
var httpManager = FindSingle<HTTPRequester>();
|
|
var machineKPIManager = FindSingle<MachineKPIManager>();
|
|
var completeTimeManager = FindSingle<CompleteTimeAlarmManager>();
|
|
var productionStatusManager = FindSingle<ProductionStatusManager>();
|
|
var workConditionsManager = FindSingle<WorkConditionsManager>();
|
|
var workTimeManager = FindSingle<WorkTimeManager>();
|
|
var highLightManager = FindSingle<HighLighterManager>();
|
|
|
|
var topCanvas = FindSingle<Canvas_Top>();
|
|
var rightCanvas = FindSingle<Canvas_Right>();
|
|
var popupCanvas = FindSingle<Canvas_Popup>();
|
|
var datamanager = FindSingle<DataManager>();
|
|
var raycaster = FindSingle<CHNRaycaster>();
|
|
|
|
topCanvas.panel_toolbar.onClickCameraView += ChangeCameraView;
|
|
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
|
|
topCanvas.panel_toolbar.onClickCustomView += controller.SaveTargetPosition;
|
|
topCanvas.panel_toolbar.onClickMiniMap += popupCanvas.panel_minimap.SetActive;
|
|
topCanvas.panel_toolbar.onClickFloorControl += rightCanvas.panel_floorcontrol.SetActive;
|
|
|
|
topCanvas.panel_toptoolbar.GetFloor = building.GetFloor;
|
|
topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.Open;
|
|
topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad;
|
|
topCanvas.panel_toptoolbar.onClickWorkProgress += popupCanvas.panel_workprogressstatus.Open;
|
|
topCanvas.panel_toptoolbar.onClickProductionProgress += popupCanvas.panel_injectionproduction.Open;
|
|
topCanvas.panel_toptoolbar.onClickAssemblyProgress += popupCanvas.panel_assemblyproduction.Open;
|
|
topCanvas.panel_toptoolbar.onClickSetting += popupCanvas.panel_menu.Open;
|
|
topCanvas.panel_toptoolbar.onClickExit += ExitProgram;
|
|
|
|
rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor;
|
|
rightCanvas.panel_floorcontrol.onValueChanged += popupCanvas.panel_minimap.ChangeMiniMapFloor;
|
|
|
|
popupCanvas.panel_dashboard.dashBoardCheckListBox.onCloseDashboard += topCanvas.panel_toolbar.SetDashboard;
|
|
|
|
popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering;
|
|
popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine;
|
|
popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpenFromLibrary;
|
|
popupCanvas.panel_library.onClickLibraryButton += highLightManager.ActiveHighLighter;
|
|
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.onClickLibraryCloseButton += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
|
|
|
|
popupCanvas.simpleView += datamanager.SimpleFiledChange;
|
|
popupCanvas.onClickSimple += datamanager.GetSimpleCompleteData;
|
|
popupCanvas.onClickDetail += datamanager.GetCompleteInfo;
|
|
popupCanvas.onOpenDashboard += popupCanvas.panel_completealramhistory.Close;
|
|
|
|
popupCanvas.panel_completealramhistory.onClickAlram += completeTimeManager.MachineCorrespondingToAlarm;
|
|
popupCanvas.panel_completealramhistory.onCheckAlarmData += completeTimeManager.CheckCompleteTimeAlarm;
|
|
popupCanvas.panel_completealramhistory.onCheckAlarm += topCanvas.panel_toptoolbar.SetAlarmCount;
|
|
popupCanvas.panel_completealramhistory.onOpen += popupCanvas.CurrentDashoboardClose;
|
|
popupCanvas.panel_completealramhistory.onDashobardOpen += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem;
|
|
popupCanvas.panel_completealramhistory.onDashobardClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
|
|
popupCanvas.panel_completealramhistory.onClose += highLightManager.ResetAllHighLighter;
|
|
|
|
popupCanvas.panel_workconditionanalysis.onDateData += httpManager.GetFacilityCodeData;
|
|
popupCanvas.panel_workconditionanalysis.onFacilityCodeData += httpManager.GetWorkItemCodeData;
|
|
popupCanvas.panel_workconditionanalysis.onSearchData += httpManager.SearchWorkConditions;
|
|
popupCanvas.panel_workconditionanalysis.onChangedDropdownValue += workConditionsManager.ChangeMainChartData;
|
|
popupCanvas.panel_workconditionanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
|
|
|
|
popupCanvas.panel_worktimeanalysis.onDateData += httpManager.GetFacilityCodeData;
|
|
popupCanvas.panel_worktimeanalysis.onFacilityCodeData += httpManager.GetWorkItemCodeData;
|
|
popupCanvas.panel_worktimeanalysis.onSearchData += httpManager.SearchWorkTime;
|
|
popupCanvas.panel_worktimeanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
|
|
|
|
popupCanvas.panel_assemblyproduction.onOpen += popupCanvas.panel_injectionproduction.Close;
|
|
popupCanvas.panel_assemblyproduction.onOpen += popupCanvas.panel_workprogressstatus.Close;
|
|
popupCanvas.panel_assemblyproduction.onOpen += popupCanvas.panel_workconditionanalysis.OnClickCloseButton;
|
|
|
|
popupCanvas.panel_injectionproduction.onOpen += popupCanvas.panel_assemblyproduction.Close;
|
|
popupCanvas.panel_injectionproduction.onOpen += popupCanvas.panel_workprogressstatus.Close;
|
|
popupCanvas.panel_injectionproduction.onOpen += popupCanvas.panel_workconditionanalysis.OnClickCloseButton;
|
|
|
|
popupCanvas.panel_workprogressstatus.onOpen += popupCanvas.panel_assemblyproduction.Close;
|
|
popupCanvas.panel_workprogressstatus.onOpen += popupCanvas.panel_injectionproduction.Close;
|
|
popupCanvas.panel_workprogressstatus.onOpen += popupCanvas.panel_workconditionanalysis.OnClickCloseButton;
|
|
|
|
libraryManager.onUpdateMachineFilters += popupCanvas.panel_library.UpdateFileterList;
|
|
libraryManager.onLibraryFilterigComplete += popupCanvas.panel_library.AddLibrarayButtons;
|
|
|
|
datamanager.onSimpleInfo += popupCanvas.SimpleView;
|
|
datamanager.onCompleteInfo += popupCanvas.DetailView;
|
|
mqttManager.onNotloadData += popupCanvas.panel_completealramhistory.ActiveLoadingImage;
|
|
mqttManager.onMachineData += datamanager.MachineMatching;
|
|
mqttManager.onMachineData += completeTimeManager.SetCurrentData;
|
|
mqttManager.onMachineData += productionStatusManager.SetFloorProductionStatus;
|
|
mqttManager.onWorkshopData += productionStatusManager.SetWorkProgressStatus;
|
|
|
|
productionStatusManager.onFirstFloorInfo += popupCanvas.panel_injectionproduction.SetProductionStatus;
|
|
productionStatusManager.onSecondFloorInfo += popupCanvas.panel_assemblyproduction.SetProductionStatus;
|
|
productionStatusManager.onWorkShopInfo += popupCanvas.panel_workprogressstatus.SetWorkProgressStatus;
|
|
productionStatusManager.onActiveFirstBoard += popupCanvas.panel_injectionproduction.Open;
|
|
productionStatusManager.onActiveSecondBoard += popupCanvas.panel_assemblyproduction.Open;
|
|
|
|
completeTimeManager.onLoadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems;
|
|
completeTimeManager.onUnloadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems;
|
|
completeTimeManager.onActiveHighLighter += highLightManager.ActiveHighLighter;
|
|
completeTimeManager.onActiveHighLighter += highLightManager.SetTargetPosToMachine;
|
|
|
|
httpManager.onMachineKPIData += machineKPIManager.SetMachineKPI;
|
|
httpManager.onWorkConditionsfacilityData += popupCanvas.panel_workconditionanalysis.SetFacilityDropDown;
|
|
httpManager.onWorkConditionsItemCodeData += popupCanvas.panel_workconditionanalysis.SetWorkItemCodeDropDown;
|
|
httpManager.onWorkTimefacilityData += popupCanvas.panel_worktimeanalysis.SetFacilityDropDown;
|
|
httpManager.onWorkTimeItemCodeData += popupCanvas.panel_worktimeanalysis.SetWorkItemCodeDropDown;
|
|
httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData;
|
|
httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData;
|
|
|
|
workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData;
|
|
workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData;
|
|
workConditionsManager.onSendSubChartData += popupCanvas.panel_workconditionanalysis.SetSubChartDatas;
|
|
|
|
workTimeManager.onSendChartData += popupCanvas.panel_worktimeanalysis.SetWorkTimeData;
|
|
|
|
raycaster.onLeftClickMachine += popupCanvas.MachineDashBoardOpenFromOnClick;
|
|
raycaster.onLeftClickMachine += highLightManager.ActiveHighLighter;
|
|
raycaster.onClickThermostat += popupCanvas.panel_thermostatcontrol.Open;
|
|
raycaster.onClickProductionBoard += productionStatusManager.ActiveBoardToType;
|
|
|
|
optionManager.onCompletedLoadOption += popupCanvas.panel_controlsetting.InitOptionSetting;
|
|
optionManager.onCompletedLoadOption += popupCanvas.panel_protocolsetting.InitOptionSetting;
|
|
optionManager.LoadOption();
|
|
}
|
|
|
|
private void ExitProgram()
|
|
{
|
|
var mqtt = FindSingle<MQTT>();
|
|
mqtt.Disconnect();
|
|
|
|
#if UNITY_EDITOR
|
|
UnityEditor.EditorApplication.isPlaying = false;
|
|
#else
|
|
Application.Quit(); // ¾îÇø®ÄÉÀÌ¼Ç Á¾·á
|
|
#endif
|
|
}
|
|
private void SceneReLoad()
|
|
{
|
|
controller.option.isFirstPersonView = false;
|
|
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
|
|
}
|
|
private void ChangeCameraView(ViewMode mode)
|
|
{
|
|
controller.SetViewMode(mode);
|
|
|
|
switch (mode)
|
|
{
|
|
case ViewMode.PerspectiveView:
|
|
var perspectivePos = controller.option.target.position;
|
|
var floorStartPos = building.currentFloor.StartPoint.position;
|
|
controller.nextPosition = new Vector3(perspectivePos.x, floorStartPos.y, perspectivePos.z);
|
|
|
|
building.SetAllFloorExternalState();
|
|
break;
|
|
|
|
case ViewMode.TopView:
|
|
building.SetAllFloorExternalState();
|
|
break;
|
|
|
|
case ViewMode.FirstPersonView:
|
|
|
|
if (building.currentFloor.isEmptyFloor)
|
|
return;
|
|
|
|
if (controller.saveTargetPositions[ViewMode.FirstPersonView] == null)
|
|
{
|
|
building.SetCurrentFloorInternalState();
|
|
|
|
var pos = controller.option.target.position;
|
|
var startPos = building.currentFloor.StartPoint.position;
|
|
|
|
if (building.currentFloor.FloorContainsPoint(pos))
|
|
{
|
|
var tourModePos = new Vector3(pos.x, startPos.y, pos.z);
|
|
controller.option.target.position = tourModePos;
|
|
controller.nextPosition = tourModePos;
|
|
break;
|
|
}
|
|
|
|
controller.option.target.position = startPos;
|
|
controller.nextPosition = startPos;
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
var floorIndex = controller.saveTargetPositions[ViewMode.FirstPersonView].floorIndex;
|
|
var slider = FindSingle<Canvas_Right>().panel_floorcontrol;
|
|
slider.ChangeValueFromOutside(floorIndex);
|
|
break;
|
|
}
|
|
}
|
|
|
|
controller.LastPositioning(true);
|
|
}
|
|
}
|
|
}
|
|
|