Merge branch 'jym/250522_00' into jym/250522_01
# Conflicts: # Assets/Scripts/Studio/UI/Canvas/Canvas_Static.cs
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f1ab105e95a7ee44965ac5927623809
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07b2c65fe41bd8e43a7bcbd12ddeda0d
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 319962c572705f943b93efea9c0d6e93
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2284d63b7488f2b45a99645f208eca55
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"defaultLanguage": "Ko",
|
||||
"languages": {
|
||||
"Ko": "한국어",
|
||||
"En": "English",
|
||||
"Ja": "日本語"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be71b5d18f50b9f4791093ac7cf722d7
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 259f375e4270b6243af7dd67c3770d95
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83dffcb445724e44eab4e5f3a2fec973
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb4fd155efe15a040bf1c1c936399a6a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4e0d5bd459141d14892f068ccc1d6c13
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,62 +0,0 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using Studio.UI;
|
||||
using XRLib;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
public class StudioJYMCanvas_Popup : CanvasBase, ISingle
|
||||
{
|
||||
public Panel_DataConnectModal panel_dataconnectmodal;
|
||||
public Panel_AlarmConnectModal panel_alarmconnectmodal;
|
||||
public Panel_DynamicObjectInfo panel_dynamicobjectinfo;
|
||||
public Panel_MQTTConnectModal panel_mqttconnectmodal;
|
||||
public Panel_DataFilterSetting panel_datafiltersetting;
|
||||
public Panel_APIConnectModal panel_apiconnectmodal;
|
||||
public Panel_3DFactorySetting panel_3dfactorysetting;
|
||||
public Panel_DynamicObjectUISetting panel_dynamicobjectuisetting;
|
||||
public Panel_ExitChecker panel_exitchecker;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
canvasHandler = new StudioJYMPopupCanvasHandler(this);
|
||||
}
|
||||
public override void AfterAwake()
|
||||
{
|
||||
var dataManager = FindAnyObjectByType<ConnectDataManager>();
|
||||
var quitManager = FindAnyObjectByType<QuitManager>();
|
||||
|
||||
panel_dataconnectmodal.onSaveConnectedData += dataManager.SaveData;
|
||||
panel_alarmconnectmodal.onSaveConnectAlarmData += dataManager.SaveAlarmData;
|
||||
|
||||
panel_dynamicobjectinfo.onRetouchData += dataManager.LoadData;
|
||||
panel_dynamicobjectinfo.onDeleteData += dataManager.RemoveData;
|
||||
|
||||
panel_dynamicobjectinfo.onRetouchAlarm += dataManager.LoadAlarmData;
|
||||
panel_dynamicobjectinfo.onDeleteAlarm += dataManager.RemoveAlarmData;
|
||||
|
||||
panel_mqttconnectmodal.onClickFilterButton += dataManager.SetFilterData;
|
||||
panel_mqttconnectmodal.onSaveMQTTData += dataManager.SetMQTTData;
|
||||
|
||||
panel_apiconnectmodal.onClickFilterButton += dataManager.SetFilterData;
|
||||
panel_apiconnectmodal.onSaveAPIData += dataManager.SetAPIData;
|
||||
|
||||
dataManager.onConnectData += panel_dynamicobjectinfo.OnConnectData;
|
||||
dataManager.onLoadData += panel_dataconnectmodal.SetLoadSaveData;
|
||||
|
||||
dataManager.onConnectAlarm += panel_dynamicobjectinfo.OnConnectAlarm;
|
||||
dataManager.onLoadAlarm += panel_alarmconnectmodal.LoadData;
|
||||
|
||||
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;
|
||||
|
||||
quitManager.onOpen += panel_exitchecker.Open;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ce9c9e8dfd0d6774db8b84fbcc818a4e
|
||||
@@ -1,19 +0,0 @@
|
||||
using UnityEngine;
|
||||
using Studio.Manage;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
public class StudioJYMPopupCanvasHandler : CanvasEventHandler
|
||||
{
|
||||
public StudioJYMPopupCanvasHandler(StudioJYMCanvas_Popup canvas_Popup)
|
||||
{
|
||||
canvas_Popup.panel_dynamicobjectinfo.onConnectedData += canvas_Popup.panel_dataconnectmodal.OpenModal;
|
||||
canvas_Popup.panel_dynamicobjectinfo.onConnectedAlarm += canvas_Popup.panel_alarmconnectmodal.OpenModal;
|
||||
|
||||
canvas_Popup.panel_datafiltersetting.onSaveMQTTFilterData += canvas_Popup.panel_mqttconnectmodal.SetFilterData;
|
||||
canvas_Popup.panel_datafiltersetting.onSaveAPIFilterData += canvas_Popup.panel_apiconnectmodal.SetFilterData;
|
||||
|
||||
canvas_Popup.panel_3dfactorysetting.onUISetting += canvas_Popup.panel_dynamicobjectuisetting.SetData;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b312c88a0bcbbd04c959de79c2c4cd71
|
||||
@@ -31,7 +31,6 @@ namespace Studio
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
var saveSceneSettingManager = ManagerHub.instance.Get<SaveSceneSettingManager>();
|
||||
var dataManager = FindAnyObjectByType<ConnectDataManager>();
|
||||
var quitManager = FindAnyObjectByType<QuitManager>();
|
||||
|
||||
@@ -46,9 +45,6 @@ namespace Studio
|
||||
dataManager.mqttData += panel_datafiltersetting.SetLoadMQTTDataList;
|
||||
dataManager.apiData += panel_datafiltersetting.SetLoadAPIDataList;
|
||||
|
||||
panel_startsetting.onClickSaveButton += saveSceneSettingManager.SaveSceneSettingData;
|
||||
panel_startsetting.onClickLoadButton += saveSceneSettingManager.LoadSceneSettingData;
|
||||
|
||||
panel_exitchecker.onSaveAndExit += quitManager.OnConfirmQuit;
|
||||
panel_exitchecker.onExit += quitManager.OnConfirmQuit;
|
||||
panel_exitchecker.onCancel += quitManager.OnCancelQuit;
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
|
||||
namespace Studio.UI
|
||||
@@ -15,6 +16,7 @@ namespace Studio.UI
|
||||
private RectTransform TemplateDropdown;
|
||||
private RectTransform Content;
|
||||
public TMP_InputField InputField_ProjectTemplate;
|
||||
public Button Button_Dropdown;
|
||||
|
||||
private List<string> options = new();
|
||||
private List<GameObject> activeOptionItems = new List<GameObject>();
|
||||
@@ -34,7 +36,7 @@ namespace Studio.UI
|
||||
{
|
||||
optionItemPrefab = Resources.Load<GameObject>("Prefabs/UI/PRF_QuickStartItem");
|
||||
InputField_ProjectTemplate.onValueChanged.AddListener(FilteringOption);
|
||||
InputField_ProjectTemplate.onSelect.AddListener(ShowDropdown);
|
||||
Button_Dropdown.onClick.AddListener(ShowDropdown);
|
||||
|
||||
HideDropdown();
|
||||
}
|
||||
@@ -44,7 +46,7 @@ namespace Studio.UI
|
||||
CreateDropdown();
|
||||
}
|
||||
|
||||
private void ShowDropdown(string input)
|
||||
private void ShowDropdown()
|
||||
{
|
||||
TemplateDropdown.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TMPro;
|
||||
using TriLibCore.SFB;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
@@ -33,6 +34,12 @@ namespace Studio.UI
|
||||
|
||||
private void OnClickFileExplorer()
|
||||
{
|
||||
var paths = StandaloneFileBrowser.OpenFolderPanel("Select Folder", "", false);
|
||||
|
||||
if (paths.Count > 0 && !string.IsNullOrEmpty(paths[0].Name))
|
||||
{
|
||||
InputField_ProjectRoute.text = paths[0].Name;
|
||||
}
|
||||
onClickFileExplorer?.Invoke();
|
||||
}
|
||||
|
||||
@@ -50,6 +57,21 @@ namespace Studio.UI
|
||||
{
|
||||
SetActive(false);
|
||||
}
|
||||
public string GetProjectName()
|
||||
{
|
||||
var name = InputField_ProjectName.text;
|
||||
return name;
|
||||
}
|
||||
public string GetProjectRoute()
|
||||
{
|
||||
var route = InputField_ProjectRoute.text;
|
||||
return route;
|
||||
}
|
||||
public string GetProjectTemplate()
|
||||
{
|
||||
var template = InputField_ProjectTemplate.text;
|
||||
return template;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Ookii.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
@@ -38,6 +39,7 @@ namespace Studio.UI
|
||||
CreateRecentProjectItem();
|
||||
}
|
||||
}
|
||||
private int MaxRecentCount = 5;
|
||||
|
||||
private void OnClickFileExplorer()
|
||||
{
|
||||
@@ -49,7 +51,7 @@ namespace Studio.UI
|
||||
onClickServer?.Invoke();
|
||||
}
|
||||
|
||||
private void CreateRecentProjectItem()
|
||||
public void CreateRecentProjectItem()
|
||||
{
|
||||
UI_QuickStartItem item = Instantiate(recentProjectItemPrefab, Content).GetComponent<UI_QuickStartItem>();
|
||||
item.Init(name, OnClickItem);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 760eabef824940d46a364a011f425b80
|
||||
DefaultImporter:
|
||||
guid: c70df26a59bf353419dcf25ee33b394d
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c396f0856dfdd3c4f880ec92b8e0f57b
|
||||
DefaultImporter:
|
||||
guid: 96b73e9674fb61c489cee99ad24c044c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9a6930af93fbf0e4ab56103bf715341e
|
||||
DefaultImporter:
|
||||
guid: ca5e845ff3c23fb41a1de8c2563209f1
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
@@ -175,7 +175,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 69, y: -30}
|
||||
m_SizeDelta: {x: 395, y: 260}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &4447635709919238091
|
||||
MonoBehaviour:
|
||||
@@ -405,8 +405,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 197.5, y: -235}
|
||||
m_SizeDelta: {x: 395, y: 50}
|
||||
m_AnchoredPosition: {x: 190, y: -235}
|
||||
m_SizeDelta: {x: 380, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &3869925964300780349
|
||||
MonoBehaviour:
|
||||
@@ -439,7 +439,7 @@ MonoBehaviour:
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 15
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
@@ -461,6 +461,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
InputField_ProjectTemplate: {fileID: 0}
|
||||
Button_Dropdown: {fileID: 0}
|
||||
--- !u!1 &1566409390313159280
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -494,10 +495,10 @@ RectTransform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1006177941616694947}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 370, y: -25}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 35, y: 35}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2597334574092785859
|
||||
CanvasRenderer:
|
||||
@@ -527,7 +528,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Sprite: {fileID: 21300000, guid: 3faebebfb41380b4f8820adf0d965690, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -615,9 +616,9 @@ RectTransform:
|
||||
- {fileID: 1387504124464107639}
|
||||
m_Father: {fileID: 1006177941616694947}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 165, y: -25}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 330, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6489818086456709659
|
||||
@@ -830,9 +831,9 @@ RectTransform:
|
||||
- {fileID: 3298123843380424090}
|
||||
m_Father: {fileID: 8106588635392288030}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 165, y: -25}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 330, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3678092585867565062
|
||||
@@ -1248,9 +1249,9 @@ RectTransform:
|
||||
- {fileID: 8531504345396472170}
|
||||
m_Father: {fileID: 136411123651892915}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 165, y: -115}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 330, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6960228995400798344
|
||||
@@ -1426,9 +1427,9 @@ RectTransform:
|
||||
- {fileID: 8036671826876076572}
|
||||
m_Father: {fileID: 2374106145558075720}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 75, y: -25}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 150, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1458952179684348920
|
||||
@@ -1549,7 +1550,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -30, y: 30}
|
||||
m_SizeDelta: {x: 150, y: 50}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 1, y: 0}
|
||||
--- !u!114 &2127692188490003074
|
||||
MonoBehaviour:
|
||||
@@ -1627,8 +1628,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 197.5, y: -175}
|
||||
m_SizeDelta: {x: 395, y: 50}
|
||||
m_AnchoredPosition: {x: 190, y: -175}
|
||||
m_SizeDelta: {x: 380, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1531445533758858613
|
||||
MonoBehaviour:
|
||||
@@ -1661,7 +1662,7 @@ MonoBehaviour:
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 15
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
@@ -1999,7 +2000,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 60.67, y: 23.01}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7393072861479048946
|
||||
CanvasRenderer:
|
||||
@@ -2273,10 +2274,10 @@ RectTransform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8106588635392288030}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 370, y: -25}
|
||||
m_SizeDelta: {x: 50, y: 50}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 35, y: 35}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &257133671529932623
|
||||
CanvasRenderer:
|
||||
@@ -2306,7 +2307,7 @@ MonoBehaviour:
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Sprite: {fileID: 21300000, guid: 2ef3369460b480c41a1ca769aa259384, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
@@ -2430,7 +2431,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7897775839679072582
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2438,7 +2439,7 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6092324537095634317}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
@@ -2649,7 +2650,7 @@ RectTransform:
|
||||
m_Father: {fileID: 6761078585089155405}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 20, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
@@ -3130,7 +3131,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -313, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &5481025570043610218
|
||||
MonoBehaviour:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"dataList": [
|
||||
"dynamic3DModelUISetting": [
|
||||
{
|
||||
"name": "XR/AGV",
|
||||
"datas": [
|
||||
"dynamic3DModelUIData": [
|
||||
{
|
||||
"dataName": "Position",
|
||||
"dataValue": "30,25.5,15.3"
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
{
|
||||
"name": "XR/AMR",
|
||||
"datas": [
|
||||
"dynamic3DModelUIData": [
|
||||
{
|
||||
"dataName": "Position",
|
||||
"dataValue": "30,25.5,15.3"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,11 +19,8 @@ namespace Studio.Command
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
|
||||
var projectManager = ManagerHub.instance.Get<ProjectManager>();
|
||||
|
||||
projectManager.curProjectPath = string.Empty;
|
||||
projectManager.curProjectData = null;
|
||||
projectManager.NewProjectSettingData();
|
||||
|
||||
CommandInvoker.instance.Invoke(new RemoveAllObjectCommand());
|
||||
}
|
||||
|
||||
@@ -27,43 +27,60 @@ namespace Studio
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
|
||||
var projectManager = ManagerHub.instance.Get<ProjectManager>();
|
||||
var assetDataService = new AssetDataService();
|
||||
projectManager.SaveProjectSettingData();
|
||||
|
||||
bool isNewProject = string.IsNullOrEmpty(projectManager.curProjectPath);
|
||||
string path = isNewProject ? GetSaveFilePath() : projectManager.curProjectData.filePath;
|
||||
//var connector = ManagerHub.instance.Get<CustomAssetConnector>();
|
||||
//var projectManager = ManagerHub.instance.Get<ProjectManager>();
|
||||
|
||||
if (string.IsNullOrEmpty(path))
|
||||
return;
|
||||
//var assetDataService = new AssetDataService();
|
||||
|
||||
List<AssetData> assetDatas = assetDataService.SortAssetDatas(connector.connectedAssets);
|
||||
ProjectData projectData = CreateProjectData(path, assetDatas);
|
||||
//bool isNewProject = string.IsNullOrEmpty(projectManager.curProjectPath);
|
||||
//string path = isNewProject ? GetSaveFilePath() : projectManager.curProjectData.filePath;
|
||||
|
||||
string json = JsonConvert.SerializeObject(projectData);
|
||||
FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
|
||||
StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.Unicode);
|
||||
writer.Write(json);
|
||||
writer.Close();
|
||||
//if (string.IsNullOrEmpty(path))
|
||||
// return;
|
||||
|
||||
projectManager.curProjectPath = path;
|
||||
projectManager.curProjectData = projectData;
|
||||
//List<AssetData> assetDatas = assetDataService.SortAssetDatas(connector.connectedAssets);
|
||||
//ProjectData projectData = CreateProjectData(path, assetDatas);
|
||||
|
||||
//string json = JsonConvert.SerializeObject(projectData);
|
||||
//FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
|
||||
//StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.Unicode);
|
||||
//writer.Write(json);
|
||||
//writer.Close();
|
||||
|
||||
//projectManager.curProjectPath = path;
|
||||
//projectManager.curProjectData = projectData;
|
||||
}
|
||||
|
||||
private ProjectData CreateProjectData(string path, List<AssetData> assetDatas)
|
||||
{
|
||||
return new ProjectData
|
||||
{
|
||||
filePath = path,
|
||||
updateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
assetDatas = assetDatas
|
||||
};
|
||||
}
|
||||
//private ProjectData CreateProjectData(string path, List<AssetData> assetDatas)
|
||||
//{
|
||||
// return new ProjectData
|
||||
// {
|
||||
// filePath = path,
|
||||
// updateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
// sceneStartSetting = CreateSceneStartSettingData(),
|
||||
// assetDatas = assetDatas
|
||||
// };
|
||||
//}
|
||||
//private SceneStartSetting CreateSceneStartSettingData()
|
||||
//{
|
||||
// var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
|
||||
|
||||
private string GetSaveFilePath()
|
||||
{
|
||||
var data = StandaloneFileBrowser.SaveFilePanel("SaveProject", "", "", "json");
|
||||
return data.Name;
|
||||
}
|
||||
// var sceneStartSetting = new SceneStartSetting();
|
||||
// sceneStartSetting.appSetting = canvas_Popup.panel_appsetting.GetAppSetting();
|
||||
// sceneStartSetting.apiSetting = canvas_Popup.panel_apisetting.GetAPISetting();
|
||||
// sceneStartSetting.mqttSetting = canvas_Popup.panel_mqttsetting.GetMQTTSetting();
|
||||
// sceneStartSetting.saveModelDatas = canvas_Popup.panel_3dfactorysetting.Get3DFactorySetting();
|
||||
|
||||
// return sceneStartSetting;
|
||||
//}
|
||||
|
||||
//private string GetSaveFilePath()
|
||||
//{
|
||||
// var data = StandaloneFileBrowser.SaveFilePanel("SaveProject", "", "", "json");
|
||||
// return data.Name;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,82 @@ namespace Studio.Util
|
||||
{
|
||||
public class ProjectData
|
||||
{
|
||||
public string filePath;
|
||||
public string updateDate;
|
||||
public SceneStartSetting sceneStartSetting;
|
||||
public List<AssetData> assetDatas;
|
||||
}
|
||||
|
||||
public class SceneStartSetting
|
||||
{
|
||||
public AppSetting appSetting;
|
||||
public APISetting apiSetting;
|
||||
public MQTTSetting mqttSetting;
|
||||
public Dynamic3DModelSetting factorySetting;
|
||||
}
|
||||
|
||||
public class AppSetting
|
||||
{
|
||||
public string splashImageByte;
|
||||
public string animationStyle;
|
||||
public string progressBarStyle;
|
||||
public bool autoStart;
|
||||
public string defaultLanauge;
|
||||
public string languagePackPath;
|
||||
}
|
||||
|
||||
public class APISetting
|
||||
{
|
||||
public List<APIConnection> apiConnections = new List<APIConnection>();
|
||||
}
|
||||
public class APIConnection
|
||||
{
|
||||
public string domain;
|
||||
public string port;
|
||||
public List<URL> urls = new List<URL>();
|
||||
}
|
||||
public class URL
|
||||
{
|
||||
public string url;
|
||||
}
|
||||
|
||||
public class MQTTSetting
|
||||
{
|
||||
public List<MQTTConnection> mqttConnections = new List<MQTTConnection>();
|
||||
}
|
||||
public class MQTTConnection
|
||||
{
|
||||
public string domain;
|
||||
public string port;
|
||||
public List<Topic> topics = new List<Topic>();
|
||||
}
|
||||
public class Topic
|
||||
{
|
||||
public string topic;
|
||||
}
|
||||
|
||||
public class Dynamic3DModelSetting
|
||||
{
|
||||
public List<Dynamic3DModelConnection> modelDatas = new List<Dynamic3DModelConnection>();
|
||||
}
|
||||
public class Dynamic3DModelConnection
|
||||
{
|
||||
public string dataName;
|
||||
public string modelName;
|
||||
public Dynamic3DModelUISetting modelData;
|
||||
}
|
||||
public class Dynamic3DModelUISetting
|
||||
{
|
||||
public string name;
|
||||
public string dashboardStyle;
|
||||
public List<Dynamic3DModelUIData> dynamic3DModelUIData = new List<Dynamic3DModelUIData>();
|
||||
}
|
||||
public class Dynamic3DModelUIData
|
||||
{
|
||||
public string dataName;
|
||||
public string dataType;
|
||||
public string dataValue;
|
||||
}
|
||||
|
||||
public class AssetData
|
||||
{
|
||||
public int id;
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace Studio.Manage
|
||||
Join(new NodeGizmoController());
|
||||
Join(new AGVNodeLinkManager());
|
||||
Join(new AGVManager());
|
||||
Join(new SaveSceneSettingManager());
|
||||
|
||||
foreach(var m in managers)
|
||||
{
|
||||
|
||||
@@ -2,31 +2,114 @@ using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using TriLibCore.Dae.Schema;
|
||||
using TriLibCore.SFB;
|
||||
using UnityEditor;
|
||||
using Studio.AssetTool;
|
||||
using Studio.Command;
|
||||
using Studio.HierarchyTree;
|
||||
using Studio.Service;
|
||||
using Studio.Util;
|
||||
using XRLib;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Studio.Manage
|
||||
{
|
||||
public class ProjectManager : Manager
|
||||
{
|
||||
public string curProjectName;
|
||||
public string curProjectPath;
|
||||
public string curProjectTemplate;
|
||||
|
||||
public ProjectData curProjectData;
|
||||
|
||||
public Action<AppSetting> onAppSetting;
|
||||
public Action<APISetting> onAPISetting;
|
||||
public Action<MQTTSetting> onMQTTSetting;
|
||||
public Action<Dynamic3DModelSetting> onSaveModelDatas;
|
||||
|
||||
public ProjectManager()
|
||||
{
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
|
||||
|
||||
onAppSetting += canvas_Popup.panel_appsetting.SetAppSetting;
|
||||
onAPISetting += canvas_Popup.panel_apisetting.SetAPISetting;
|
||||
onMQTTSetting += canvas_Popup.panel_mqttsetting.SetMQTTSetting;
|
||||
onSaveModelDatas += canvas_Popup.panel_3dfactorysetting.SetDynamic3DModelSetting;
|
||||
}
|
||||
}
|
||||
}
|
||||
public void NewProjectSettingData()
|
||||
{
|
||||
var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
|
||||
|
||||
curProjectName = canvas_Popup.panel_newprojectinfo.GetProjectName();
|
||||
curProjectPath = canvas_Popup.panel_newprojectinfo.GetProjectRoute();
|
||||
curProjectTemplate = canvas_Popup.panel_newprojectinfo.GetProjectTemplate();
|
||||
curProjectData = null;
|
||||
}
|
||||
public void LoadSceneSettingData()
|
||||
{
|
||||
string path = Path.Combine(Application.persistentDataPath, "SceneStartSetting.json");
|
||||
|
||||
if (File.Exists(path))
|
||||
{
|
||||
string json = File.ReadAllText(path);
|
||||
var loadedSetting = JsonConvert.DeserializeObject<SceneStartSetting>(json);
|
||||
|
||||
onAppSetting?.Invoke(loadedSetting.appSetting);
|
||||
onAPISetting?.Invoke(loadedSetting.apiSetting);
|
||||
onMQTTSetting?.Invoke(loadedSetting.mqttSetting);
|
||||
onSaveModelDatas?.Invoke(loadedSetting.factorySetting);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("JSON file not found: " + path);
|
||||
}
|
||||
}
|
||||
public void SaveProjectSettingData()
|
||||
{
|
||||
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
|
||||
var assetDataService = new AssetDataService();
|
||||
|
||||
bool isNewProject = string.IsNullOrEmpty(curProjectPath);
|
||||
string path = isNewProject ? GetSaveFilePath() : Path.Combine(curProjectPath, curProjectName + ".ocs");
|
||||
|
||||
if (string.IsNullOrEmpty(path))
|
||||
return;
|
||||
|
||||
List<AssetData> assetDatas = assetDataService.SortAssetDatas(connector.connectedAssets);
|
||||
curProjectData = CreateProjectData(assetDatas);
|
||||
|
||||
string json = JsonConvert.SerializeObject(curProjectData, Formatting.Indented);
|
||||
FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
|
||||
StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.Unicode);
|
||||
writer.Write(json);
|
||||
writer.Close();
|
||||
}
|
||||
private ProjectData CreateProjectData(List<AssetData> assetDatas)
|
||||
{
|
||||
return new ProjectData
|
||||
{
|
||||
updateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
sceneStartSetting = CreateSceneStartSettingData(),
|
||||
assetDatas = assetDatas
|
||||
};
|
||||
}
|
||||
private SceneStartSetting CreateSceneStartSettingData()
|
||||
{
|
||||
var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
|
||||
|
||||
var sceneStartSetting = new SceneStartSetting();
|
||||
sceneStartSetting.appSetting = canvas_Popup.panel_appsetting.GetAppSetting();
|
||||
sceneStartSetting.apiSetting = canvas_Popup.panel_apisetting.GetAPISetting();
|
||||
sceneStartSetting.mqttSetting = canvas_Popup.panel_mqttsetting.GetMQTTSetting();
|
||||
sceneStartSetting.factorySetting = canvas_Popup.panel_3dfactorysetting.GetDynamic3DModelSetting();
|
||||
|
||||
return sceneStartSetting;
|
||||
}
|
||||
|
||||
private string GetSaveFilePath()
|
||||
{
|
||||
var data = StandaloneFileBrowser.SaveFilePanel("SaveProject", "", curProjectName, ".ocs");
|
||||
return data.Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using XED.UI;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
using XED;
|
||||
|
||||
namespace Studio.Manage
|
||||
{
|
||||
[Serializable]
|
||||
public class SceneStartSetting
|
||||
{
|
||||
public AppSetting appSetting;
|
||||
public APISetting apiSetting;
|
||||
public MQTTSetting mqttSetting;
|
||||
public SaveModelDatas saveModelDatas;
|
||||
}
|
||||
public class SaveSceneSettingManager : Manager
|
||||
{
|
||||
public SceneStartSetting sceneStartSetting;
|
||||
|
||||
public Func<AppSetting> onGetAppSetting;
|
||||
public Func<APISetting> onGetAPISetting;
|
||||
public Func<MQTTSetting> onGetMQTTSetting;
|
||||
public Func<SaveModelDatas> onGetSaveModelDatas;
|
||||
|
||||
public Action<AppSetting> onAppSetting;
|
||||
public Action<APISetting> onAPISetting;
|
||||
public Action<MQTTSetting> onMQTTSetting;
|
||||
public Action<SaveModelDatas> onSaveModelDatas;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
var canvas_Popup = EventConnector.instance.GetCanvas<Canvas_Popup>();
|
||||
onGetAppSetting += canvas_Popup.panel_appsetting.GetAppSetting;
|
||||
onGetAPISetting += canvas_Popup.panel_apisetting.GetAPISetting;
|
||||
onGetMQTTSetting += canvas_Popup.panel_mqttsetting.GetMQTTSetting;
|
||||
onGetSaveModelDatas += canvas_Popup.panel_3dfactorysetting.Get3DFactorySetting;
|
||||
|
||||
onAppSetting += canvas_Popup.panel_appsetting.SetAppSetting;
|
||||
onAPISetting += canvas_Popup.panel_apisetting.SetAPISetting;
|
||||
onMQTTSetting += canvas_Popup.panel_mqttsetting.SetMQTTSetting;
|
||||
onSaveModelDatas += canvas_Popup.panel_3dfactorysetting.Set3DFactorySetting;
|
||||
}
|
||||
public void SaveSceneSettingData()
|
||||
{
|
||||
var sceneStartSetting = new SceneStartSetting();
|
||||
sceneStartSetting.appSetting = onGetAppSetting?.Invoke();
|
||||
sceneStartSetting.apiSetting = onGetAPISetting?.Invoke();
|
||||
sceneStartSetting.mqttSetting = onGetMQTTSetting?.Invoke();
|
||||
sceneStartSetting.saveModelDatas = onGetSaveModelDatas?.Invoke();
|
||||
|
||||
string json = JsonConvert.SerializeObject(sceneStartSetting);
|
||||
|
||||
string path = Path.Combine(Application.persistentDataPath, "SceneStartSetting.json");
|
||||
File.WriteAllText(path, json);
|
||||
}
|
||||
public void LoadSceneSettingData()
|
||||
{
|
||||
string path = Path.Combine(Application.persistentDataPath, "SceneStartSetting.json");
|
||||
|
||||
if (File.Exists(path))
|
||||
{
|
||||
string json = File.ReadAllText(path);
|
||||
var loadedSetting = JsonConvert.DeserializeObject<SceneStartSetting>(json);
|
||||
|
||||
onAppSetting?.Invoke(loadedSetting.appSetting);
|
||||
onAPISetting?.Invoke(loadedSetting.apiSetting);
|
||||
onMQTTSetting?.Invoke(loadedSetting.mqttSetting);
|
||||
onSaveModelDatas?.Invoke(loadedSetting.saveModelDatas);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("JSON file not found: " + path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86a4d384c48c11d45b1693b5384189f4
|
||||
@@ -8,11 +8,24 @@ using XRLib.UI;
|
||||
using XED;
|
||||
using XED.UI;
|
||||
using Studio.AssetTool;
|
||||
using Studio.Command;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
public class Canvas_Popup : CanvasBase, ISingle
|
||||
{
|
||||
public Panel_QuickStart panel_quickstart;
|
||||
public Panel_NewProjectInfo panel_newprojectinfo;
|
||||
public Panel_OpenProjectInfo panel_openprojectinfo;
|
||||
|
||||
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_3DFactorySetting panel_3dfactorysetting;
|
||||
public Panel_DynamicObjectUISetting panel_dynamicobjectuisetting;
|
||||
|
||||
public Panel_AccessibilitySettings panel_accessibilitysettings;
|
||||
public Panel_ColorPicker panel_colorpicker;
|
||||
public Panel_Hierarchy panel_hierarchy;
|
||||
@@ -28,17 +41,7 @@ namespace Studio
|
||||
public Panel_AssetEdit panel_assetedit;
|
||||
public Panel_Thumbnail panel_thumbnail;
|
||||
public Panel_ObjectDistance panel_objectdistance;
|
||||
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_3DFactorySetting panel_3dfactorysetting;
|
||||
public Panel_DynamicObjectUISetting panel_dynamicobjectuisetting;
|
||||
public Panel_Authentication panel_authentication;
|
||||
public Panel_QuickStart panel_quickstart;
|
||||
public Panel_NewProjectInfo panel_newprojectinfo;
|
||||
public Panel_OpenProjectInfo panel_openprojectinfo;
|
||||
public Panel_APIConnectModal panel_apiconnectmodal;
|
||||
public Panel_MQTTConnectModal panel_mqttconnectmodal;
|
||||
public Panel_DataFilterSetting panel_datafiltersetting;
|
||||
@@ -46,6 +49,11 @@ namespace Studio
|
||||
public Panel_LoggingModal panel_loggingmodal;
|
||||
public Panel_ExitChecker panel_exitchecker;
|
||||
|
||||
public Panel_DataConnectModal panel_dataconnectmodal;
|
||||
public Panel_AlarmConnectModal panel_alarmconnectmodal;
|
||||
public Panel_DynamicObjectInfo panel_dynamicobjectinfo;
|
||||
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
GetComponent<Canvas>().sortingOrder = 1;
|
||||
@@ -67,10 +75,11 @@ namespace Studio
|
||||
|
||||
canvasHandler = new PopupCanvasHandler(this);
|
||||
|
||||
var saveSceneSettingManager = ManagerHub.instance.Get<SaveSceneSettingManager>();
|
||||
var dataManager = FindAnyObjectByType<ConnectDataManager>();
|
||||
var quitManager = FindAnyObjectByType<QuitManager>();
|
||||
|
||||
panel_newprojectinfo.onClickCreate += () => CommandInvoker.instance.Invoke(new NewProjectCommand());
|
||||
|
||||
panel_apiconnectmodal.onClickFilterButton += dataManager.SetFilterData;
|
||||
panel_apiconnectmodal.onSaveAPIData += dataManager.SetAPIData;
|
||||
|
||||
@@ -80,12 +89,24 @@ namespace Studio
|
||||
dataManager.mqttData += panel_datafiltersetting.SetLoadMQTTDataList;
|
||||
dataManager.apiData += panel_datafiltersetting.SetLoadAPIDataList;
|
||||
|
||||
panel_startsetting.onClickSaveButton += saveSceneSettingManager.SaveSceneSettingData;
|
||||
panel_startsetting.onClickLoadButton += saveSceneSettingManager.LoadSceneSettingData;
|
||||
|
||||
panel_exitchecker.onSaveAndExit += quitManager.OnConfirmQuit;
|
||||
panel_exitchecker.onExit += quitManager.OnConfirmQuit;
|
||||
panel_exitchecker.onCancel += quitManager.OnCancelQuit;
|
||||
|
||||
//panel_dataconnectmodal.onSaveConnectedData += dataManager.SaveData;
|
||||
//panel_alarmconnectmodal.onSaveConnectAlarmData += dataManager.SaveAlarmData;
|
||||
|
||||
//panel_dynamicobjectinfo.onRetouchData += dataManager.LoadData;
|
||||
//panel_dynamicobjectinfo.onDeleteData += dataManager.RemoveData;
|
||||
|
||||
//panel_dynamicobjectinfo.onRetouchAlarm += dataManager.LoadAlarmData;
|
||||
//panel_dynamicobjectinfo.onDeleteAlarm += dataManager.RemoveAlarmData;
|
||||
|
||||
//dataManager.onConnectData += panel_dynamicobjectinfo.OnConnectData;
|
||||
//dataManager.onLoadData += panel_dataconnectmodal.SetLoadSaveData;
|
||||
|
||||
//dataManager.onConnectAlarm += panel_dynamicobjectinfo.OnConnectAlarm;
|
||||
//dataManager.onLoadAlarm += panel_alarmconnectmodal.LoadData;
|
||||
}
|
||||
|
||||
void SetPanelAsLastSibling(UIBase panel)
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Studio.UI
|
||||
statusPanel.SetMode(ModePanel.ProgramMode.ObjectLayout);
|
||||
|
||||
panel_studiotopbar.onClickAssetLibraryWindow += fbxFileManager.LoadLocalData;
|
||||
panel_studiotopbar.onClickSaveProject += () => CommandInvoker.instance.Invoke(new SaveProjectCommand());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,16 +4,10 @@ using TMPro;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class APIConnection
|
||||
{
|
||||
public string domain;
|
||||
public string port;
|
||||
public List<URL> urls = new List<URL>();
|
||||
}
|
||||
public class UI_APIConnection : UIBase
|
||||
{
|
||||
private TMP_InputField InputField_Domain;
|
||||
|
||||
@@ -3,6 +3,7 @@ using XRLib.UI;
|
||||
using TMPro;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Studio.Util;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
@@ -20,7 +21,7 @@ namespace Studio
|
||||
private TMP_Dropdown Dropdown_DataDisplayStyle;
|
||||
private string dataValue;
|
||||
|
||||
public void SetData(Datum datum)
|
||||
public void SetData(Dynamic3DModelUIData datum)
|
||||
{
|
||||
Text_DataName.SetText(datum.dataName);
|
||||
SetDataDisplayStyleDropdown(datum.dataType);
|
||||
@@ -40,15 +41,15 @@ namespace Studio
|
||||
Dropdown_DataDisplayStyle.AddOptions(options);
|
||||
Dropdown_DataDisplayStyle.value = options.IndexOf(dataType);
|
||||
}
|
||||
public Datum GetDatum()
|
||||
public Dynamic3DModelUIData GetDynamic3DModelUIData()
|
||||
{
|
||||
var datum = new Datum();
|
||||
var dynamic3DModelUIData = new Dynamic3DModelUIData();
|
||||
|
||||
datum.dataName = Text_DataName.text;
|
||||
datum.dataType = Dropdown_DataDisplayStyle.options[Dropdown_DataDisplayStyle.value].text;
|
||||
datum.dataValue = dataValue;
|
||||
dynamic3DModelUIData.dataName = Text_DataName.text;
|
||||
dynamic3DModelUIData.dataType = Dropdown_DataDisplayStyle.options[Dropdown_DataDisplayStyle.value].text;
|
||||
dynamic3DModelUIData.dataValue = dataValue;
|
||||
|
||||
return datum;
|
||||
return dynamic3DModelUIData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using UnityEngine.UI;
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
@@ -17,7 +18,7 @@ namespace Studio
|
||||
private Button Button_RemoveItem;
|
||||
|
||||
public DynamicObjectDatas dynamicObjectDatas;
|
||||
public DataList selectDynamicObjectData;
|
||||
public Dynamic3DModelUISetting selectDynamicObjectData;
|
||||
|
||||
public ModelList modelData;
|
||||
public string selectedModel;
|
||||
@@ -44,7 +45,7 @@ namespace Studio
|
||||
|
||||
options.Add("Select URL");
|
||||
|
||||
foreach(var dynamicObjectData in dynamicObjectDatas.dataList)
|
||||
foreach(var dynamicObjectData in dynamicObjectDatas.dynamic3DModelUISetting)
|
||||
{
|
||||
options.Add(dynamicObjectData.name);
|
||||
}
|
||||
@@ -56,7 +57,7 @@ namespace Studio
|
||||
if (index - 1 < 0)
|
||||
return;
|
||||
|
||||
selectDynamicObjectData = dynamicObjectDatas.dataList[index - 1];
|
||||
selectDynamicObjectData = dynamicObjectDatas.dynamic3DModelUISetting[index - 1];
|
||||
}
|
||||
private void SetModelDropdown()
|
||||
{
|
||||
@@ -81,7 +82,7 @@ namespace Studio
|
||||
|
||||
if (Dropdown_Data.value - 1 >= 0)
|
||||
{
|
||||
selectDynamicObjectData = dynamicObjectDatas.dataList[Dropdown_Data.value - 1];
|
||||
selectDynamicObjectData = dynamicObjectDatas.dynamic3DModelUISetting[Dropdown_Data.value - 1];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -100,21 +101,21 @@ namespace Studio
|
||||
{
|
||||
onRemoveItem?.Invoke(this);
|
||||
}
|
||||
public ModelData GetModelData()
|
||||
public Dynamic3DModelConnection GetDynamic3DModelConnection()
|
||||
{
|
||||
var modelData = new ModelData();
|
||||
modelData.dataName = Dropdown_Data.options[Dropdown_Data.value].text;
|
||||
modelData.modelName = Dropdown_Model.options[Dropdown_Model.value].text;
|
||||
modelData.modelData = selectDynamicObjectData;
|
||||
var dynamic3DModelConnection = new Dynamic3DModelConnection();
|
||||
dynamic3DModelConnection.dataName = Dropdown_Data.options[Dropdown_Data.value].text;
|
||||
dynamic3DModelConnection.modelName = Dropdown_Model.options[Dropdown_Model.value].text;
|
||||
dynamic3DModelConnection.modelData = selectDynamicObjectData;
|
||||
|
||||
return modelData;
|
||||
return dynamic3DModelConnection;
|
||||
}
|
||||
public void SetModelData(ModelData modelData)
|
||||
public void SetModelData(Dynamic3DModelConnection dynamic3DModelConnection)
|
||||
{
|
||||
Dropdown_Data.value = Dropdown_Data.options.FindIndex(option => option.text == modelData.dataName);
|
||||
Dropdown_Model.value = Dropdown_Model.options.FindIndex(option => option.text == modelData.modelName);
|
||||
Dropdown_Data.value = Dropdown_Data.options.FindIndex(option => option.text == dynamic3DModelConnection.dataName);
|
||||
Dropdown_Model.value = Dropdown_Model.options.FindIndex(option => option.text == dynamic3DModelConnection.modelName);
|
||||
|
||||
selectDynamicObjectData = modelData.modelData;
|
||||
selectDynamicObjectData = dynamic3DModelConnection.modelData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using XRLib.UI;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
@@ -22,17 +23,17 @@ namespace Studio
|
||||
private UI_DynamicDataStyleItem prf_DynamicDataStyleItem;
|
||||
private List<UI_DynamicDataStyleItem> dynamicDataStyleItems = new List<UI_DynamicDataStyleItem>();
|
||||
|
||||
public List<DataList> dynamicObjectDatas = new List<DataList>();
|
||||
public List<Dynamic3DModelUISetting> dynamicObjectDatas = new List<Dynamic3DModelUISetting>();
|
||||
|
||||
public void SetData(DataList dynamicObjectDatas, UI_DynamicDataStyleItem dynamicDataStyleItem)
|
||||
public void SetData(Dynamic3DModelUISetting dynamicObjectDatas, UI_DynamicDataStyleItem dynamicDataStyleItem)
|
||||
{
|
||||
Text_ClassName.SetText(dynamicObjectDatas.name);
|
||||
prf_DynamicDataStyleItem = dynamicDataStyleItem;
|
||||
|
||||
SetUIDesignStyleDropdown(dynamicObjectDatas);
|
||||
SetDataItems(dynamicObjectDatas.datas);
|
||||
SetDataItems(dynamicObjectDatas.dynamic3DModelUIData);
|
||||
}
|
||||
private void SetUIDesignStyleDropdown(DataList dataList)
|
||||
private void SetUIDesignStyleDropdown(Dynamic3DModelUISetting dataList)
|
||||
{
|
||||
Dropdown_UIDesignStyle.ClearOptions();
|
||||
var types = Enum.GetNames(typeof(UIDesignStyle));
|
||||
@@ -51,7 +52,7 @@ namespace Studio
|
||||
Dropdown_UIDesignStyle.value = options.IndexOf(dataList.dashboardStyle);
|
||||
}
|
||||
}
|
||||
private void SetDataItems(List<Datum> datas)
|
||||
private void SetDataItems(List<Dynamic3DModelUIData> datas)
|
||||
{
|
||||
foreach(var item in dynamicDataStyleItems)
|
||||
{
|
||||
@@ -66,17 +67,17 @@ namespace Studio
|
||||
dynamicDataStyleItems.Add(item);
|
||||
}
|
||||
}
|
||||
public DataList GetDataList()
|
||||
public Dynamic3DModelUISetting GetDynamic3DModelUISetting()
|
||||
{
|
||||
DataList dataList = new DataList();
|
||||
dataList.name = Text_ClassName.text;
|
||||
dataList.dashboardStyle = Dropdown_UIDesignStyle.options[Dropdown_UIDesignStyle.value].text;
|
||||
var dynamic3DModelUISetting = new Dynamic3DModelUISetting();
|
||||
dynamic3DModelUISetting.name = Text_ClassName.text;
|
||||
dynamic3DModelUISetting.dashboardStyle = Dropdown_UIDesignStyle.options[Dropdown_UIDesignStyle.value].text;
|
||||
|
||||
foreach (var dynamicDataStyleItem in dynamicDataStyleItems)
|
||||
{
|
||||
dataList.datas.Add(dynamicDataStyleItem.GetDatum());
|
||||
dynamic3DModelUISetting.dynamic3DModelUIData.Add(dynamicDataStyleItem.GetDynamic3DModelUIData());
|
||||
}
|
||||
return dataList;
|
||||
return dynamic3DModelUISetting;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,14 +3,10 @@ using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class Topic
|
||||
{
|
||||
public string topic;
|
||||
}
|
||||
public class UI_InputTopicItem : UIBase
|
||||
{
|
||||
private TMP_InputField InputField_Topic;
|
||||
|
||||
@@ -3,14 +3,10 @@ using XRLib.UI;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class URL
|
||||
{
|
||||
public string url;
|
||||
}
|
||||
public class UI_InputURLItem : UIBase
|
||||
{
|
||||
private TMP_InputField InputField_URL;
|
||||
|
||||
@@ -4,17 +4,10 @@ using TMPro;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class MQTTConnection
|
||||
{
|
||||
public string domain;
|
||||
public string port;
|
||||
public List<Topic> topics = new List<Topic>();
|
||||
}
|
||||
|
||||
public class UI_MQTTConnection : UIBase
|
||||
{
|
||||
private TMP_InputField InputField_Domain;
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using XRLib;
|
||||
using Studio.Util;
|
||||
|
||||
namespace Studio
|
||||
{
|
||||
@@ -24,7 +25,7 @@ namespace Studio
|
||||
private ModelList modelList;
|
||||
|
||||
public Action<UI_DynamicObjectItem> onUISetting;
|
||||
public SaveModelDatas saveModelDatas;
|
||||
public Dynamic3DModelSetting saveModelDatas;
|
||||
|
||||
public void Active(bool isActive)
|
||||
{
|
||||
@@ -75,16 +76,16 @@ namespace Studio
|
||||
dynamicObjectItems.Remove(item);
|
||||
Destroy(item.gameObject);
|
||||
}
|
||||
public SaveModelDatas Get3DFactorySetting()
|
||||
public Dynamic3DModelSetting GetDynamic3DModelSetting()
|
||||
{
|
||||
var saveModelDatas = new SaveModelDatas();
|
||||
var dynamic3DModelSetting = new Dynamic3DModelSetting();
|
||||
foreach(var modelData in dynamicObjectItems)
|
||||
{
|
||||
saveModelDatas.modelDatas.Add(modelData.GetModelData());
|
||||
dynamic3DModelSetting.modelDatas.Add(modelData.GetDynamic3DModelConnection());
|
||||
}
|
||||
return saveModelDatas;
|
||||
return dynamic3DModelSetting;
|
||||
}
|
||||
public void Set3DFactorySetting(SaveModelDatas saveModelDatas)
|
||||
public void SetDynamic3DModelSetting(Dynamic3DModelSetting saveModelDatas)
|
||||
{
|
||||
foreach(var modelData in saveModelDatas.modelDatas)
|
||||
{
|
||||
|
||||
@@ -3,14 +3,11 @@ using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class APISetting
|
||||
{
|
||||
public List<APIConnection> apiConnections = new List<APIConnection>();
|
||||
}
|
||||
|
||||
public class Panel_APISetting : PanelBase
|
||||
{
|
||||
private RectTransform Content;
|
||||
|
||||
@@ -6,21 +6,10 @@ using XRLib.UI;
|
||||
using System.IO;
|
||||
using TMPro;
|
||||
using TriLibCore.SFB;
|
||||
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
[Serializable]
|
||||
public class AppSetting
|
||||
{
|
||||
public string splashImageByte;
|
||||
public string animationStyle;
|
||||
public string progressBarStyle;
|
||||
public bool autoStart;
|
||||
public string defaultLanauge;
|
||||
public string languagePackPath;
|
||||
}
|
||||
|
||||
public enum AnimationStyle
|
||||
{
|
||||
Static, FadeIn, FadeOut
|
||||
@@ -107,7 +96,18 @@ namespace XED.UI
|
||||
}
|
||||
private void OnClickLanguagePackButton()
|
||||
{
|
||||
StandaloneFileBrowser.OpenFilePanelAsync("언어 팩 열기", "", "", false, LoadLanguagePack);
|
||||
var packItem = StandaloneFileBrowser.OpenFilePanel("언어 팩 열기", "", "", false);
|
||||
|
||||
if (packItem != null && packItem.Count > 0)
|
||||
{
|
||||
var item = packItem[0];
|
||||
|
||||
if (string.IsNullOrEmpty(item.Name))
|
||||
{
|
||||
return;
|
||||
}
|
||||
InputField_LanguagePack.text = packItem[0].Name;
|
||||
}
|
||||
}
|
||||
|
||||
void LoadImage(IList<ItemWithStream> items)
|
||||
@@ -146,38 +146,15 @@ namespace XED.UI
|
||||
Debug.LogWarning("이미지를 선택하지 않았습니다.");
|
||||
}
|
||||
}
|
||||
private void LoadLanguagePack(IList<ItemWithStream> items)
|
||||
{
|
||||
if (items != null && items.Count > 0)
|
||||
{
|
||||
var item = items[0];
|
||||
|
||||
if (string.IsNullOrEmpty(item.Name))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
InputField_LanguagePack.text = item.Name;
|
||||
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
using (var inputStream = item.OpenStream())
|
||||
{
|
||||
inputStream.CopyTo(memoryStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("이미지를 선택하지 않았습니다.");
|
||||
}
|
||||
}
|
||||
public AppSetting GetAppSetting()
|
||||
{
|
||||
var appSetting = new AppSetting();
|
||||
var bytes = Image_Selected.sprite.texture.EncodeToPNG();
|
||||
|
||||
appSetting.splashImageByte = Convert.ToBase64String(bytes);
|
||||
if (Image_Selected.sprite != null)
|
||||
{
|
||||
var bytes = Image_Selected.sprite.texture.EncodeToPNG();
|
||||
appSetting.splashImageByte = Convert.ToBase64String(bytes);
|
||||
}
|
||||
appSetting.animationStyle = Dropdown_AnimationStyle.options[Dropdown_AnimationStyle.value].text;
|
||||
appSetting.progressBarStyle = Dropdown_ProgressBarStyle.options[Dropdown_ProgressBarStyle.value].text;
|
||||
appSetting.autoStart = Toggle_AutoStart.isOn;
|
||||
|
||||
@@ -106,7 +106,7 @@ namespace Studio
|
||||
if (dynamicObjectUISettingItem == null)
|
||||
return;
|
||||
|
||||
var dynamicObjectUIData = dynamicObjectUISettingItem.GetDataList();
|
||||
var dynamicObjectUIData = dynamicObjectUISettingItem.GetDynamic3DModelUISetting();
|
||||
selectedDynamicObjectItem.selectDynamicObjectData = dynamicObjectUIData;
|
||||
onSaveDynamicObjectUIData?.Invoke();
|
||||
}
|
||||
|
||||
@@ -3,14 +3,10 @@ using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using XRLib.UI;
|
||||
using System;
|
||||
using Studio.Util;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
[Serializable]
|
||||
public class MQTTSetting
|
||||
{
|
||||
public List<MQTTConnection> mqttConnections = new List<MQTTConnection>();
|
||||
}
|
||||
public class Panel_MQTTSetting : PanelBase
|
||||
{
|
||||
private RectTransform Content;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Studio.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@@ -121,21 +122,7 @@ namespace Studio
|
||||
[Serializable]
|
||||
public class DynamicObjectDatas
|
||||
{
|
||||
public List<DataList> dataList = new List<DataList>();
|
||||
}
|
||||
[Serializable]
|
||||
public class DataList
|
||||
{
|
||||
public string name;
|
||||
public string dashboardStyle;
|
||||
public List<Datum> datas = new List<Datum>();
|
||||
}
|
||||
[Serializable]
|
||||
public class Datum
|
||||
{
|
||||
public string dataName;
|
||||
public string dataType;
|
||||
public string dataValue;
|
||||
public List<Dynamic3DModelUISetting> dynamic3DModelUISetting = new List<Dynamic3DModelUISetting>();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
@@ -148,19 +135,4 @@ namespace Studio
|
||||
{
|
||||
public string modelName;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SaveModelDatas
|
||||
{
|
||||
public List<ModelData> modelDatas = new List<ModelData>();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ModelData
|
||||
{
|
||||
public string dataName;
|
||||
public string modelName;
|
||||
public DataList modelData;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user