116 lines
5.3 KiB
C#
116 lines
5.3 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_StartSetting panel_startsetting;
|
|
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_AssetProperties panel_assetproperties;
|
|
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_AssetEdit panel_assetedit;
|
|
public Panel_Thumbnail panel_thumbnail;
|
|
public Panel_ObjectDistance panel_objectdistance;
|
|
public Panel_Authentication panel_authentication;
|
|
public Panel_APIConnectModal panel_apiconnectmodal;
|
|
public Panel_MQTTConnectModal panel_mqttconnectmodal;
|
|
public Panel_DataFilterSetting panel_datafiltersetting;
|
|
public Panel_MultilingualSettingModal panel_multilingualsettingmodal;
|
|
public Panel_LoggingModal panel_loggingmodal;
|
|
public Panel_ExitChecker panel_exitchecker;
|
|
public Panel_DataRepository panel_datarepository;
|
|
|
|
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 renderObjectHandler = ManagerHub.instance.Get<RenderObjectHandler>();
|
|
panel_dynamicobjectinfo.onTransformChanged += renderObjectHandler.OnTransformChanged;
|
|
|
|
var raycaster = GameObject.FindAnyObjectByType<Raycaster>();
|
|
raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip;
|
|
raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip;
|
|
|
|
foreach (var panel in GetComponentsInChildren<PanelBase>(true))
|
|
{
|
|
panel.onEnableEvent += SetPanelAsLastSibling;
|
|
}
|
|
|
|
var fbxFileManager = ManagerHub.instance.Get<FBXFileManager>();
|
|
panel_assetproperties.onOpen += fbxFileManager.GetCustomAssetData;
|
|
panel_thumbnail.onOpen += fbxFileManager.GetCustomAssetData;
|
|
|
|
canvasHandler = new PopupCanvasHandler(this);
|
|
|
|
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_assetmanager.onSelectedURLs += () => CommandInvoker.instance.Invoke(new LoadLocalAssetCommand());
|
|
panel_assetsetting.onSelectedURLs += () => CommandInvoker.instance.Invoke(new LoadLocalAssetCommand());
|
|
|
|
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;
|
|
|
|
panel_mqttconnectmodal.onClickFilterButton += dataManager.SetFilterData;
|
|
panel_mqttconnectmodal.onSaveMQTTData += dataManager.SetMQTTData;
|
|
|
|
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();
|
|
}
|
|
}
|
|
}
|