113 lines
5.1 KiB
C#
113 lines
5.1 KiB
C#
using Studio.AssetTool;
|
|
using Studio.Command;
|
|
using Studio.Manage;
|
|
using Studio.UI;
|
|
using UnityEngine;
|
|
using XRLib;
|
|
using XRLib.UI;
|
|
|
|
namespace Studio
|
|
{
|
|
public class Canvas_Popup : CanvasBase, ISingle
|
|
{
|
|
public Panel_Start panel_start;
|
|
public Panel_NewProjectInfo panel_newprojectinfo;
|
|
public Panel_OpenProjectInfo panel_openprojectinfo;
|
|
public Panel_TopMenuNewProjectInfo panel_topmenunewprojectinfo;
|
|
public Panel_TopMenuOpenProjectInfo panel_topmenuopenprojectinfo;
|
|
|
|
public Panel_AppSetting panel_appsetting;
|
|
public Panel_AuthSetting panel_authsetting;
|
|
public Panel_APISetting panel_apisetting;
|
|
public Panel_MQTTSetting panel_mqttsetting;
|
|
public Panel_AssetSetting panel_assetsetting;
|
|
public Panel_3DFactorySetting panel_3dfactorysetting;
|
|
public Panel_DynamicObjectUISetting panel_dynamicobjectuisetting;
|
|
|
|
//public Panel_AssetManager panel_assetmanager;
|
|
public Panel_AccessibilitySettings panel_accessibilitysettings;
|
|
public Panel_ColorPicker panel_colorpicker;
|
|
public Panel_Hierarchy panel_hierarchy;
|
|
public Panel_AssetLibrary panel_assetlibrary;
|
|
public Panel_InterworkingDataList panel_interworkingdatalist;
|
|
public Panel_InterferedObjectList panel_interferedobjectlist;
|
|
public Panel_PredefinedType panel_predefinedtype;
|
|
public Panel_DynamicObjectInfo panel_dynamicobjectinfo;
|
|
// public Panel_ObjectInfo panel_objectinfo;
|
|
public Panel_ObjectAlign panel_objectalign;
|
|
public Panel_Tooltip panel_tooltip;
|
|
public Panel_PropertyViewer panel_propertyviewer;
|
|
//public Panel_ObjectDistance panel_objectdistance;
|
|
public Panel_APIConnectModal panel_apiconnectmodal;
|
|
public Panel_DataFilterSetting panel_datafiltersetting;
|
|
public Panel_MultilingualSettingModal panel_multilingualsettingmodal;
|
|
public Panel_LoggingModal panel_loggingmodal;
|
|
public Panel_ExitChecker panel_exitchecker;
|
|
public Panel_SaveAndNewChecker panel_saveandnewchecker;
|
|
public Panel_SaveAndOpenChecker panel_saveandopenchecker;
|
|
public Panel_DataRepository panel_datarepository;
|
|
public Panel_ObjectDetails panel_objectdetails;
|
|
public Panel_Toolbar panel_toolbar;
|
|
public Panel_DataConnectModal panel_dataconnectmodal;
|
|
public Panel_AlarmConnectModal panel_alarmconnectmodal;
|
|
internal Panel_MQTTTestResult panel_mqtttestresult;
|
|
|
|
private void Awake()
|
|
{
|
|
panel_datarepository = GetComponentInChildren<Panel_DataRepository>(true);
|
|
panel_datarepository.onEnableEvent += SetPanelAsLastSibling;
|
|
}
|
|
|
|
public override void AfterAwake()
|
|
{
|
|
var raycaster = GameObject.FindAnyObjectByType<Raycaster>();
|
|
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
|
|
var renderObjectHandler = ManagerHub.instance.Get<RenderObjectHandler>();
|
|
var childPanels = GetComponentsInChildren<PanelBase>(true);
|
|
|
|
panel_dynamicobjectinfo.onTransformChanged += renderObjectHandler.OnTransformChanged;
|
|
|
|
raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip;
|
|
raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip;
|
|
|
|
foreach (var panel in childPanels)
|
|
{
|
|
panel.onEnableEvent += SetPanelAsLastSibling;
|
|
}
|
|
|
|
|
|
canvasHandler = new PopupCanvasHandler(this);
|
|
|
|
var assetManager = ManagerHub.instance.Get<AssetManager>();
|
|
var dataManager = FindAnyObjectByType<ConnectDataManager>();
|
|
var quitManager = FindAnyObjectByType<QuitManager>();
|
|
|
|
panel_newprojectinfo.onClickCreate += () => CommandInvoker.instance.Invoke(new NewProjectCommand());
|
|
panel_openprojectinfo.onClickOpen += () => CommandInvoker.instance.Invoke(new OpenProjectCommand());
|
|
panel_assetsetting.onSelectedURL += assetManager.LoadAssetSettingFBXDirectorys;
|
|
|
|
panel_saveandnewchecker.onClickSaveAndNew += () => CommandInvoker.instance.Invoke(new SaveAndNewProjectCommand());
|
|
panel_saveandopenchecker.onClickSaveAndOpen += () => CommandInvoker.instance.Invoke(new SaveAndOpenProjectCommand());
|
|
|
|
panel_topmenunewprojectinfo.onClickCreate += () => CommandInvoker.instance.Invoke(new TopMenuNewProjectCommand());
|
|
panel_topmenuopenprojectinfo.onClickOpen += () => CommandInvoker.instance.Invoke(new TopMenuOpenProjectCommand());
|
|
|
|
panel_apiconnectmodal.onClickFilterButton += dataManager.SetFilterData;
|
|
panel_apiconnectmodal.onSaveAPIData += dataManager.SetAPIData;
|
|
|
|
dataManager.mqttData += panel_datafiltersetting.SetLoadMQTTDataList;
|
|
dataManager.apiData += panel_datafiltersetting.SetLoadAPIDataList;
|
|
|
|
panel_exitchecker.onSaveAndExit += quitManager.OnConfirmQuit;
|
|
panel_exitchecker.onExit += quitManager.OnConfirmQuit;
|
|
panel_exitchecker.onCancel += quitManager.OnCancelQuit;
|
|
|
|
}
|
|
|
|
void SetPanelAsLastSibling(UIBase panel)
|
|
{
|
|
panel.gameObject.transform.SetAsLastSibling();
|
|
}
|
|
}
|
|
}
|