Files
ChunilENG/Assets/Scripts/EventConnecter.cs

157 lines
8.7 KiB
C#
Raw Normal View History

2025-02-20 09:59:37 +09:00
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>();
2025-03-10 16:42:23 +09:00
var workConditionsManager = FindSingle<WorkConditionsManager>();
2025-03-12 09:55:47 +09:00
var workTimeManager = FindSingle<WorkTimeManager>();
2025-02-20 09:59:37 +09:00
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;
2025-03-14 09:21:26 +09:00
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
topCanvas.panel_toolbar.onClickCustomView += controller.SaveTargetPosition;
topCanvas.panel_toolbar.onClickMiniMap += popupCanvas.panel_minimap.SetActive;
2025-02-20 09:59:37 +09:00
topCanvas.panel_toptoolbar.GetFloor = building.GetFloor;
topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.SetActive;
2025-02-20 09:59:37 +09:00
topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad;
topCanvas.panel_toptoolbar.onClickWorkProgress += popupCanvas.panel_workprogressstatus.Open;
2025-02-20 09:59:37 +09:00
topCanvas.panel_toptoolbar.onClickProductionProgress += popupCanvas.panel_injectionproduction.Open;
topCanvas.panel_toptoolbar.onClickAssemblyProgress += popupCanvas.panel_assemblyproduction.Open;
topCanvas.panel_toptoolbar.onClickSetting += popupCanvas.panel_menu.Open;
2025-03-13 09:41:50 +09:00
rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor;
rightCanvas.panel_floorcontrol.onValueChanged += popupCanvas.panel_minimap.ChangeMiniMapFloor;
2025-02-20 09:59:37 +09:00
popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering;
popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine;
popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpenFromLibrary;
popupCanvas.panel_library.onClickLibraryButton += libraryManager.SetTargetPosToMachine;
2025-02-25 17:31:42 +09:00
popupCanvas.panel_library.onClickLibraryButton += libraryManager.ActivateMachinesHighlight;
2025-02-20 09:59:37 +09:00
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.onClickAlram += completeTimeManager.MachineCorrespondingToAlarm;
2025-02-20 09:59:37 +09:00
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_completealramhistory.onClose += completeTimeManager.ResetMachinesHighLight;
2025-02-20 09:59:37 +09:00
2025-03-10 16:42:23 +09:00
popupCanvas.panel_workconditionanalysis.onSearchData += httpManager.SearchWorkConditions;
popupCanvas.panel_workconditionanalysis.onChangedDropdownValue += workConditionsManager.ChangeMainChartData;
popupCanvas.panel_workconditionanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
2025-03-10 16:42:23 +09:00
2025-03-11 10:23:44 +09:00
popupCanvas.panel_worktimeanalysis.onSearchData += httpManager.SearchWorkTime;
popupCanvas.panel_worktimeanalysis.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
2025-03-11 10:23:44 +09:00
2025-02-20 09:59:37 +09:00
libraryManager.onUpdateMachineFilters += popupCanvas.panel_library.UpdateFileterList;
libraryManager.onLibraryFilterigComplete += popupCanvas.panel_library.AddLibrarayButtons;
datamanager.onSimpleInfo += popupCanvas.SimpleView;
datamanager.onCompleteInfo += popupCanvas.DetailView;
mqttManager.onMachineData += datamanager.MachineMatching;
mqttManager.onMachineData += completeTimeManager.SetCurrentData;
mqttManager.onMachineData += productionStatusManager.SetFloorProductionStatus;
mqttManager.onWorkshopData += productionStatusManager.SetWorkProgressStatus;
2025-02-20 09:59:37 +09:00
productionStatusManager.onFirstFloorInfo += popupCanvas.panel_injectionproduction.SetProductionStatus;
productionStatusManager.onSecondFloorInfo += popupCanvas.panel_assemblyproduction.SetProductionStatus;
productionStatusManager.onWorkShopInfo += popupCanvas.panel_workprogressstatus.SetWorkProgressStatus;
2025-02-20 09:59:37 +09:00
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;
2025-03-10 16:42:23 +09:00
httpManager.onWorkConditionsfacilityData += popupCanvas.panel_workconditionanalysis.SetFacilityDropDown;
2025-03-11 10:23:44 +09:00
httpManager.onWorkConditionsfacilityData += popupCanvas.panel_worktimeanalysis.SetFacilityDropDown;
2025-03-10 16:42:23 +09:00
httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData;
2025-03-12 09:55:47 +09:00
httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData;
2025-03-10 16:42:23 +09:00
workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData;
workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData;
workConditionsManager.onSendSubChartData += popupCanvas.panel_workconditionanalysis.SetSubChartDatas;
2025-02-20 09:59:37 +09:00
2025-03-12 09:55:47 +09:00
workTimeManager.onSendChartData += popupCanvas.panel_worktimeanalysis.SetWorkTimeData;
2025-02-20 09:59:37 +09:00
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)
{
2025-03-14 09:21:26 +09:00
if (building.currentFloor.isEmptyFloor)
return;
2025-02-20 09:59:37 +09:00
switch (mode)
{
case ViewMode.PerspectiveView:
building.SetAllFloorExternalState();
break;
case ViewMode.FirstPersonView:
building.SetCurrentFloorInternalState();
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;
}
2025-03-14 09:21:26 +09:00
controller.SetViewMode(mode);
2025-02-20 09:59:37 +09:00
}
}
}