From 46de8c758f06642d2f7f2ff12a559810984a76cc Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Thu, 17 Feb 2022 19:17:52 +0100 Subject: [PATCH 1/7] Updated text. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a260d0..b3fe205 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Setting RESTful package -Please set up first the path for the 'Unity World Storage Package' correcly +Please set up first the path in the Unity manifest.json for the 'Unity World Storage Package' correctly! --- -- GitLab From 1a480b4083974984b5f0d52c2c203d084e4ad922 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Thu, 17 Feb 2022 19:29:07 +0100 Subject: [PATCH 2/7] Use new REST namespace --- .../ARF World Storage API/Editor/WorldAnchorWindow.cs | 2 +- .../ARF World Storage API/Editor/WorldStorageWindow.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs index b0d4f44..a77ad6c 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs @@ -114,7 +114,7 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Create/Update World Anchor")) { Debug.Log("PostAddWorldAnchor"); - RESTfulTrackableRequest.PostAddWorldAnchor(worldStorageSettings); + RESTfulWorldAnchorRequest.PostAddWorldAnchor(worldStorageSettings); } GUI.backgroundColor = ori; } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs index 7658ceb..9424cfa 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs @@ -138,7 +138,7 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); if (GUILayout.Button("Ping")) { - vers = RESTfulTrackableRequest.Ping(worldStorageSettings); + vers = RESTfulAdminRequest.Ping(worldStorageSettings); } // Version @@ -147,7 +147,7 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Get World Storage API Version")) { - vers = RESTfulTrackableRequest.GetAdminInfo(worldStorageSettings); + vers = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); -- GitLab From f9515570cbfe61bef40a683052f9bd2e01689897 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Wed, 27 Apr 2022 14:19:05 +0200 Subject: [PATCH 3/7] Version using the world storage plugin (package) as a submodule. --- .gitmodules | 3 +++ Packages/manifest.json | 2 +- Packages/packages-lock.json | 4 ++-- Packages/unity-world-storage-package | 1 + UserSettings/EditorUserSettings.asset | 3 +++ 5 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .gitmodules create mode 160000 Packages/unity-world-storage-package diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8059e46 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Packages/unity-world-storage-package"] + path = Packages/unity-world-storage-package + url = https://labs.etsi.org/rep/arf/world-storage-api-helpers/unity-world-storage-package.git diff --git a/Packages/manifest.json b/Packages/manifest.json index 7d93fb8..cead4b0 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -8,7 +8,7 @@ "com.unity.textmeshpro": "3.0.4", "com.unity.timeline": "1.4.7", "com.unity.ugui": "1.0.0", - "etsi.isg.arf.worldstorage": "file:D:/Fraunhofer/Projects/ETSI/ETSI Labs-STF/unity-world-storage-package", + "etsi.isg.arf.worldstorage": "file:../unity-world-storage-package", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 598afa1..2b98cb4 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -81,9 +81,9 @@ } }, "etsi.isg.arf.worldstorage": { - "version": "file:D:/Fraunhofer/Projects/ETSI/ETSI Labs-STF/unity-world-storage-package", + "version": "file:unity-world-storage-package", "depth": 0, - "source": "local", + "source": "embedded", "dependencies": {} }, "com.unity.modules.ai": { diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package new file mode 160000 index 0000000..11be4dd --- /dev/null +++ b/Packages/unity-world-storage-package @@ -0,0 +1 @@ +Subproject commit 11be4ddf097238232e569513fb17d319daccacc4 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index a27413b..3ef73f4 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -11,6 +11,9 @@ EditorUserSettings: RecentlyUsedScenePath-1: value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b0d0032e2060c38f50e040e515fb31b1ff6040a flags: 0 + RecentlyUsedScenePath-2: + value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b090e2dfe0e3a1ff9190b0c143dfc0301f3155d04cb11d103 + flags: 0 vcSharedLogLevel: value: 0d5e400f0650 flags: 0 -- GitLab From 3cb3d4875f7f838ad10783ba4a435b56bc29e3b3 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Wed, 27 Apr 2022 14:22:05 +0200 Subject: [PATCH 4/7] Correct the package path. --- Packages/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/manifest.json b/Packages/manifest.json index cead4b0..86d3520 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -8,7 +8,7 @@ "com.unity.textmeshpro": "3.0.4", "com.unity.timeline": "1.4.7", "com.unity.ugui": "1.0.0", - "etsi.isg.arf.worldstorage": "file:../unity-world-storage-package", + "etsi.isg.arf.worldstorage": "file:./unity-world-storage-package", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", -- GitLab From 6a3ffd1d9c7f43cd911f838703cee3a06f9ad7fe Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Fri, 29 Apr 2022 10:25:23 +0200 Subject: [PATCH 5/7] Little changes in scene. Renamed the server scriptables. --- .../Scenes/WorldStorageSample.unity | 44 +++++++++++++++++++ ...gs.asset => WorldStorageSettingsHHI.asset} | 5 ++- .../WorldStorageSettingsHHI.asset.meta | 8 ++++ .../WorldStorageSettingsHHI_Intern.asset | 18 ++++++++ ...WorldStorageSettingsHHI_Intern.asset.meta} | 0 Packages/unity-world-storage-package | 2 +- 6 files changed, 74 insertions(+), 3 deletions(-) rename Assets/ETSI.ARF/ARF World Storage API/Scriptables/{myWorldStorageSettings.asset => WorldStorageSettingsHHI.asset} (76%) create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset rename Assets/ETSI.ARF/ARF World Storage API/Scriptables/{myWorldStorageSettings.asset.meta => WorldStorageSettingsHHI_Intern.asset.meta} (100%) diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity index 2e05d63..cb0bbf5 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity @@ -394,3 +394,47 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1056454763 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1056454765} + - component: {fileID: 1056454764} + m_Layer: 0 + m_Name: ARFServer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1056454764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056454763} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02da7adcc65f4694684d71e61d88070b, type: 3} + m_Name: + m_EditorClassIdentifier: + worldStorageServer: {fileID: 11400000, guid: b656b4f6c38b83148a06d0ccd523227c, type: 2} +--- !u!4 &1056454765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056454763} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset similarity index 76% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset rename to Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset index 58c245c..7117b62 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset @@ -10,8 +10,9 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} - m_Name: myWorldStorageSettings + m_Name: WorldStorageSettingsHHI m_EditorClassIdentifier: serverName: HHI Servers - basePath: https://localhosts + creatorUID: 9739c1d7-b86d-4894-9f4a-2e43ea6cfdf6 + basePath: https://ics1.hhi.fraunhofer.de port: 40311 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta new file mode 100644 index 0000000..77cd62f --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd253fbdf276d5e47bef25ba893dc7a4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset new file mode 100644 index 0000000..898ef1f --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} + m_Name: WorldStorageSettingsHHI_Intern + m_EditorClassIdentifier: + serverName: HHI Servers (intern test) + creatorUID: 2af3e69e-91d6-4021-99d1-188917df8ea8 + basePath: http://vm009254.fe.hhi.de/ + port: 40311 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/myWorldStorageSettings.asset.meta rename to Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset.meta diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package index 11be4dd..0fe54fb 160000 --- a/Packages/unity-world-storage-package +++ b/Packages/unity-world-storage-package @@ -1 +1 @@ -Subproject commit 11be4ddf097238232e569513fb17d319daccacc4 +Subproject commit 0fe54fb13060f8856ee7545408ef6c6329c832df -- GitLab From 02d752fd7a10def97b3bf742733cafdd6352156d Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Tue, 24 May 2022 16:08:48 +0200 Subject: [PATCH 6/7] New API. Minor GUI changes (layout, Name of element) --- .../Editor/GraphWindow.cs | 14 ++- .../Editor/TrackableWindow.cs | 73 +++++++----- .../Editor/WorldAnchorWindow.cs | 61 ++++++++-- .../Editor/WorldStorageWindow.cs | 110 ++++++++++++++---- .../Scriptables/WorldStorageSettingsHHI.asset | 2 +- .../WorldStorageSettingsHHI_Intern.asset | 2 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 26 +++++ Packages/unity-world-storage-package | 2 +- 9 files changed, 222 insertions(+), 69 deletions(-) diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs index 170de27..6b1a69f 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs @@ -30,6 +30,7 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; string uid = System.Guid.Empty.ToString(); + string customName = "NotDefined"; string creatorUid = System.Guid.Empty.ToString(); string type = "Unknow"; string unit = "Unknow"; @@ -117,6 +118,7 @@ namespace ETSI.ARF.WorldStorage.UI //graph.Draw(); } + /* void DrawTrackableStuffs()// Trackable trackable) { GUILayout.BeginVertical("AR Trackable", gsTest); @@ -133,9 +135,9 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Get Parameters")) { Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); - creatorUid = t.CreatorUID.ToString(); + creatorUid = t.CreatorUUID.ToString(); type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + unit = t.Unit.ToString(); } GUI.backgroundColor = ori; @@ -177,18 +179,18 @@ namespace ETSI.ARF.WorldStorage.UI { Debug.Log("PostAddTrackable"); if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); - Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); + Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, cus, worldStorageSettings.creatorUID); RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); - uid = t.UID.ToString(); + uid = t.UUID.ToString(); type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + unit = t.Unit.ToString(); } GUI.backgroundColor = ori; } - + */ } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs index 447f2eb..9f30bc0 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs @@ -38,8 +38,9 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; - string uid = System.Guid.Empty.ToString(); - string creatorUid = System.Guid.Empty.ToString(); + string UUID = System.Guid.Empty.ToString(); + string customName = "NotDefined"; + string creatorUUID = System.Guid.Empty.ToString(); string type = "Unknow"; string unit = "Unknow"; Vector2Int dim; @@ -72,7 +73,7 @@ namespace ETSI.ARF.WorldStorage.UI scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); WorldStorageWindow.DrawCopyright(); - DrawTrackableStuffs();// currentTrackable); + DrawTrackableStuffs(); EditorGUILayout.EndScrollView(); @@ -87,20 +88,28 @@ namespace ETSI.ARF.WorldStorage.UI GUILayout.BeginVertical("AR Trackable", gsTest); // GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); - GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); - uid = EditorGUILayout.TextField("UID (0 = new one)", uid); + customName = EditorGUILayout.TextField("Name of Trackable", customName); + GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly + GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { - Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); - creatorUid = t.CreatorUID.ToString(); - type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + if (!customName.Contains("[")) UUID = customName; + else + { + // extract the UUID + UUID = customName.Split('[', ']')[1]; + } + Trackable obj = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, UUID); + customName = obj.Name; + creatorUUID = obj.CreatorUUID.ToString(); + type = obj.TrackableType.ToString(); + unit = obj.Unit.ToString(); } GUI.backgroundColor = ori; @@ -123,41 +132,45 @@ namespace ETSI.ARF.WorldStorage.UI // GUILayout.EndVertical(); + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Update Trackable")) + { + Debug.Log("PostAddTrackable"); + + if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); + Trackable obj = RESTfulTrackableRequest.TrackableFromStrings(UUID, customName, worldStorageSettings.creatorUID); + RESTfulTrackableRequest.AddTrackable(worldStorageSettings, obj); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + UUID = obj.UUID.ToString(); + customName = obj.Name; + type = obj.TrackableType.ToString(); + unit = obj.Unit.ToString(); + } + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[3]; if (GUILayout.Button("Delete Trackable")) { Debug.Log("Deleting Trackable"); - RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, uid); - uid = System.Guid.Empty.ToString(); - creatorUid = System.Guid.Empty.ToString(); + RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, UUID); + UUID = System.Guid.Empty.ToString(); + creatorUUID = System.Guid.Empty.ToString(); type = ""; unit = ""; - WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; - GUI.backgroundColor = WorldStorageWindow.arfColors[2]; - if (GUILayout.Button("Create/Update Trackable")) - { - Debug.Log("PostAddTrackable"); - if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); - Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); - RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); - WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); - WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); - - uid = t.UID.ToString(); - type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); - } + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[5]; if (GUILayout.Button("Generate GameObject Component")) { } - GUI.backgroundColor = ori; + GUI.backgroundColor = ori; } - - } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs index a77ad6c..463dfca 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs @@ -37,9 +37,9 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; - string creatorUid = System.Guid.Empty.ToString(); - string uid = System.Guid.Empty.ToString(); - string type = "Unknow"; + string UUID = System.Guid.Empty.ToString(); + string customName = "NotDefined"; + string creatorUUID = System.Guid.Empty.ToString(); string unit = "Unknow"; Vector2Int dim; @@ -67,7 +67,9 @@ namespace ETSI.ARF.WorldStorage.UI scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); WorldStorageWindow.DrawCopyright(); + DrawAnchorStuffs(); + EditorGUILayout.EndScrollView(); if (GUILayout.Button("Close Window")) @@ -81,24 +83,36 @@ namespace ETSI.ARF.WorldStorage.UI GUILayout.BeginVertical("AR World Anchor", gsTest); // GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); - GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); - uid = EditorGUILayout.TextField("UID (0 = create new)", uid); + customName = EditorGUILayout.TextField("Name of Anchor", customName); + GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly + GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { - //WorldStorageRestRequest.PostAddTrackable(worldStorageSettings); + if (!customName.Contains("[")) UUID = customName; + else + { + // extract the UUID + UUID = customName.Split('[', ']')[1]; + } + WorldAnchor obj = RESTfulWorldAnchorRequest.GetWorldAnchor(worldStorageSettings, UUID); + customName = obj.Name; + creatorUUID = obj.CreatorUUID.ToString(); + unit = obj.Unit.ToString(); } GUI.backgroundColor = ori; //GUILayout.EndHorizontal(); - type = EditorGUILayout.TextField("Anchor Type", type); unit = EditorGUILayout.TextField("Unit System", unit); + EditorGUILayout.Space(10); + dim = EditorGUILayout.Vector2IntField("Dimension", dim); + EditorGUILayout.Space(); groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled); EditorGUILayout.IntField("Number of KeyValues", 0); @@ -106,15 +120,44 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.TextField("Key", ""); EditorGUILayout.TextField("Value", ""); EditorGUILayout.EndToggleGroup(); - // GUILayout.EndVertical(); + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[2]; if (GUILayout.Button("Create/Update World Anchor")) { Debug.Log("PostAddWorldAnchor"); - RESTfulWorldAnchorRequest.PostAddWorldAnchor(worldStorageSettings); + + if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); + WorldAnchor obj = RESTfulWorldAnchorRequest.WorldAnchorFromStrings(UUID, customName, worldStorageSettings.creatorUID); + RESTfulWorldAnchorRequest.AddWorldAnchor(worldStorageSettings, obj); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + UUID = obj.UUID.ToString(); + customName = obj.Name; + unit = obj.Unit.ToString(); + } + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete World Anchor")) + { + Debug.Log("Deleting World Anchor"); + RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, UUID); + UUID = System.Guid.Empty.ToString(); + creatorUUID = System.Guid.Empty.ToString(); + unit = ""; + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + } + GUI.backgroundColor = ori; + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[5]; + if (GUILayout.Button("Generate GameObject Component")) + { } GUI.backgroundColor = ori; } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs index 9424cfa..b4edd9a 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs @@ -8,7 +8,7 @@ // Authors: // - Sylvain Renault (Fraunhofer HHI) // -// Date: Feb. 2022 +// Date: May 2022 // #define USING_OPENAPI_GENERATOR // alt. is Swagger @@ -17,6 +17,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; +using ETSI.ARF.WorldStorage; using ETSI.ARF.WorldStorage.RESTful; #if USING_OPENAPI_GENERATOR @@ -38,7 +39,10 @@ namespace ETSI.ARF.WorldStorage.UI [SerializeField] public List creators = new List(); [SerializeField] public List trackables = new List(); + [SerializeField] public List anchors = new List(); + string ping = "-"; + string state = "Unknow"; string vers = "Unknow"; private Vector2 scrollPos; @@ -108,7 +112,7 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.EndScrollView(); } - public void UpdateList() + public void UpdateListTrackables() { // Get all objects Debug.Log("Get all server objects"); @@ -116,7 +120,21 @@ namespace ETSI.ARF.WorldStorage.UI trackables.Clear(); foreach (var item in res) { - trackables.Add(item.UID.ToString()); + if (!string.IsNullOrEmpty(item.Name)) trackables.Add(item.Name + " [" + item.UUID.ToString() + "]"); + else trackables.Add(item.UUID.ToString()); + } + } + + public void UpdateListWorldAnchors() + { + // Get all objects + Debug.Log("Get all server objects"); + List res = RESTfulWorldAnchorRequest.GetAllWorldAnchors(worldStorageSettings); + anchors.Clear(); + foreach (var item in res) + { + if (!string.IsNullOrEmpty(item.Name)) anchors.Add(item.Name + " [" + item.UUID.ToString() + "]"); + else anchors.Add(item.UUID.ToString()); } } @@ -134,29 +152,46 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); - // Ping - EditorGUILayout.Space(); + #region Ping + GUILayout.BeginHorizontal(); + ping = EditorGUILayout.TextField("Last Ping", ping); if (GUILayout.Button("Ping")) { - vers = RESTfulAdminRequest.Ping(worldStorageSettings); + ping = RESTfulAdminRequest.Ping(worldStorageSettings); } + GUI.backgroundColor = ori; + GUILayout.EndHorizontal(); + #endregion - // Version + #region State + GUILayout.BeginHorizontal(); + state = EditorGUILayout.TextField("State", state); + + if (GUILayout.Button("Get World Storage Sate")) + { + state = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); + } + GUI.backgroundColor = ori; + GUILayout.EndHorizontal(); + #endregion + + #region Version GUILayout.BeginHorizontal(); vers = EditorGUILayout.TextField("Version", vers); if (GUILayout.Button("Get World Storage API Version")) { - vers = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); + vers = RESTfulAdminRequest.GetVersion(worldStorageSettings); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); + #endregion ScriptableObject target = this; SerializedObject so = new SerializedObject(target); // Get creators - #region Get all creatorUid + #region Get all creator UUID EditorGUILayout.Space(10); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Request all Creator ID")) @@ -167,7 +202,7 @@ namespace ETSI.ARF.WorldStorage.UI creators.Clear(); foreach (var item in res) { - if (!creators.Contains(item.CreatorUID.ToString())) creators.Add(item.CreatorUID.ToString()); + if (!creators.Contains(item.CreatorUUID.ToString())) creators.Add(item.CreatorUUID.ToString()); } } GUI.backgroundColor = ori; @@ -177,51 +212,84 @@ namespace ETSI.ARF.WorldStorage.UI so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion + // // Get trackables + // #region Get all trackable objects EditorGUILayout.Space(10); + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Trackable ID")) + if (GUILayout.Button("Request Trackables")) { - UpdateList(); + UpdateListTrackables(); } GUI.backgroundColor = ori; - //GUILayout.Label("Number of Trackables: " + trackables.Count.ToString()); + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[3]; - if (GUILayout.Button("Delete all Trackables (5 stay in!!!)")) + if (GUILayout.Button("Delete all Trackables (3 stay in!!!)")) { Debug.Log("Deleting all Trackable "); int n = 0; foreach (var item in trackables) { - if (++n > 5) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); + if (++n > 3) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); } - UpdateList(); + UpdateListTrackables(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; + // Show list stringsProperty = so.FindProperty("trackables"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion - // Anchors + // + // Get anchors + // #region Get all anchor objects + EditorGUILayout.Space(10); + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Anchor ID")) + if (GUILayout.Button("Request Anchors")) { - + UpdateListWorldAnchors(); + } + GUI.backgroundColor = ori; + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete all World Anchors (3 stay in!!!)")) + { + Debug.Log("Deleting all World Anchors "); + int n = 0; + foreach (var item in anchors) + { + if (++n > 3) RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, item); + } + + UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; + + // Show list + stringsProperty = so.FindProperty("anchors"); + EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children + so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion - // Links + // + // Get Links + // #region Get all link objects GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Link ID")) + if (GUILayout.Button("Request all Link UUID")) { } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset index 7117b62..e6bbc21 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset @@ -15,4 +15,4 @@ MonoBehaviour: serverName: HHI Servers creatorUID: 9739c1d7-b86d-4894-9f4a-2e43ea6cfdf6 basePath: https://ics1.hhi.fraunhofer.de - port: 40311 + port: 8080 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset index 898ef1f..6cc0c7e 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset @@ -15,4 +15,4 @@ MonoBehaviour: serverName: HHI Servers (intern test) creatorUID: 2af3e69e-91d6-4021-99d1-188917df8ea8 basePath: http://vm009254.fe.hhi.de/ - port: 40311 + port: 8080 diff --git a/Packages/manifest.json b/Packages/manifest.json index 86d3520..6a17a2d 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -7,6 +7,7 @@ "com.unity.test-framework": "1.1.24", "com.unity.textmeshpro": "3.0.4", "com.unity.timeline": "1.4.7", + "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.0", "com.unity.ugui": "1.0.0", "etsi.isg.arf.worldstorage": "file:./unity-world-storage-package", "com.unity.modules.ai": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 2b98cb4..2c2ade1 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -39,6 +39,22 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.sysroot": { + "version": "2.0.0", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.sysroot.linux-x86_64": { + "version": "2.0.0", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.sysroot": "2.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.test-framework": { "version": "1.1.24", "depth": 0, @@ -71,6 +87,16 @@ }, "url": "https://packages.unity.com" }, + "com.unity.toolchain.win-x86_64-linux-x86_64": { + "version": "2.0.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.sysroot": "2.0.0", + "com.unity.sysroot.linux-x86_64": "2.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.ugui": { "version": "1.0.0", "depth": 0, diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package index 0fe54fb..8a3fc6a 160000 --- a/Packages/unity-world-storage-package +++ b/Packages/unity-world-storage-package @@ -1 +1 @@ -Subproject commit 0fe54fb13060f8856ee7545408ef6c6329c832df +Subproject commit 8a3fc6a294f022a0c733c65af2b6cf564a3666b9 -- GitLab From 10f33679331716dbbb13f6e2887b00c7ba892a31 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Tue, 31 May 2022 18:15:25 +0200 Subject: [PATCH 7/7] Refacturing server, user. Changed some folder, script names, namespace... --- .../Editor/{ => Graph}/GraphWindow.cs | 8 +- .../Editor/{ => Graph}/GraphWindow.cs.meta | 0 .../Editor/GraphMathScript.cs | 450 -------- .../{Scriptables.meta => Editor/Windows.meta} | 2 +- .../Editor/{ => Windows}/TrackableWindow.cs | 80 +- .../{ => Windows}/TrackableWindow.cs.meta | 0 .../Editor/{ => Windows}/WorldAnchorWindow.cs | 76 +- .../{ => Windows}/WorldAnchorWindow.cs.meta | 0 .../{ => Windows}/WorldStorageWindow.cs | 78 +- .../{ => Windows}/WorldStorageWindow.cs.meta | 0 ...sEditor.cs => WorldStorageServerEditor.cs} | 24 +- ....meta => WorldStorageServerEditor.cs.meta} | 0 .../Editor/WorldStorageUserEditor.cs | 54 + ...cs.meta => WorldStorageUserEditor.cs.meta} | 2 +- ..._Detlef.asset => HHI Server - local.asset} | 6 +- ...set.meta => HHI Server - local.asset.meta} | 2 +- .../HHI Server.asset} | 8 +- .../HHI Server.asset.meta} | 2 +- .../Sylvain.asset} | 10 +- .../Sylvain.asset.meta} | 2 +- .../Scenes/WorldStorageSample.unity | 4 +- Packages/unity-world-storage-package | 2 +- ProjectSettings/MemorySettings.asset | 35 + ProjectSettings/boot.config | 0 UserSettings/EditorUserSettings.asset | 3 + UserSettings/Layouts/default-2021.dwlt | 1020 +++++++++++++++++ 26 files changed, 1310 insertions(+), 558 deletions(-) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Graph}/GraphWindow.cs (96%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Graph}/GraphWindow.cs.meta (100%) delete mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs rename Assets/ETSI.ARF/ARF World Storage API/{Scriptables.meta => Editor/Windows.meta} (77%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/TrackableWindow.cs (68%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/TrackableWindow.cs.meta (100%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/WorldAnchorWindow.cs (67%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/WorldAnchorWindow.cs.meta (100%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/WorldStorageWindow.cs (82%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{ => Windows}/WorldStorageWindow.cs.meta (100%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{WorldStorageSettingsEditor.cs => WorldStorageServerEditor.cs} (61%) rename Assets/ETSI.ARF/ARF World Storage API/Editor/{WorldStorageSettingsEditor.cs.meta => WorldStorageServerEditor.cs.meta} (100%) create mode 100644 Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs rename Assets/ETSI.ARF/ARF World Storage API/Editor/{GraphMathScript.cs.meta => WorldStorageUserEditor.cs.meta} (83%) rename Assets/ETSI.ARF/ARF World Storage API/Scenes/{WorldStorageSettings_HHI_Detlef.asset => HHI Server - local.asset} (75%) rename Assets/ETSI.ARF/ARF World Storage API/Scenes/{WorldStorageSettings_HHI_Detlef.asset.meta => HHI Server - local.asset.meta} (79%) rename Assets/ETSI.ARF/ARF World Storage API/{Scriptables/WorldStorageSettingsHHI.asset => Scenes/HHI Server.asset} (68%) rename Assets/ETSI.ARF/ARF World Storage API/{Scriptables/WorldStorageSettingsHHI_Intern.asset.meta => Scenes/HHI Server.asset.meta} (79%) rename Assets/ETSI.ARF/ARF World Storage API/{Scriptables/WorldStorageSettingsHHI_Intern.asset => Scenes/Sylvain.asset} (53%) rename Assets/ETSI.ARF/ARF World Storage API/{Scriptables/WorldStorageSettingsHHI.asset.meta => Scenes/Sylvain.asset.meta} (79%) create mode 100644 ProjectSettings/MemorySettings.asset create mode 100644 ProjectSettings/boot.config create mode 100644 UserSettings/Layouts/default-2021.dwlt diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/GraphWindow.cs similarity index 96% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/GraphWindow.cs index 6b1a69f..0afeea9 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/GraphWindow.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine.UIElements; using UnityEditor.UIElements; -using ETSI.ARF.WorldStorage.RESTful; +using ETSI.ARF.WorldStorage.REST; #if USING_OPENAPI_GENERATOR using Org.OpenAPITools.Api; @@ -23,7 +23,7 @@ namespace ETSI.ARF.WorldStorage.UI public class GraphWindow : EditorWindow { - [HideInInspector] public WorldStorageSettings worldStorageSettings; + [HideInInspector] public WorldStorageServer worldStorageSettings; [SerializeField] public List trackables = new List(); @@ -43,8 +43,8 @@ namespace ETSI.ARF.WorldStorage.UI private ARFGraphView myGraph; - [MenuItem("[ ISG-ARF ]/Graph Editor")] - public static void ShowWindow()//WorldStorageSettings ws) + [MenuItem("ARFWorldStorage/Graph Editor")] + public static void ShowWindow()//WorldStorageServer ws) { GraphWindow win = EditorWindow.GetWindow(typeof(GraphWindow), false, WorldStorageWindow.winName) as GraphWindow; //win.worldStorageSettings = ws; diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/GraphWindow.cs.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/GraphWindow.cs.meta diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs deleted file mode 100644 index 0d106c5..0000000 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs +++ /dev/null @@ -1,450 +0,0 @@ -// Source: -// https://gist.github.com/thelastpointer/c52c4b1f147dc47961798e39e3a7ea10 - - -/* - EditorGraph -- quickly draw graphs in the inspector. - Place this in a folder named 'Editor'. -*/ - -/* - USAGE: - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - TLP.Editor.EditorGraph graph = new TLP.Editor.EditorGraph(0, -1, 10, 1, "Just a sin wave", 100); - graph.AddFunction(x => Mathf.Sin(x)); - graph.Draw(); - } - - MORE COMPLICATED USAGE: - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - TLP.Editor.EditorGraph graph = new TLP.Editor.EditorGraph(0, -1, 10, 1, "Another sin wave!", 100); - graph.AddFunction(x => Mathf.Sin(x)); - - // Another function with a different color - graph.AddFunction(x => Mathf.Sin(x * 2), Color.cyan); - - // Do something when the graph is clicked on - graph.AddClickEvent((x, y) => Debug.LogFormat("You clicked at {0};{1}. The sin value for that is {2}", x, y, Mathf.Sin(x))); - - // Edit some colors... - graph.Colors.Background = new Color(0.2f, 0.2f, 0.2f, 1f); - - // Add two vertical lines - graph.AddLineX(Mathf.PI); - graph.AddLineX(Mathf.PI * 2); - - // Add a horizontal line with different color - graph.AddLineY(0, Color.gray); - - graph.Draw(); - } -*/ - -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -namespace TLP.Editor -{ - /// - /// Draw graphs in the inspector. - /// - public class EditorGraph - { - /// - /// Title of the graph. - /// - public string Title; - - /// - /// Vertical helper line distance, in graph units (a vertical line will be drawn every X units, starting at minimum X). Set 0 to disable. - /// - /// There will be at most one line per every two pixels. - public float GridLinesX = 0; - /// - /// Horizontal helper line distance, in graph units (a horizontal line will be drawn every Y units, starting at minimum Y). Set 0 to disable. - /// - /// There will be at most one line per every two pixels. - public float GridLinesY = 0; - - /// - /// Color settings. - /// - public GraphColors Colors; - - /// - /// Resolution of the graph -- how many points are evaluated and rendered for custom functions. - /// - public int GraphResolution = 48; - - /// - /// Constructor. - /// - /// Minimum X value in graph units. - /// Minimum Y value in graph units. - /// Maximum X value in graph units. - /// Maximum Y value in graph units. - /// Title of the graph (optional). - /// Resolution of the graphs (how many points are evaluated for each custom function). - public EditorGraph(float _minX, float _minY, float _maxX, float _maxY, string _title = "", int _resolution = 48) - { - if (_minX >= _maxX) - throw new System.ArgumentException("Editor graph: minimum X value must be greater than maximum!", "_minX"); - if (_minY >= _maxY) - throw new System.ArgumentException("Editor graph: minimum Y value must be greater than maximum!", "_minY"); - - minX = _minX; - maxX = _maxX; - minY = _minY; - maxY = _maxY; - - rangeX = maxX - minX; - rangeY = maxY - minY; - - Title = _title; - GraphResolution = _resolution; - - // Default graph colors - Colors = new GraphColors - { - Background = new Color(0.15f, 0.15f, 0.15f, 1f), - Outline = new Color(0.15f, 0.15f, 0.15f, 1f), - GridLine = new Color(0.5f, 0.5f, 0.5f), - Function = Color.red, - CustomLine = Color.white - }; - } - - /// - /// Colors used to draw the graph. - /// - public struct GraphColors - { - /// - /// Background color. - /// - public Color Background; - - /// - /// Outline color for the graph. - /// - public Color Outline; - - /// - /// Helper line color. - /// - public Color GridLine; - - /// - /// Default color for custom functions. - /// - public Color Function; - - /// - /// Default color for custom lines. - /// - public Color CustomLine; - } - - #region Public functions - - /// - /// Draw the graph with the default size (128x80). - /// - public void Draw() - { - Draw(128, 80); - } - - /// - /// Draw the graph with the specified minimum size. - /// - /// Minimum width of the graph in pixels. - /// Minimum height of the graph in pixels. - public void Draw(float width, float height) - { - // Get rect - if (!string.IsNullOrEmpty(Title)) - { - using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) - GUILayout.Label(Title); - } - - // Title - using (new GUILayout.HorizontalScope()) - { - GUILayout.Space(EditorGUI.indentLevel * 15f); - rect = GUILayoutUtility.GetRect(width, height); - } - - // Handle MouseDown events - if (Event.current.type == EventType.MouseDown) - { - if (rect.Contains(Event.current.mousePosition)) - { - Vector2 mousePos = (Event.current.mousePosition - rect.position); - Vector2 unitPos = new Vector2( - mousePos.x / rect.width * rangeX + minX, - (1f - (mousePos.y / rect.height)) * rangeY + minY - ); - - foreach (var e in clickEvents) - e(unitPos.x, unitPos.y); - } - } - - // Only continue if we're repainting the graph - if (Event.current.type != EventType.Repaint) - return; - - // Background - DrawRect(minX, minY, maxX, maxY, Colors.Background, Colors.Outline); - - // Vertical helper lines - if (GridLinesX > 0) - { - float multiplier = 1; - while ((rangeX / (GridLinesX * multiplier)) > (rect.width / 2f)) - multiplier *= 2; - - for (float x = minX; x <= maxX; x += GridLinesX * multiplier) - DrawLine(x, minY, x, maxY, Colors.GridLine, 1); - } - // Horizontal helper lines - if (GridLinesY > 0) - { - float multiplier = 1; - while ((rangeY / (GridLinesY * multiplier)) > (rect.height / 2f)) - multiplier *= 2; - - for (float y = minY; y <= maxY; y += GridLinesY * multiplier) - DrawLine(minX, y, maxX, y, Colors.GridLine, 1); - } - - // Vertical lines - foreach (var line in linesX) - { - DrawLine(line.Position, minY, line.Position, maxY, line.Color, 2); - } - // Horizontal lines - foreach (var line in linesY) - { - DrawLine(minX, line.Position, maxX, line.Position, line.Color, 2); - } - - // Check if the vertex buffer is of the correct size - int res = (GraphResolution <= 0 ? 48 : GraphResolution); - if ((curveVertices == null) || (curveVertices.Length != res)) - curveVertices = new Vector3[res]; - - // Evaluate all functions - foreach (var func in functions) - { - var vcount = 0; - while (vcount < res) - { - var x = this.rangeX * vcount / (res - 1); - var y = func.Function(x); - if ((y > minY) && (y < maxY)) - { - curveVertices[vcount++] = UnitToGraph(x, y); - } - else - { - if (vcount > 1) - { - // Extend the last segment to the top edge of the rect. - var v1 = curveVertices[vcount - 2]; - var v2 = curveVertices[vcount - 1]; - var clip = (rect.y - v1.y) / (v2.y - v1.y); - curveVertices[vcount - 1] = v1 + (v2 - v1) * clip; - } - break; - } - } - - if (vcount > 1) - { - Handles.color = func.Color; - Handles.DrawAAPolyLine(2.0f, vcount, curveVertices); - } - } - } - - /// - /// Add a custom function to the graph using the default color. - /// - /// A function that evaluates the graph at a given position (graph units). - public void AddFunction(GraphFunction func) - { - AddFunction(func, Colors.Function); - } - - /// - /// Add a custom function to the graph. - /// - /// A function that evaluates the graph at a given position (graph units). - /// Color of the rendered function. - public void AddFunction(GraphFunction func, Color color) - { - foreach (var pair in functions) - { - if (pair.Function == func) - return; - } - - functions.Add(new FunctionColorPair { Function = func, Color = color }); - } - - /// - /// Register a function that handles click events. Arguments are passed as graph units. - /// - /// Function to call when the user clicks on the graph. - public void AddClickEvent(MouseEvent e) - { - if (!clickEvents.Contains(e)) - clickEvents.Add(e); - } - - /// - /// Add a vertical line with the default color. - /// - /// Position of the line in graph units. - public void AddLineX(float value) - { - AddLineX(value, Colors.CustomLine); - } - - /// - /// Add a vertical line. - /// - /// Position of the line in graph units. - /// Color of the line. - public void AddLineX(float value, Color color) - { - foreach (var pair in linesX) - { - if (pair.Position == value) - return; - } - - linesX.Add(new LineColorPair { Position = value, Color = color }); - } - - /// - /// Add a horizontal line with the default color. - /// - /// Position of the line in graph units. - public void AddLineY(float value) - { - AddLineY(value, Colors.CustomLine); - } - - /// - /// Add a horizontal line. - /// - /// Position of the line in graph units. - /// Color of the line. - public void AddLineY(float value, Color color) - { - foreach (var pair in linesY) - { - if (pair.Position == value) - return; - } - - linesY.Add(new LineColorPair { Position = value, Color = color }); - } - - #endregion - - /// - /// Custom function delegate. This works in graph units. - /// - /// Input value, eg. where the function is evaluated. - /// The evaluated value at position x. - public delegate float GraphFunction(float x); - - /// - /// Mouse click delegate. - /// - /// X position of the click, in graph units. - /// Y position of the click, in graph units. - public delegate void MouseEvent(float x, float y); - - #region Internal state - - // Vertex buffers - Vector3[] rectVertices = new Vector3[4]; - Vector3[] lineVertices = new Vector3[2]; - Vector3[] curveVertices; - - List functions = new List(); - List linesX = new List(); - List linesY = new List(); - List clickEvents = new List(); - float minX, maxX, minY, maxY; - Rect rect; - float rangeX = 10; - float rangeY = 10; - - struct FunctionColorPair - { - public GraphFunction Function; - public Color Color; - } - struct LineColorPair - { - public float Position; - public Color Color; - } - - #endregion - - #region Helper functions - - Vector3 UnitToGraph(float x, float y) - { - x = Mathf.Lerp(rect.x, rect.xMax, (x - minX) / rangeX); - y = Mathf.Lerp(rect.yMax, rect.y, (y - minY) / rangeY); - - return new Vector3(x, y, 0); - } - - float UnitToGraphX(float x) - { - return Mathf.Lerp(rect.x, rect.xMax, (x - minX) / rangeX); - } - - float UnitToGraphY(float y) - { - return Mathf.Lerp(rect.yMax, rect.y, (y - minY) / rangeY); - } - - void DrawLine(float x1, float y1, float x2, float y2, Color color, float width) - { - lineVertices[0] = UnitToGraph(x1, y1); - lineVertices[1] = UnitToGraph(x2, y2); - Handles.color = color; - Handles.DrawAAPolyLine(width, lineVertices); - } - - void DrawRect(float x1, float y1, float x2, float y2, Color fill, Color line) - { - rectVertices[0] = UnitToGraph(x1, y1); - rectVertices[1] = UnitToGraph(x2, y1); - rectVertices[2] = UnitToGraph(x2, y2); - rectVertices[3] = UnitToGraph(x1, y2); - - Handles.DrawSolidRectangleWithOutline(rectVertices, fill, line); - } - - #endregion - } -} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows.meta similarity index 77% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows.meta index 64ab464..bf1141a 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: efec94a96917ef946ab027baa62bc0bc +guid: fbbff3217b2a8cd428764d83150c7b22 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs similarity index 68% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs index 9f30bc0..630f2d0 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs @@ -4,20 +4,17 @@ // (C) 2022 // // Development "World Storage", data management, authoring tools -// -// Authors: -// - Sylvain Renault (Fraunhofer HHI) -// -// Date: Feb. 2022 +// Date: June 2022 // #define USING_OPENAPI_GENERATOR // alt. is Swagger +//#define isDEBUG using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; -using ETSI.ARF.WorldStorage.RESTful; +using ETSI.ARF.WorldStorage.REST; #if USING_OPENAPI_GENERATOR using Org.OpenAPITools.Api; @@ -32,7 +29,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class TrackableWindow : EditorWindow { - [HideInInspector] public WorldStorageSettings worldStorageSettings; + [HideInInspector] public WorldStorageServer worldStorageServer; + [HideInInspector] public WorldStorageUser worldStorageUser; [SerializeField] public List trackables = new List(); @@ -50,10 +48,11 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; - public static void ShowWindow(WorldStorageSettings ws) + public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) { TrackableWindow win = EditorWindow.GetWindow(typeof(TrackableWindow), false, WorldStorageWindow.winName) as TrackableWindow; - win.worldStorageSettings = ws; + win.worldStorageServer = ws; + win.worldStorageUser = user; } public TrackableWindow() @@ -87,13 +86,16 @@ namespace ETSI.ARF.WorldStorage.UI { GUILayout.BeginVertical("AR Trackable", gsTest); // - GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Server: " + worldStorageServer.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("User: " + worldStorageUser.userName, EditorStyles.whiteLargeLabel); EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); customName = EditorGUILayout.TextField("Name of Trackable", customName); +#if isDEBUG GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly +#endif EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; @@ -105,7 +107,7 @@ namespace ETSI.ARF.WorldStorage.UI // extract the UUID UUID = customName.Split('[', ']')[1]; } - Trackable obj = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, UUID); + Trackable obj = TrackableRequest.GetTrackable(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); type = obj.TrackableType.ToString(); @@ -139,8 +141,8 @@ namespace ETSI.ARF.WorldStorage.UI Debug.Log("PostAddTrackable"); if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); - Trackable obj = RESTfulTrackableRequest.TrackableFromStrings(UUID, customName, worldStorageSettings.creatorUID); - RESTfulTrackableRequest.AddTrackable(worldStorageSettings, obj); + Trackable obj = GenerateTrackable(UUID, customName, worldStorageUser.UUID); + TrackableRequest.AddTrackable(worldStorageServer, obj); WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); @@ -155,7 +157,7 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Delete Trackable")) { Debug.Log("Deleting Trackable"); - RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, UUID); + TrackableRequest.DeleteTrackable(worldStorageServer, UUID); UUID = System.Guid.Empty.ToString(); creatorUUID = System.Guid.Empty.ToString(); type = ""; @@ -172,5 +174,55 @@ namespace ETSI.ARF.WorldStorage.UI } GUI.backgroundColor = ori; } + + + static public Trackable GenerateTrackable(string uuid, string name, string creatorUID) + { + EncodingInformationStructure trackableEncodingInformation = + new EncodingInformationStructure(EncodingInformationStructure.DataFormatEnum.ARCORE, "1.0"); + Debug.Log("Created encoding information"); + +#if USING_OPENAPI_GENERATOR + List size = new List(); +#else + List trackableDimension = new List(); +#endif + size.Add(5); + size.Add(5); + Debug.Log("Created dimension"); + + byte[] bytes = new byte[100]; + + for (int i = 0; i < bytes.Length; i++) + { + bytes[i] = (byte)i; + } + + List crs = new List + { + -2, 1, -3, 4, + 4, 4, 4, 2, + 1, 0, -2, 1, + -1, -2, 0, 0 + }; + + Dictionary> kv = new Dictionary>(); + kv.Add("Scenario", new List { "ETSI Trackable" }); + + System.Guid _uuid = System.Guid.Parse(uuid); + Trackable t = new Trackable( + _uuid, + name, + System.Guid.Parse(creatorUID), + Trackable.TrackableTypeEnum.IMAGEMARKER, + trackableEncodingInformation, + bytes, + crs, + UnitSystem.M, + size, + kv); + t.UUID = _uuid; + return t; + } } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/TrackableWindow.cs.meta diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs similarity index 67% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs index 463dfca..9831a5e 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs @@ -4,20 +4,17 @@ // (C) 2022 // // Development "World Storage", data management, authoring tools -// -// Authors: -// - Sylvain Renault (Fraunhofer HHI) -// -// Date: Feb. 2022 +// Date: June 2022 // #define USING_OPENAPI_GENERATOR // alt. is Swagger +//#define isDEBUG using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; -using ETSI.ARF.WorldStorage.RESTful; +using ETSI.ARF.WorldStorage.REST; #if USING_OPENAPI_GENERATOR using Org.OpenAPITools.Api; @@ -31,7 +28,8 @@ namespace ETSI.ARF.WorldStorage.UI { public class WorldAnchorWindow : EditorWindow { - [HideInInspector] public WorldStorageSettings worldStorageSettings; + [HideInInspector] public WorldStorageServer worldStorageServer; + [HideInInspector] public WorldStorageUser worldStorageUser; [SerializeField] public List anchors = new List(); @@ -47,10 +45,11 @@ namespace ETSI.ARF.WorldStorage.UI private Color ori; private GUIStyle gsTest; - public static void ShowWindow(WorldStorageSettings ws) + public static void ShowWindow(WorldStorageServer ws, WorldStorageUser user) { WorldAnchorWindow win = EditorWindow.GetWindow(typeof(WorldAnchorWindow), false, WorldStorageWindow.winName) as WorldAnchorWindow; - win.worldStorageSettings = ws; + win.worldStorageServer = ws; + win.worldStorageUser = user; } public WorldAnchorWindow() @@ -82,13 +81,16 @@ namespace ETSI.ARF.WorldStorage.UI { GUILayout.BeginVertical("AR World Anchor", gsTest); // - GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("Server: " + worldStorageServer.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("User: " + worldStorageUser.userName, EditorStyles.whiteLargeLabel); EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); customName = EditorGUILayout.TextField("Name of Anchor", customName); +#if isDEBUG GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly +#endif EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; @@ -100,7 +102,7 @@ namespace ETSI.ARF.WorldStorage.UI // extract the UUID UUID = customName.Split('[', ']')[1]; } - WorldAnchor obj = RESTfulWorldAnchorRequest.GetWorldAnchor(worldStorageSettings, UUID); + WorldAnchor obj = WorldAnchorRequest.GetWorldAnchor(worldStorageServer, UUID); customName = obj.Name; creatorUUID = obj.CreatorUUID.ToString(); unit = obj.Unit.ToString(); @@ -130,8 +132,8 @@ namespace ETSI.ARF.WorldStorage.UI Debug.Log("PostAddWorldAnchor"); if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); - WorldAnchor obj = RESTfulWorldAnchorRequest.WorldAnchorFromStrings(UUID, customName, worldStorageSettings.creatorUID); - RESTfulWorldAnchorRequest.AddWorldAnchor(worldStorageSettings, obj); + WorldAnchor obj = GenerateWorldAnchor(UUID, customName, worldStorageUser.UUID); + WorldAnchorRequest.AddWorldAnchor(worldStorageServer, obj); WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); @@ -145,7 +147,7 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Delete World Anchor")) { Debug.Log("Deleting World Anchor"); - RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, UUID); + WorldAnchorRequest.DeleteWorldAnchor(worldStorageServer, UUID); UUID = System.Guid.Empty.ToString(); creatorUUID = System.Guid.Empty.ToString(); unit = ""; @@ -161,5 +163,51 @@ namespace ETSI.ARF.WorldStorage.UI } GUI.backgroundColor = ori; } + + static public WorldAnchor GenerateWorldAnchor(string uuid, string name, string creatorUID) + { + EncodingInformationStructure trackableEncodingInformation = + new EncodingInformationStructure(EncodingInformationStructure.DataFormatEnum.ARCORE, "1.0"); + Debug.Log("Created encoding information"); + +#if USING_OPENAPI_GENERATOR + List size = new List(); +#else + List trackableDimension = new List(); +#endif + size.Add(5); + size.Add(5); + Debug.Log("Created dimension"); + + byte[] bytes = new byte[100]; + + for (int i = 0; i < bytes.Length; i++) + { + bytes[i] = (byte)i; + } + + List crs = new List + { + -2, 1, -3, 4, + 4, 4, 4, 2, + 1, 0, -2, 1, + -1, -2, 0, 0 + }; + + Dictionary> kv = new Dictionary>(); + kv.Add("Scenario", new List { "ETSI WorldAnchor" }); + + System.Guid _uuid = System.Guid.Parse(uuid); + WorldAnchor t = new WorldAnchor( + _uuid, + name, + System.Guid.Parse(creatorUID), + crs, + UnitSystem.M, + size, + kv); + t.UUID = _uuid; + return t; + } } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldAnchorWindow.cs.meta diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs similarity index 82% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs index b4edd9a..a7f8b85 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs @@ -4,21 +4,18 @@ // (C) 2022 // // Development "World Storage", data management, authoring tools -// -// Authors: -// - Sylvain Renault (Fraunhofer HHI) -// -// Date: May 2022 +// Date: June 2022 // #define USING_OPENAPI_GENERATOR // alt. is Swagger +//#define isDEBUG using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using ETSI.ARF.WorldStorage; -using ETSI.ARF.WorldStorage.RESTful; +using ETSI.ARF.WorldStorage.REST; #if USING_OPENAPI_GENERATOR using Org.OpenAPITools.Api; @@ -35,7 +32,8 @@ namespace ETSI.ARF.WorldStorage.UI { static public WorldStorageWindow WorldStorageWindowSingleton; - [HideInInspector] public WorldStorageSettings worldStorageSettings; + [HideInInspector] public WorldStorageServer worldStorageServer; + [HideInInspector] public WorldStorageUser worldStorageUser; [SerializeField] public List creators = new List(); [SerializeField] public List trackables = new List(); @@ -71,6 +69,7 @@ namespace ETSI.ARF.WorldStorage.UI { WorldStorageWindowSingleton = this; } + static public void DrawCopyright() { // Title @@ -93,12 +92,12 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Create/Edit Trackable...")) { Debug.Log("Open Trackable Window"); - TrackableWindow.ShowWindow(worldStorageSettings); + TrackableWindow.ShowWindow(worldStorageServer, worldStorageUser); } if (GUILayout.Button("Create/Edit World Anchor...")) { Debug.Log("Open World Anchor Window"); - WorldAnchorWindow.ShowWindow(worldStorageSettings); + WorldAnchorWindow.ShowWindow(worldStorageServer, worldStorageUser); } if (GUILayout.Button("Create/Edit Link...")) { @@ -116,7 +115,7 @@ namespace ETSI.ARF.WorldStorage.UI { // Get all objects Debug.Log("Get all server objects"); - List res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + List res = TrackableRequest.GetAllTrackables(worldStorageServer); trackables.Clear(); foreach (var item in res) { @@ -129,7 +128,7 @@ namespace ETSI.ARF.WorldStorage.UI { // Get all objects Debug.Log("Get all server objects"); - List res = RESTfulWorldAnchorRequest.GetAllWorldAnchors(worldStorageSettings); + List res = WorldAnchorRequest.GetAllWorldAnchors(worldStorageServer); anchors.Clear(); foreach (var item in res) { @@ -144,61 +143,64 @@ namespace ETSI.ARF.WorldStorage.UI GUILayout.BeginVertical("World Storage Server", gsTest); // GUILayout gl = new GUILayout(); - - GUILayout.Label("Server Name: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); - GUILayout.Label("Own Creator UID: " + worldStorageSettings.creatorUID); - GUILayout.Label("Base Path: " + worldStorageSettings.basePath); - GUILayout.Label("Port: " + worldStorageSettings.port); + + GUILayout.Label("Server Name: " + worldStorageServer.serverName, EditorStyles.whiteLargeLabel); + GUILayout.Label("User Name: " + worldStorageUser.userName, EditorStyles.whiteLargeLabel); +#if isDEBUG + GUILayout.Label("Creator UID: " + worldStorageUser.UUID); + GUILayout.Label("Base Path: " + worldStorageServer.basePath); + GUILayout.Label("Port: " + worldStorageServer.port); +#endif EditorGUILayout.Space(); - #region Ping +#region Ping GUILayout.BeginHorizontal(); ping = EditorGUILayout.TextField("Last Ping", ping); if (GUILayout.Button("Ping")) { - ping = RESTfulAdminRequest.Ping(worldStorageSettings); + ping = AdminRequest.Ping(worldStorageServer); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); - #endregion +#endregion - #region State +#region State GUILayout.BeginHorizontal(); state = EditorGUILayout.TextField("State", state); if (GUILayout.Button("Get World Storage Sate")) { - state = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); + state = AdminRequest.GetAdminInfo(worldStorageServer); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); - #endregion +#endregion - #region Version +#region Version GUILayout.BeginHorizontal(); vers = EditorGUILayout.TextField("Version", vers); if (GUILayout.Button("Get World Storage API Version")) { - vers = RESTfulAdminRequest.GetVersion(worldStorageSettings); + vers = AdminRequest.GetVersion(worldStorageServer); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); - #endregion +#endregion ScriptableObject target = this; SerializedObject so = new SerializedObject(target); // Get creators - #region Get all creator UUID +#region Get all creator UUID EditorGUILayout.Space(10); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Request all Creator ID")) { // Get all objects Debug.Log("Get all creators id"); - List res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + List res = TrackableRequest.GetAllTrackables(worldStorageServer); creators.Clear(); foreach (var item in res) { @@ -210,12 +212,12 @@ namespace ETSI.ARF.WorldStorage.UI SerializedProperty stringsProperty = so.FindProperty("creators"); EditorGUILayout.PropertyField(stringsProperty, true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties - #endregion +#endregion // // Get trackables // - #region Get all trackable objects +#region Get all trackable objects EditorGUILayout.Space(10); // ########################################################### @@ -234,7 +236,7 @@ namespace ETSI.ARF.WorldStorage.UI int n = 0; foreach (var item in trackables) { - if (++n > 3) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); + if (++n > 3) TrackableRequest.DeleteTrackable(worldStorageServer, item); } UpdateListTrackables(); @@ -246,17 +248,17 @@ namespace ETSI.ARF.WorldStorage.UI stringsProperty = so.FindProperty("trackables"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties - #endregion +#endregion // // Get anchors // - #region Get all anchor objects +#region Get all anchor objects EditorGUILayout.Space(10); // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request Anchors")) + if (GUILayout.Button("Request World Anchors")) { UpdateListWorldAnchors(); } @@ -270,7 +272,7 @@ namespace ETSI.ARF.WorldStorage.UI int n = 0; foreach (var item in anchors) { - if (++n > 3) RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, item); + if (++n > 3) WorldAnchorRequest.DeleteWorldAnchor(worldStorageServer, item); } UpdateListWorldAnchors(); @@ -282,19 +284,19 @@ namespace ETSI.ARF.WorldStorage.UI stringsProperty = so.FindProperty("anchors"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties - #endregion +#endregion // // Get Links // - #region Get all link objects +#region Get all link objects GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Link UUID")) + if (GUILayout.Button("Request World Links")) { } GUI.backgroundColor = ori; - #endregion +#endregion // GUILayout.EndVertical(); diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldStorageWindow.cs.meta diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageServerEditor.cs similarity index 61% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs rename to Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageServerEditor.cs index 07a4590..d595b9f 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageServerEditor.cs @@ -18,15 +18,15 @@ using UnityEditor; namespace ETSI.ARF.WorldStorage.UI { - [CustomEditor(typeof(WorldStorageSettings))] - public class WorldStorageSettingsEditor : Editor + [CustomEditor(typeof(WorldStorageServer))] + public class WorldStorageServerEditor : Editor { - WorldStorageSettings worldStorageSettings; + WorldStorageServer worldStorageServer; WorldStorageWindow win; public void OnEnable() { - worldStorageSettings = (WorldStorageSettings)target; + worldStorageServer = (WorldStorageServer)target; } public override void OnInspectorGUI() @@ -41,24 +41,14 @@ namespace ETSI.ARF.WorldStorage.UI DrawDefaultInspector(); EditorGUILayout.Space(); - // creator uid button - //GUILayout.BeginHorizontal(); - //GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Create New Creator UID")) - { - worldStorageSettings.creatorUID = System.Guid.NewGuid().ToString(); - if (win != null) win.worldStorageSettings.creatorUID = worldStorageSettings.creatorUID; - } - //GUI.backgroundColor = ori; - //GUILayout.EndHorizontal(); - - // open win button + // open window button GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Open World Storage Window...")) { Debug.Log("Open Main ARF Window"); win = EditorWindow.GetWindow(typeof(WorldStorageWindow), false, "ETSI ARF - Authoring Editor") as WorldStorageWindow; - win.worldStorageSettings = worldStorageSettings; + win.worldStorageServer = worldStorageServer; + win.worldStorageUser = worldStorageServer.user; } GUI.backgroundColor = ori; } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageServerEditor.cs.meta similarity index 100% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageSettingsEditor.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageServerEditor.cs.meta diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs new file mode 100644 index 0000000..e37b42f --- /dev/null +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs @@ -0,0 +1,54 @@ +// +// ETSI (European Telecommunications Standards Institute, referred to as ETSI) +// ARF - ETSI ISG Augmented Reality Framework (ISG ARF) +// (C) 2022 +// +// Development "World Storage", data management, authoring tools +// +// Authors: +// - Sylvain Renault (Fraunhofer HHI) +// +// Date: Feb. 2022 +// + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ETSI.ARF.WorldStorage.UI +{ + [CustomEditor(typeof(WorldStorageUser))] + public class WorldStorageUserEditor : Editor + { + WorldStorageUser worldStorageUser; + WorldStorageWindow win; + + public void OnEnable() + { + worldStorageUser = (WorldStorageUser)target; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + Color ori = GUI.backgroundColor; + + GUILayout.Label("Copyright(c) 2022, ETSI - ARF"); + EditorGUILayout.Space(); + GUILayout.Label("Parameters:", EditorStyles.boldLabel); + DrawDefaultInspector(); + EditorGUILayout.Space(); + + // creator UUID button + GUI.backgroundColor = WorldStorageWindow.arfColors[1]; + if (GUILayout.Button("Generate New Creator UUID")) + { + worldStorageUser.UUID = System.Guid.NewGuid().ToString(); + if (win != null) win.worldStorageUser.UUID = worldStorageUser.UUID; + } + GUI.backgroundColor = ori; + } + } +} \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs.meta similarity index 83% rename from Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta rename to Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs.meta index 2d4c18f..fda722e 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphMathScript.cs.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageUserEditor.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 963ad0211af9f3f48a53e88d9f9f5be5 +guid: 134a71a4b493ae1468ea8de88c99135c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset similarity index 75% rename from Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset index a50e697..b4b6a1d 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset @@ -10,9 +10,9 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} - m_Name: WorldStorageSettings_HHI_Detlef + m_Name: HHI Server - local m_EditorClassIdentifier: - serverName: Detlef's PC - creatorUID: 00000000-0000-0000-0000-000000000000 + serverName: HHI Server (Detlef) basePath: http://172.17.132.19 port: 8080 + user: {fileID: 11400000, guid: ce0f40be06008b14283766424922b729, type: 2} diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset.meta similarity index 79% rename from Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset.meta index 6e4830d..cd8c2c2 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSettings_HHI_Detlef.asset.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server - local.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b656b4f6c38b83148a06d0ccd523227c +guid: 62e22250d4134d64ca319770717f0b43 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset similarity index 68% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset index e6bbc21..a556ade 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset @@ -10,9 +10,9 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} - m_Name: WorldStorageSettingsHHI + m_Name: HHI Server m_EditorClassIdentifier: - serverName: HHI Servers - creatorUID: 9739c1d7-b86d-4894-9f4a-2e43ea6cfdf6 - basePath: https://ics1.hhi.fraunhofer.de + serverName: HHI World Storage Server + basePath: https://ics1.hhi.fraunhofer.de/ port: 8080 + user: {fileID: 11400000, guid: ce0f40be06008b14283766424922b729, type: 2} diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset.meta similarity index 79% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset.meta rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset.meta index 60f3073..ba6a8f7 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/HHI Server.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1d9997341aa0c1c45810f4b291addf39 +guid: 4f997253243de534dad12937f1284975 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset b/Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset similarity index 53% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset index 6cc0c7e..b904326 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset @@ -9,10 +9,8 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3} - m_Name: WorldStorageSettingsHHI_Intern + m_Script: {fileID: 11500000, guid: 8a1e3e7961eae84468e6ee20d5b09ffd, type: 3} + m_Name: Sylvain m_EditorClassIdentifier: - serverName: HHI Servers (intern test) - creatorUID: 2af3e69e-91d6-4021-99d1-188917df8ea8 - basePath: http://vm009254.fe.hhi.de/ - port: 8080 + userName: Sylvain R. + UUID: faee4241-62ac-47d1-92c8-5b4b7a5fbc93 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta b/Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset.meta similarity index 79% rename from Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta rename to Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset.meta index 77cd62f..9a36c5d 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/Sylvain.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fd253fbdf276d5e47bef25ba893dc7a4 +guid: ce0f40be06008b14283766424922b729 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity index cb0bbf5..51b3ac9 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity +++ b/Assets/ETSI.ARF/ARF World Storage API/Scenes/WorldStorageSample.unity @@ -405,7 +405,7 @@ GameObject: - component: {fileID: 1056454765} - component: {fileID: 1056454764} m_Layer: 0 - m_Name: ARFServer + m_Name: World Storage Info m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -423,7 +423,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 02da7adcc65f4694684d71e61d88070b, type: 3} m_Name: m_EditorClassIdentifier: - worldStorageServer: {fileID: 11400000, guid: b656b4f6c38b83148a06d0ccd523227c, type: 2} + worldStorageServer: {fileID: 11400000, guid: 62e22250d4134d64ca319770717f0b43, type: 2} --- !u!4 &1056454765 Transform: m_ObjectHideFlags: 0 diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package index 8a3fc6a..14e1e67 160000 --- a/Packages/unity-world-storage-package +++ b/Packages/unity-world-storage-package @@ -1 +1 @@ -Subproject commit 8a3fc6a294f022a0c733c65af2b6cf564a3666b9 +Subproject commit 14e1e679ed253a6760c78f05fe1250d1a6b86f06 diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config new file mode 100644 index 0000000..e69de29 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 3ef73f4..d053285 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -12,6 +12,9 @@ EditorUserSettings: value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b0d0032e2060c38f50e040e515fb31b1ff6040a flags: 0 RecentlyUsedScenePath-2: + value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b100428b2390a0ef80e441e1f07e917 + flags: 0 + RecentlyUsedScenePath-3: value: 224247031146467e393d256c3111795f37253e6a1b27343c29692e27edf2353fe7a717d9ce750c3f3c0cea2f4b090e2dfe0e3a1ff9190b0c143dfc0301f3155d04cb11d103 flags: 0 vcSharedLogLevel: diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt new file mode 100644 index 0000000..61c1571 --- /dev/null +++ b/UserSettings/Layouts/default-2021.dwlt @@ -0,0 +1,1020 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: 6.2222223 + y: 48.444447 + width: 1694.2223 + height: 972 + m_ShowMode: 4 + m_Title: Project + m_RootView: {fileID: 8} + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_Maximized: 0 +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ConsoleWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 628.44446 + y: 0 + width: 722.22217 + height: 364.22223 + m_MinSize: {x: 102, y: 121} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 20} + m_Panes: + - {fileID: 20} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 7} + - {fileID: 2} + m_Position: + serializedVersion: 2 + x: 0 + y: 557.7778 + width: 1350.6666 + height: 364.22223 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 167 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 11} + - {fileID: 5} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 1694.2222 + height: 922 + m_MinSize: {x: 300, y: 200} + m_MaxSize: {x: 24288, y: 16192} + vertical: 0 + controlID: 21 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1350.6666 + y: 0 + width: 343.55554 + height: 922 + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 16} + m_Panes: + - {fileID: 16} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 334.22223 + height: 557.7778 + m_MinSize: {x: 201, y: 221} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 17} + m_Panes: + - {fileID: 17} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ProjectBrowser + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 628.44446 + height: 364.22223 + m_MinSize: {x: 231, y: 271} + m_MaxSize: {x: 10001, y: 10021} + m_ActualView: {fileID: 15} + m_Panes: + - {fileID: 15} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 9} + - {fileID: 4} + - {fileID: 10} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1694.2222 + height: 972 + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_UseTopView: 1 + m_TopViewHeight: 30 + m_UseBottomView: 1 + m_BottomViewHeight: 20 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1694.2222 + height: 30 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 952 + width: 1694.2222 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 12} + - {fileID: 3} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1350.6666 + height: 922 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 16192, y: 16192} + vertical: 1 + controlID: 73 +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 6} + - {fileID: 13} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1350.6666 + height: 557.7778 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 74 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 334.22223 + y: 0 + width: 1016.4444 + height: 557.7778 + m_MinSize: {x: 202, y: 221} + m_MaxSize: {x: 4002, y: 4021} + m_ActualView: {fileID: 18} + m_Panes: + - {fileID: 18} + - {fileID: 19} + - {fileID: 14} + m_Selected: 0 + m_LastSelected: 1 +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12111, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 400, y: 100} + m_MaxSize: {x: 2048, y: 2048} + m_TitleContent: + m_Text: Asset Store + m_Image: {fileID: -7444545952099596278, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 468 + y: 181 + width: 973 + height: 501 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 6.2222223 + y: 636.44446 + width: 627.44446 + height: 343.22223 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_VersionControlStates: [] + m_SoftLockControlStates: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Packages/com.unity.nuget.newtonsoft-json/Runtime/AOT + m_Globs: [] + m_OriginalText: + m_ViewMode: 1 + m_StartGridSize: 16 + m_LastFolders: + - Packages/com.unity.nuget.newtonsoft-json/Runtime/AOT + m_LastFoldersGridSize: 16 + m_LastProjectPath: D:\Fraunhofer\Projects\ETSI\GitLab (STF)\unity-world-storage-editor + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 128.77777} + m_SelectedIDs: 22640000 + m_LastClickedID: 25634 + m_ExpandedIDs: 00000000d4630000d6630000d8630000da630000dc630000de630000e0630000e2630000e4630000e6630000026400002064000000ca9a3bffffff7f + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000d4630000d6630000d8630000da630000dc630000de630000e0630000e2630000e4630000e6630000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 1 + m_ExpandedInstanceIDs: c6230000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_ClientGUIView: {fileID: 0} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 16 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 334 +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1356.8889 + y: 78.666664 + width: 342.55554 + height: 901 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: 160 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_LastInspectedObjectInstanceID: -1 + m_LastVerticalScrollValue: 0 + m_GlobalObjectId: + m_InspectorMode: 0 + m_LockTracker: + m_IsLocked: 0 + m_PreviewWindow: {fileID: 0} +--- !u!114 &17 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 6.2222223 + y: 78.666664 + width: 333.22223 + height: 536.7778 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 3e640000 + m_LastClickedID: 0 + m_ExpandedIDs: 7ee2ffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 26d3cc4a749ad3148bdaac8cbfc0727d +--- !u!114 &18 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 340.44446 + y: 78.666664 + width: 1014.4444 + height: 536.7778 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: -98.22223, y: -25.777771} + snapCorner: 3 + id: Tool Settings + index: 0 + layout: 1 + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -141, y: 149} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-grid-and-snap-toolbar + index: 1 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-scene-view-toolbar + index: 0 + layout: 1 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-search-toolbar + index: 1 + layout: 1 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-transform-toolbar + index: 0 + layout: 2 + - dockPosition: 0 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 67.5, y: 86} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Orientation + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Light Settings + index: 0 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Camera + index: 1 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Constraints + index: 2 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Collisions + index: 3 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Navmesh Display + index: 4 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Agent Display + index: 5 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Obstacle Display + index: 6 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Occlusion Culling + index: 7 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Physics Debugger + index: 8 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Scene Visibility + index: 9 + layout: 4 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Particles + index: 10 + layout: 4 + m_WindowGUID: f5dcb30f0be3f8447834243ac481bdf9 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: 0, y: 0, z: 0} + speed: 2 + m_Value: {x: 0, y: 0, z: 0} + m_RenderMode: 0 + m_CameraMode: + drawMode: 0 + name: Shaded + section: Shading Mode + m_ValidateTrueMetals: 0 + m_DoValidateTrueMetals: 0 + m_ExposureSliderValue: 0 + m_SceneViewState: + m_AlwaysRefresh: 0 + showFog: 1 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + showParticleSystems: 1 + showVisualEffectGraphs: 1 + m_FxEnabled: 1 + m_Grid: + xGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 0, y: 0} + yGrid: + m_Fade: + m_Target: 1 + speed: 2 + m_Value: 1 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + zGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 0, y: 0} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + speed: 2 + m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Size: + m_Target: 10 + speed: 2 + m_Value: 10 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_CameraSettings: + m_Speed: 1 + m_SpeedNormalized: 0.5 + m_SpeedMin: 0.01 + m_SpeedMax: 2 + m_EasingEnabled: 1 + m_EasingDuration: 0.4 + m_AccelerationEnabled: 1 + m_FieldOfViewHorizontalOrVertical: 60 + m_NearClip: 0.03 + m_FarClip: 10000 + m_DynamicClip: 1 + m_OcclusionCulling: 0 + m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0} + m_LastSceneViewOrtho: 0 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !u!114 &19 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 507 + y: 94 + width: 1532 + height: 790 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_SerializedViewNames: [] + m_SerializedViewValues: [] + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 3447, y: 1730.25} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 0 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -766 + m_HBaseRangeMax: 766 + m_VBaseRangeMin: -384.5 + m_VBaseRangeMax: 384.5 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 1532 + height: 769 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 766, y: 384.5} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -766 + y: -384.5 + width: 1532 + height: 769 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 3447, y: 1777.5} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 00000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} +--- !u!114 &20 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 634.6667 + y: 636.44446 + width: 720.22217 + height: 343.22223 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] -- GitLab