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 6b1a69fd9eb3250ba7b28c16095ce5b6d806697b..0afeea9d79a43592a8503807a4eac553d642a112 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<string> trackables = new List<string>(); @@ -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 0d106c5fc573e6ee3142dfccb2ba83e2a35fe4a9..0000000000000000000000000000000000000000 --- 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 -{ - /// <summary> - /// Draw graphs in the inspector. - /// </summary> - public class EditorGraph - { - /// <summary> - /// Title of the graph. - /// </summary> - public string Title; - - /// <summary> - /// Vertical helper line distance, in graph units (a vertical line will be drawn every X units, starting at minimum X). Set 0 to disable. - /// </summary> - /// <remarks>There will be at most one line per every two pixels.</remarks> - public float GridLinesX = 0; - /// <summary> - /// Horizontal helper line distance, in graph units (a horizontal line will be drawn every Y units, starting at minimum Y). Set 0 to disable. - /// </summary> - /// <remarks>There will be at most one line per every two pixels.</remarks> - public float GridLinesY = 0; - - /// <summary> - /// Color settings. - /// </summary> - public GraphColors Colors; - - /// <summary> - /// Resolution of the graph -- how many points are evaluated and rendered for custom functions. - /// </summary> - public int GraphResolution = 48; - - /// <summary> - /// Constructor. - /// </summary> - /// <param name="_minX">Minimum X value in graph units.</param> - /// <param name="_minY">Minimum Y value in graph units.</param> - /// <param name="_maxX">Maximum X value in graph units.</param> - /// <param name="_maxY">Maximum Y value in graph units.</param> - /// <param name="_title">Title of the graph (optional).</param> - /// <param name="_title">Resolution of the graphs (how many points are evaluated for each custom function).</param> - 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 - }; - } - - /// <summary> - /// Colors used to draw the graph. - /// </summary> - public struct GraphColors - { - /// <summary> - /// Background color. - /// </summary> - public Color Background; - - /// <summary> - /// Outline color for the graph. - /// </summary> - public Color Outline; - - /// <summary> - /// Helper line color. - /// </summary> - public Color GridLine; - - /// <summary> - /// Default color for custom functions. - /// </summary> - public Color Function; - - /// <summary> - /// Default color for custom lines. - /// </summary> - public Color CustomLine; - } - - #region Public functions - - /// <summary> - /// Draw the graph with the default size (128x80). - /// </summary> - public void Draw() - { - Draw(128, 80); - } - - /// <summary> - /// Draw the graph with the specified minimum size. - /// </summary> - /// <param name="width">Minimum width of the graph in pixels.</param> - /// <param name="height">Minimum height of the graph in pixels.</param> - 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); - } - } - } - - /// <summary> - /// Add a custom function to the graph using the default color. - /// </summary> - /// <param name="func">A function that evaluates the graph at a given position (graph units).</param> - public void AddFunction(GraphFunction func) - { - AddFunction(func, Colors.Function); - } - - /// <summary> - /// Add a custom function to the graph. - /// </summary> - /// <param name="func">A function that evaluates the graph at a given position (graph units).</param> - /// <param name="color">Color of the rendered function.</param> - 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 }); - } - - /// <summary> - /// Register a function that handles click events. Arguments are passed as graph units. - /// </summary> - /// <param name="e">Function to call when the user clicks on the graph.</param> - public void AddClickEvent(MouseEvent e) - { - if (!clickEvents.Contains(e)) - clickEvents.Add(e); - } - - /// <summary> - /// Add a vertical line with the default color. - /// </summary> - /// <param name="value">Position of the line in graph units.</param> - public void AddLineX(float value) - { - AddLineX(value, Colors.CustomLine); - } - - /// <summary> - /// Add a vertical line. - /// </summary> - /// <param name="value">Position of the line in graph units.</param> - /// <param name="color">Color of the line.</param> - 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 }); - } - - /// <summary> - /// Add a horizontal line with the default color. - /// </summary> - /// <param name="value">Position of the line in graph units.</param> - public void AddLineY(float value) - { - AddLineY(value, Colors.CustomLine); - } - - /// <summary> - /// Add a horizontal line. - /// </summary> - /// <param name="value">Position of the line in graph units.</param> - /// <param name="color">Color of the line.</param> - 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 - - /// <summary> - /// Custom function delegate. This works in graph units. - /// </summary> - /// <param name="x">Input value, eg. where the function is evaluated.</param> - /// <returns>The evaluated value at position x.</returns> - public delegate float GraphFunction(float x); - - /// <summary> - /// Mouse click delegate. - /// </summary> - /// <param name="x">X position of the click, in graph units.</param> - /// <param name="y">Y position of the click, in graph units.</param> - 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<FunctionColorPair> functions = new List<FunctionColorPair>(); - List<LineColorPair> linesX = new List<LineColorPair>(); - List<LineColorPair> linesY = new List<LineColorPair>(); - List<MouseEvent> clickEvents = new List<MouseEvent>(); - 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 64ab4648eed6c845857a67664c52f5d05d77382d..bf1141ac4617e76d6c3c2cfa2f92f99a21f33728 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 9f30bc0fa53cb41726f9d3fa5629c81d4b7d8126..630f2d020c8cf2f59e9569e1b8ce66151311308b 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<string> trackables = new List<string>(); @@ -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<double> size = new List<double>(); +#else + List<double?> trackableDimension = new List<double?>(); +#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<float> crs = new List<float> + { + -2, 1, -3, 4, + 4, 4, 4, 2, + 1, 0, -2, 1, + -1, -2, 0, 0 + }; + + Dictionary<string, List<string>> kv = new Dictionary<string, List<string>>(); + kv.Add("Scenario", new List<string> { "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 463dfcaea19d8989c3b9cc2a2396fd3d5163ca87..9831a5e0c65a4f3df62b52e96c4f55870c4c9486 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<string> anchors = new List<string>(); @@ -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<double> size = new List<double>(); +#else + List<double?> trackableDimension = new List<double?>(); +#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<float> crs = new List<float> + { + -2, 1, -3, 4, + 4, 4, 4, 2, + 1, 0, -2, 1, + -1, -2, 0, 0 + }; + + Dictionary<string, List<string>> kv = new Dictionary<string, List<string>>(); + kv.Add("Scenario", new List<string> { "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 b4edd9ac8083f3404d417a83f064f97484d2f0a5..a7f8b858f250155272e2d992fdf9384095356d61 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<string> creators = new List<string>(); [SerializeField] public List<string> trackables = new List<string>(); @@ -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<Trackable> res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + List<Trackable> 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<WorldAnchor> res = RESTfulWorldAnchorRequest.GetAllWorldAnchors(worldStorageSettings); + List<WorldAnchor> 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<Trackable> res = RESTfulTrackableRequest.GetAllTrackables(worldStorageSettings); + List<Trackable> 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 07a459067ccfe26e3b0f14f2d6785a5a6ab20032..d595b9fdc8652d70fd2e682a40635735fa03310a 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 0000000000000000000000000000000000000000..e37b42f5d481473f8928d0a4810ec94c61ffea3b --- /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 2d4c18f25634b2abfd22f2306e97a1442e85b8ef..fda722e173a00845529c4320e13d4eb268184994 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 a50e69792722d6b7e25504575e6535867ef99413..b4b6a1d0de3f9cb0a8324ed9c3480c19a4f1b925 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 6e4830d1b423225ad76b6071173f7e4f168e789c..cd8c2c249f171d24b65dbab018c58e63e8574268 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 e6bbc21d5677eb78d53bb45fcbedfacd76f4f4db..a556ade807c0deee3bac9b01c0bdbc84e83e1e5f 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 60f30736a45b910667c83b6f25924f3ffe48c583..ba6a8f7f7640f7037ba95d93de679c04c30acc99 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 6cc0c7e74034285f3a6fc341a7b9b7a088f22779..b904326662a8d34184d38e62cb99ba8197e791d6 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 77cd62f9fa4ebd6b72959a8f3e485e620fe7918f..9a36c5d94f415b8ad0f885bb34005a9b525d9651 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 cb0bbf537708ed6a20a862ccfe01a7aa61ca9586..51b3ac9e05164713f603cb3dfff4af54aca7a090 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 8a3fc6a294f022a0c733c65af2b6cf564a3666b9..14e1e679ed253a6760c78f05fe1250d1a6b86f06 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 0000000000000000000000000000000000000000..5b5facecace9276319b6e497953ab0429de65b61 --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 3ef73f4d57e97f22060fbb5e555c99ef7d2765ee..d053285ceecf4bd0abcecc71097c8be73e6837c9 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 0000000000000000000000000000000000000000..61c15713a29dbfe82e98ba86742ced287f61d9db --- /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: []