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(); controller = FindSingle(); var optionManager = FindSingle(); var libraryManager = FindSingle(); var mqttManager = FindSingle(); var httpManager = FindSingle(); var machineKPIManager = FindSingle(); var completeTimeManager = FindSingle(); var productionStatusManager = FindSingle(); var workConditionsManager = FindSingle(); var workTimeManager = FindSingle(); var topCanvas = FindSingle(); var rightCanvas = FindSingle(); var popupCanvas = FindSingle(); var datamanager = FindSingle(); var raycaster = FindSingle(); //building.onSettingBuildingComplete += topCanvas.panel_toptoolbar.SetChangeViewState; topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open; topCanvas.panel_toolbar.onClickCameraView += ChangeCameraView; topCanvas.panel_toptoolbar.GetFloor = building.GetFloor; //topCanvas.panel_toptoolbar.onChangeView += ChangeCameraView; topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.SetActive; topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad; 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_toolbar.onClickMiniMap += popupCanvas.panel_minimap.SetActive; rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor; rightCanvas.panel_floorcontrol.onValueChanged += popupCanvas.panel_minimap.ChangeMiniMapFloor; popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering; popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine; popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpenFromLibrary; popupCanvas.panel_library.onClickLibraryButton += libraryManager.SetTargetPosToMachine; popupCanvas.panel_library.onClickLibraryButton += libraryManager.ActivateMachinesHighlight; popupCanvas.panel_library.onDeselectLibraryButton += popupCanvas.MachineDashBoardClose; popupCanvas.panel_library.onClose += libraryManager.ResetAllMachinesHighLight; popupCanvas.simpleView += datamanager.SimpleFiledChange; popupCanvas.onClickSimple += datamanager.GetSimpleCompleteData; popupCanvas.onClickDetail += datamanager.GetCompleteInfo; popupCanvas.panel_completealramhistory.onCheckAlarmData += completeTimeManager.CheckCompleteTimeAlarm; popupCanvas.panel_completealramhistory.onCheckAlarm += topCanvas.panel_toptoolbar.SetAlarmCount; popupCanvas.panel_completealramhistory.onOpen += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem; popupCanvas.panel_completealramhistory.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem; popupCanvas.panel_workconditionanalysis.onSearchData += httpManager.SearchWorkConditions; popupCanvas.panel_workconditionanalysis.onChangedDropdownValue += workConditionsManager.ChangeMainChartData; popupCanvas.panel_workconditionanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem; popupCanvas.panel_worktimeanalysis.onSearchData += httpManager.SearchWorkTime; popupCanvas.panel_worktimeanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem; libraryManager.onUpdateMachineFilters += popupCanvas.panel_library.UpdateFileterList; libraryManager.onLibraryFilterigComplete += popupCanvas.panel_library.AddLibrarayButtons; libraryManager.onTargetSetting += controller.SetTargetPos; datamanager.onSimpleInfo += popupCanvas.SimpleView; datamanager.onCompleteInfo += popupCanvas.DetailView; mqttManager.onMachineData += datamanager.MachineMatching; mqttManager.onMachineData += completeTimeManager.SetCurrentData; mqttManager.onMachineData += productionStatusManager.SetFloorProductionStatus; productionStatusManager.onFirstFloorInfo += popupCanvas.panel_injectionproduction.SetProductionStatus; productionStatusManager.onSecondFloorInfo += popupCanvas.panel_assemblyproduction.SetProductionStatus; productionStatusManager.onActiveFirstBoard += popupCanvas.panel_injectionproduction.Open; productionStatusManager.onActiveSecondBoard += popupCanvas.panel_assemblyproduction.Open; completeTimeManager.onLoadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; completeTimeManager.onUnloadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; httpManager.onMachineKPIData += machineKPIManager.SetMachineKPI; httpManager.onWorkConditionsfacilityData += popupCanvas.panel_workconditionanalysis.SetFacilityDropDown; httpManager.onWorkConditionsfacilityData += popupCanvas.panel_worktimeanalysis.SetFacilityDropDown; 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.onRightClickMachine += popupCanvas.ui_workanalysis.SetAnimation; raycaster.onRightClick += popupCanvas.ui_workanalysis.DeActive; raycaster.onClickProductionBoard += productionStatusManager.ActiveBoardToType; optionManager.onCompletedLoadOption += popupCanvas.panel_controlsetting.InitOptionSetting; optionManager.onCompletedLoadOption += popupCanvas.panel_protocolsetting.InitOptionSetting; optionManager.LoadOption(); } public override void AfterStart() { controller.onCameraMove += building.UnderCeilingControl; } 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: building.SetAllFloorExternalState(); break; case ViewMode.FirstPersonView: building.SetCurrentFloorInternalState(); var raycaster = FindSingle(); //if (raycaster.hitFloorIndex != building.currentFloor.floorIndex) //{ // var slider = FindSingle().panel_floorcontrol; // slider.ChangeValueFromOutside(raycaster.hitFloorIndex); //} var pos = controller.option.target.position; if (building.currentFloor.FloorContainsPoint(pos)) break; var startPos = building.currentFloor.StartPoint.position; controller.option.target.position = startPos; controller.nextPosition = startPos; break; } } } }