diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFEdgeLink.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFEdgeLink.cs index d3b98fb31d48fe3635f780b01d80b8d4302feef4..20235858700ec0879cc0e1eeb9a472503a00f548 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFEdgeLink.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFEdgeLink.cs @@ -36,7 +36,6 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Graph doubleClickManipulator.activators.Clear(); doubleClickManipulator.activators.Add(new ManipulatorActivationFilter { button = MouseButton.LeftMouse, clickCount = 2 }); this.AddManipulator(doubleClickManipulator); - style.color = new Color(239, 239, 239); } public void Clicked() diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs index ee94e9b36219cb25ebe2f3f5cdf06e13f95b16f2..9885c0bb108b9cac296619ae5777d4b57ced9241 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFGraphView.cs @@ -50,9 +50,11 @@ namespace ETSI.ARF.WorldStorage.UI //deleSection deleteSelection += DeleteFunc; + this.AddManipulator(new ContentDragger()); this.AddManipulator(new SelectionDragger()); this.AddManipulator(new RectangleSelector()); + } //method called when an element is deleted from the graphview @@ -105,7 +107,10 @@ namespace ETSI.ARF.WorldStorage.UI { edgeLink.input.Disconnect(edgeLink); edgeLink.output.Disconnect(edgeLink); - SaveInfo.instance.elemsToRemove.Add(edgeLink.GUID, typeof(WorldLink)); + if (SaveInfo.instance.linkIds.Contains(edgeLink.GUID)) + { + SaveInfo.instance.elemsToRemove.Add(edgeLink.GUID, typeof(WorldLink)); + } RemoveElement(elt); continue; } @@ -120,60 +125,72 @@ namespace ETSI.ARF.WorldStorage.UI Vector2 localMousePos = evt.localMousePosition; Vector2 actualGraphPosition = viewTransform.matrix.inverse.MultiplyPoint(localMousePos); - evt.menu.AppendSeparator(); - evt.menu.AppendAction("Reload graph", delegate + if (!(evt.target is ARFNode || evt.target is Group || evt.target is ARFEdgeLink)) { - if (ServerAndLocalDifferent() && EditorUtility.DisplayDialog("Saving node positions", "The World Graph has been modified. \nWould you like to push the modifications to the server ?", "Yes", "No")) + evt.menu.AppendSeparator(); + evt.menu.AppendAction("Save graph", delegate + { + if (ServerAndLocalDifferent()) + { + SaveInServer(); + }/* + Reload(); + SaveInfo.instance.toReFrame = true;*/ + }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); + evt.menu.AppendAction("Reload graph", delegate + { + if (ServerAndLocalDifferent() && EditorUtility.DisplayDialog("Saving node positions", "The World Graph has been modified. \nWould you like to push the modifications to the server ?", "Yes", "No")) + { + SaveInServer(); + } + Reload(); + SaveInfo.instance.toReFrame = true; + }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); + evt.menu.AppendAction("Create Trackable", delegate { - SaveInServer(); - } - Reload(); - SaveInfo.instance.toReFrame = true; - }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("Create Trackable", delegate - { //generate the Trackables's attributes EncodingInformationStructure trackableEncodingInformation = new EncodingInformationStructure(EncodingInformationStructure.DataFormatEnum.OTHER, "0"); - List<float> localCRS = new(); - for (int i = 0; i < 15; i++) - { - localCRS.Add(0); - } - localCRS.Add(1); + List<float> localCRS = new(); + for (int i = 0; i < 15; i++) + { + localCRS.Add(0); + } + localCRS.Add(1); - List<double> trackableSize = new(); - for (int i = 0; i < 3; i++) - { - trackableSize.Add(0); - } + List<double> trackableSize = new(); + for (int i = 0; i < 3; i++) + { + trackableSize.Add(0); + } - Trackable trackable = new Trackable(Guid.NewGuid(), "Defaulttrackable", Guid.Parse(worldStorageUser.UUID), Trackable.TrackableTypeEnum.OTHER, trackableEncodingInformation, new byte[64], localCRS, UnitSystem.CM, trackableSize, new Dictionary<string, List<string>>()); - - selection.Clear(); - AddToSelection(CreateTrackableNode(trackable, actualGraphPosition.x, actualGraphPosition.y)); + Trackable trackable = new Trackable(Guid.NewGuid(), "Defaulttrackable", Guid.Parse(worldStorageUser.UUID), Trackable.TrackableTypeEnum.OTHER, trackableEncodingInformation, new byte[64], localCRS, UnitSystem.CM, trackableSize, new Dictionary<string, List<string>>()); - }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("Create World Anchor", delegate - { + selection.Clear(); + AddToSelection(CreateTrackableNode(trackable, actualGraphPosition.x, actualGraphPosition.y)); + + }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); + evt.menu.AppendAction("Create World Anchor", delegate + { //generate the worldAnchor attributes List<float> localCRS = new List<float>(); - for (int i = 0; i < 15; i++) - { - localCRS.Add(0); - } - localCRS.Add(1); + for (int i = 0; i < 15; i++) + { + localCRS.Add(0); + } + localCRS.Add(1); - List<double> worldAnchorSize = new List<double>(); - for (int i = 0; i < 3; i++) - { - worldAnchorSize.Add(0); - } + List<double> worldAnchorSize = new List<double>(); + for (int i = 0; i < 3; i++) + { + worldAnchorSize.Add(0); + } - WorldAnchor anchor = new WorldAnchor(Guid.NewGuid(), "DefaultWorldAnchor", Guid.Parse(worldStorageUser.UUID), localCRS, UnitSystem.CM, worldAnchorSize, new Dictionary<string, List<string>>()); - CreateAnchorNode(anchor, actualGraphPosition.x, actualGraphPosition.y); + WorldAnchor anchor = new WorldAnchor(Guid.NewGuid(), "DefaultWorldAnchor", Guid.Parse(worldStorageUser.UUID), localCRS, UnitSystem.CM, worldAnchorSize, new Dictionary<string, List<string>>()); + CreateAnchorNode(anchor, actualGraphPosition.x, actualGraphPosition.y); - }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); + }, (DropdownMenuAction a) => DropdownMenuAction.Status.Normal); + } evt.menu.AppendSeparator(); if (evt.target is ARFNode || evt.target is Group || evt.target is ARFEdgeLink) { diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs index 900bac96f6ad6267541ed2025dbccfd33dbb5281..75a1de040382c71026f1264284d52c38e03d7e67 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNode.cs @@ -95,6 +95,12 @@ namespace ETSI.ARF.WorldStorage.UI return node.InstantiatePort(Orientation.Horizontal, portDirection, capacity, typeof(int)); // dummy } + //override the BuildContextualMenu method to prevent the "disconnect" option from appearing in the contextual menu + public override void BuildContextualMenu(ContextualMenuPopulateEvent evt) + { + } + public abstract ObjectType GetElemType(); + } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeTrackable.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeTrackable.cs index 4b32dba05168bb0c37b3c3d0a031d41d4ead1b2a..c34cf1e763246cb57096b92b668d9a028a1e3f99 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeTrackable.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeTrackable.cs @@ -48,18 +48,18 @@ namespace ETSI.ARF.WorldStorage.UI var colorRectangle = new VisualElement(); colorRectangle.style.height = 160; colorRectangle.style.height = 5; - colorRectangle.style.backgroundColor = new Color(0.9f, 0.78f, 0.54f, 0.9f); + colorRectangle.style.backgroundColor = new Color(1, 0.31f, 0.31f, 0.9f); mainContainer.Insert(1, colorRectangle); /*PORTS*/ var portIn = GeneratePort(this, Direction.Input, Port.Capacity.Multi); - portIn.portColor = new Color(0.77f, 0.77f, 0.77f, 0.77f); + portIn.portColor = new Color(0.66f, 0.39f, 1, 0.77f); portIn.portName = "Target"; // "Input" //portIn.AddManipulator(new EdgeConnector<ARFEdgeLink>(new WorldLinkListener())); inputContainer.Add(portIn); var portOut = GeneratePort(this, Direction.Output, Port.Capacity.Multi); - portOut.portColor = new Color(0.77f, 0.77f, 0.77f, 0.77f); + portOut.portColor = new Color(0.66f, 0.39f, 1, 0.77f); portOut.portName = "Source"; // "Output"; //portOut.AddManipulator(new EdgeConnector<ARFEdgeLink>(new WorldLinkListener())); ; outputContainer.Add(portOut); diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeWorldAnchor.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeWorldAnchor.cs index e0a8672332cdd6be3557c41365d9efafb15e5604..e5250b4b1c363f266e378b71c315cdc99f00db02 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeWorldAnchor.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Graph/ARFNodeWorldAnchor.cs @@ -48,18 +48,18 @@ namespace ETSI.ARF.WorldStorage.UI var colorRectangle = new VisualElement(); colorRectangle.style.height = 160; colorRectangle.style.height = 5; - colorRectangle.style.backgroundColor = new Color(0.76f, 0.9f, 0.46f, 0.9f); + colorRectangle.style.backgroundColor = new Color(1, 0.7f, 0, 0.9f); mainContainer.Insert(1, colorRectangle); /*PORTS*/ var portIn = GeneratePort(this, Direction.Input, Port.Capacity.Multi); - portIn.portColor = new Color(0.77f,0.77f,0.77f, 0.77f); + portIn.portColor = new Color(0.66f, 0.39f, 1, 0.77f); portIn.portName = "Target"; // "Input"; //portIn.AddManipulator(new EdgeConnector<ARFEdgeLink>(new WorldLinkListener())); inputContainer.Add(portIn); var portOut = GeneratePort(this, Direction.Output, Port.Capacity.Multi); - portOut.portColor = new Color(0.77f, 0.77f, 0.77f, 0.77f); + portOut.portColor = new Color(0.66f, 0.39f, 1, 0.77f); portOut.portName = "Source"; // "Output"; //portOut.AddManipulator(new EdgeConnector<ARFEdgeLink>(new WorldLinkListener())); outputContainer.Add(portOut); diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/GraphEditorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/GraphEditorWindow.cs index 49c5ed3ba029f605025487134e3ba9ef69a8d028..36c691b1ed39c0ffaf56114d84d4a818d958cff5 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/GraphEditorWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/GraphEditorWindow.cs @@ -223,7 +223,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //separator line var rect = EditorGUILayout.BeginHorizontal(GUILayout.Height(40)); - DrawUILine(new Color(0.76f, 0.9f, 0.46f, 0.9f), 5, 5); + DrawUILine(new Color(1, 0.7f, 0, 0.9f), 5, 5); EditorGUILayout.EndHorizontal(); // @@ -234,7 +234,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //uuid EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UUID : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Uuid ", EditorStyles.boldLabel, GUILayout.Width(50)); if (!SaveInfo.instance.nodePositions.ContainsKey(worldAnchor.UUID.ToString())) { EditorGUILayout.LabelField("none Yet"); @@ -248,7 +248,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //name EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); - EditorGUILayout.LabelField("NAME : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Name ", EditorStyles.boldLabel, GUILayout.Width(50)); worldAnchor.Name = EditorGUILayout.DelayedTextField(worldAnchor.Name); if (EditorGUI.EndChangeCheck()) { @@ -258,51 +258,56 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //unit system EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UNIT : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Unit ", EditorStyles.boldLabel, GUILayout.Width(50)); worldAnchor.Unit = (UnitSystem)EditorGUILayout.EnumPopup(worldAnchor.Unit); EditorGUILayout.EndHorizontal(); + //style for sublabels (right aligned) + var rightStyle = GUI.skin.GetStyle("Label"); + rightStyle.alignment = TextAnchor.UpperRight; + //size EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("SIZE : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Size ", EditorStyles.boldLabel, GUILayout.Width(50)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Width", rightStyle, GUILayout.Width(50)); local_size[0] = EditorGUILayout.DelayedFloatField(local_size[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Length", rightStyle, GUILayout.Width(50)); local_size[1] = EditorGUILayout.DelayedFloatField(local_size[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Depth", rightStyle, GUILayout.Width(50)); local_size[2] = EditorGUILayout.DelayedFloatField(local_size[2]); EditorGUILayout.EndHorizontal(); //localCRS EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("LOCAL CRS : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Local CRS ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("position : "); //position EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Position ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_pos[0] = EditorGUILayout.DelayedFloatField(local_pos[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_pos[1] = EditorGUILayout.DelayedFloatField(local_pos[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_pos[2] = EditorGUILayout.DelayedFloatField(local_pos[2]); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("rotation : "); //rotation EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Rotation ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_rot[0] = EditorGUILayout.DelayedFloatField(local_rot[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_rot[1] = EditorGUILayout.DelayedFloatField(local_rot[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_rot[2] = EditorGUILayout.DelayedFloatField(local_rot[2]); EditorGUILayout.EndHorizontal(); //keyvaluetags=================================================================================================TOBEMODIFIED + DrawUILine(Color.gray, 1, 1); EditorGUILayout.BeginHorizontal(); - GUILayout.Label("TAGS : ", EditorStyles.boldLabel); + GUILayout.Label("Tags ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginVertical(); @@ -324,7 +329,6 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows int j = 0; foreach (KeyValuePair<string, List<string>> entry in tempPairs) { - DrawUILine(Color.gray, 1, 1); EditorGUILayout.BeginHorizontal(); GUILayout.Label(entry.Key); GUILayout.FlexibleSpace(); @@ -445,20 +449,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows } } } - //delete button - if (GUILayout.Button("Delete")) - { - if (EditorUtility.DisplayDialog("Deleting elements", "Are you sure you want to delete this element ?", "Yes", "No")) - { - if (SaveInfo.instance.nodePositions.ContainsKey(worldAnchor.UUID.ToString())) - { - SaveInfo.instance.elemsToRemove.Add(worldAnchor.UUID.ToString(), typeof(WorldAnchor)); - } - var window = GetWindow<WorldGraphWindow>(); - window.DeleteNode(worldAnchorNode); - ResetWindow(); - } - } + //save button if (GUILayout.Button("Save")) { @@ -466,45 +457,39 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows { if (SaveInfo.instance.elemsToUpdate.Contains(worldAnchor.UUID.ToString())) { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element in the server ?", "Yes", "No")) - { - WorldAnchorRequest.UpdateWorldAnchor(SaveInfo.instance.worldStorageServer, worldAnchor); - SaveInfo.instance.elemsToUpdate.Remove(worldAnchor.UUID.ToString()); - } + WorldAnchorRequest.UpdateWorldAnchor(SaveInfo.instance.worldStorageServer, worldAnchor); + SaveInfo.instance.elemsToUpdate.Remove(worldAnchor.UUID.ToString()); } } else { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element's informations to the server ?", "Yes", "No")) + var posX = new List<String>(); + posX.Add(worldAnchorNode.GetPosition().x.ToString()); + var posY = new List<String>(); + posY.Add(worldAnchorNode.GetPosition().y.ToString()); + WorldAnchor worldAnchor = worldAnchorNode.worldAnchor; + worldAnchor.KeyvalueTags["unityAuthoringPosX"] = posX; + worldAnchor.KeyvalueTags["unityAuthoringPosY"] = posY; + + String uuid = WorldAnchorRequest.AddWorldAnchor(SaveInfo.instance.worldStorageServer, worldAnchor); + + //change the uuid in its edges, if there is a new edge to be added in the world storage it needs to have the correct uuid + uuid = uuid.Replace("\"", ""); + foreach (ARFEdgeLink edge in worldAnchorNode.portIn.connections) { - var posX = new List<String>(); - posX.Add(worldAnchorNode.GetPosition().x.ToString()); - var posY = new List<String>(); - posY.Add(worldAnchorNode.GetPosition().y.ToString()); - WorldAnchor worldAnchor = worldAnchorNode.worldAnchor; - worldAnchor.KeyvalueTags["unityAuthoringPosX"] = posX; - worldAnchor.KeyvalueTags["unityAuthoringPosY"] = posY; - - String uuid = WorldAnchorRequest.AddWorldAnchor(SaveInfo.instance.worldStorageServer, worldAnchor); - - //change the uuid in its edges, if there is a new edge to be added in the world storage it needs to have the correct uuid - uuid = uuid.Replace("\"", ""); - foreach (ARFEdgeLink edge in worldAnchorNode.portIn.connections) - { - edge.worldLink.UUIDTo = Guid.Parse(uuid); - } - foreach (ARFEdgeLink edge in worldAnchorNode.portOut.connections) - { - edge.worldLink.UUIDFrom = Guid.Parse(uuid); - } - worldAnchorNode.worldAnchor.UUID = Guid.Parse(uuid); - worldAnchorNode.GUID = uuid; - worldAnchorNode.title = worldAnchor.Name; - - //Add the newly saved World Anchor to the SaveInfo singleton - Rect trackPos = new(worldAnchorNode.GetPosition().x, worldAnchorNode.GetPosition().y, 135, 77); - SaveInfo.instance.nodePositions[uuid] = trackPos; + edge.worldLink.UUIDTo = Guid.Parse(uuid); } + foreach (ARFEdgeLink edge in worldAnchorNode.portOut.connections) + { + edge.worldLink.UUIDFrom = Guid.Parse(uuid); + } + worldAnchorNode.worldAnchor.UUID = Guid.Parse(uuid); + worldAnchorNode.GUID = uuid; + worldAnchorNode.title = worldAnchor.Name; + + //Add the newly saved World Anchor to the SaveInfo singleton + Rect trackPos = new(worldAnchorNode.GetPosition().x, worldAnchorNode.GetPosition().y, 135, 77); + SaveInfo.instance.nodePositions[uuid] = trackPos; } } GUILayout.Space(10); @@ -539,7 +524,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //separator line var rect = EditorGUILayout.BeginHorizontal(GUILayout.Height(40)); - DrawUILine(new Color(0.9f, 0.78f, 0.54f, 0.9f), 5, 5); + DrawUILine(new Color(1, 0.31f, 0.31f, 0.9f), 5, 5); EditorGUILayout.EndHorizontal(); // @@ -550,7 +535,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //uuid EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UUID : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Uuid ", EditorStyles.boldLabel, GUILayout.Width(50)); if (!SaveInfo.instance.nodePositions.ContainsKey(trackable.UUID.ToString())) { EditorGUILayout.LabelField("none Yet"); @@ -564,7 +549,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //name EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); - EditorGUILayout.LabelField("NAME : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Name ", EditorStyles.boldLabel, GUILayout.Width(50)); trackable.Name = EditorGUILayout.DelayedTextField(trackable.Name); if (EditorGUI.EndChangeCheck()) { @@ -572,71 +557,81 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows } EditorGUILayout.EndHorizontal(); + //trackable's type + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Type ", EditorStyles.boldLabel, GUILayout.Width(50)); + trackable.TrackableType = (Trackable.TrackableTypeEnum)EditorGUILayout.EnumPopup(trackable.TrackableType); + EditorGUILayout.EndHorizontal(); + //unit system EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UNIT : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Unit ", EditorStyles.boldLabel, GUILayout.Width(50)); trackable.Unit = (UnitSystem)EditorGUILayout.EnumPopup(trackable.Unit); EditorGUILayout.EndHorizontal(); + //style for sublabels (right aligned) + var rightStyle = GUI.skin.GetStyle("Label"); + rightStyle.alignment = TextAnchor.UpperRight; + //size EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("SIZE : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Size ", EditorStyles.boldLabel, GUILayout.Width(50)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Width", rightStyle, GUILayout.Width(50)); local_size[0] = EditorGUILayout.DelayedFloatField(local_size[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Length", rightStyle, GUILayout.Width(50)); local_size[1] = EditorGUILayout.DelayedFloatField(local_size[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Depth", rightStyle, GUILayout.Width(50)); local_size[2] = EditorGUILayout.DelayedFloatField(local_size[2]); EditorGUILayout.EndHorizontal(); //localCRS EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("LOCAL CRS : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Local CRS ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("position : "); //position EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Position ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_pos[0] = EditorGUILayout.DelayedFloatField(local_pos[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_pos[1] = EditorGUILayout.DelayedFloatField(local_pos[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_pos[2] = EditorGUILayout.DelayedFloatField(local_pos[2]); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("rotation : "); //rotation EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Rotation ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_rot[0] = EditorGUILayout.DelayedFloatField(local_rot[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_rot[1] = EditorGUILayout.DelayedFloatField(local_rot[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_rot[2] = EditorGUILayout.DelayedFloatField(local_rot[2]); EditorGUILayout.EndHorizontal(); //encodingInofrmation EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("TRACKABLE INFORMATION : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Trackable Information ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Format : ", GUILayout.Width(50)); + EditorGUILayout.LabelField("Format ", GUILayout.Width(50)); trackable.TrackableEncodingInformation.DataFormat = (EncodingInformationStructure.DataFormatEnum)EditorGUILayout.EnumPopup(trackable.TrackableEncodingInformation.DataFormat); - EditorGUILayout.LabelField("Version : ", GUILayout.Width(50)); + EditorGUILayout.LabelField("Version ", GUILayout.Width(50)); float floatVersion = EditorGUILayout.DelayedFloatField(float.Parse(trackable.TrackableEncodingInformation._Version)); trackable.TrackableEncodingInformation._Version = floatVersion.ToString(); EditorGUILayout.EndHorizontal(); //trackable payload EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("TRACKABLE PAYLOAD : ", EditorStyles.boldLabel, GUILayout.Width(140)); + EditorGUILayout.LabelField("Trackable Payload ", EditorStyles.boldLabel, GUILayout.Width(140)); EditorGUILayout.LabelField("==============================================================================="); EditorGUILayout.EndHorizontal(); //keyvaluetags=================================================================================================TOBEMODIFIED EditorGUILayout.BeginHorizontal(); - GUILayout.Label("TAGS : ", EditorStyles.boldLabel); + GUILayout.Label("Tags ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginVertical(); @@ -782,20 +777,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows } } } - //delete button - if (GUILayout.Button("Delete")) - { - if (EditorUtility.DisplayDialog("Deleting elements", "Are you sure you want to delete this element ?", "Yes", "No")) - { - if (SaveInfo.instance.nodePositions.ContainsKey(trackable.UUID.ToString())) - { - SaveInfo.instance.elemsToRemove.Add(trackable.UUID.ToString(), typeof(Trackable)); - } - var window = GetWindow<WorldGraphWindow>(); - window.DeleteNode(trackableNode); - ResetWindow(); - } - } + //save button if (GUILayout.Button("Save")) { @@ -803,44 +785,38 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows { if (SaveInfo.instance.elemsToUpdate.Contains(trackable.UUID.ToString())) { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element in the server ?", "Yes", "No")) - { - TrackableRequest.UpdateTrackable(SaveInfo.instance.worldStorageServer, trackable); - SaveInfo.instance.elemsToUpdate.Remove(trackable.UUID.ToString()); - } + TrackableRequest.UpdateTrackable(SaveInfo.instance.worldStorageServer, trackable); + SaveInfo.instance.elemsToUpdate.Remove(trackable.UUID.ToString()); } } else { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element's informations to the server ?", "Yes", "No")) + var posX = new List<String>(); + posX.Add(trackableNode.GetPosition().x.ToString()); + var posY = new List<String>(); + posY.Add(trackableNode.GetPosition().y.ToString()); + Trackable trackable = trackableNode.trackable; + trackable.KeyvalueTags["unityAuthoringPosX"] = posX; + trackable.KeyvalueTags["unityAuthoringPosY"] = posY; + String uuid = TrackableRequest.AddTrackable(SaveInfo.instance.worldStorageServer, trackable); + + //change the uuid in its edges, if there is a new edge to be added in the world storage it needs to have the correct uuid + uuid = uuid.Replace("\"", ""); + foreach (ARFEdgeLink edge in trackableNode.portIn.connections) { - var posX = new List<String>(); - posX.Add(trackableNode.GetPosition().x.ToString()); - var posY = new List<String>(); - posY.Add(trackableNode.GetPosition().y.ToString()); - Trackable trackable = trackableNode.trackable; - trackable.KeyvalueTags["unityAuthoringPosX"] = posX; - trackable.KeyvalueTags["unityAuthoringPosY"] = posY; - String uuid = TrackableRequest.AddTrackable(SaveInfo.instance.worldStorageServer, trackable); - - //change the uuid in its edges, if there is a new edge to be added in the world storage it needs to have the correct uuid - uuid = uuid.Replace("\"", ""); - foreach (ARFEdgeLink edge in trackableNode.portIn.connections) - { - edge.worldLink.UUIDTo = Guid.Parse(uuid); - } - foreach (ARFEdgeLink edge in trackableNode.portOut.connections) - { - edge.worldLink.UUIDFrom = Guid.Parse(uuid); - } - trackableNode.trackable.UUID = Guid.Parse(uuid); - trackableNode.GUID = uuid; - trackableNode.title = trackable.Name; - - //Add the newly saved Trackable to the SaveInfo singleton - Rect trackPos = new(trackableNode.GetPosition().x, trackableNode.GetPosition().y, 135, 77); - SaveInfo.instance.nodePositions[uuid] = trackPos; + edge.worldLink.UUIDTo = Guid.Parse(uuid); + } + foreach (ARFEdgeLink edge in trackableNode.portOut.connections) + { + edge.worldLink.UUIDFrom = Guid.Parse(uuid); } + trackableNode.trackable.UUID = Guid.Parse(uuid); + trackableNode.GUID = uuid; + trackableNode.title = trackable.Name; + + //Add the newly saved Trackable to the SaveInfo singleton + Rect trackPos = new(trackableNode.GetPosition().x, trackableNode.GetPosition().y, 135, 77); + SaveInfo.instance.nodePositions[uuid] = trackPos; } } GUILayout.Space(10); @@ -875,7 +851,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //separator line var rect = EditorGUILayout.BeginHorizontal(GUILayout.Height(40)); - DrawUILine(new Color(0.77f, 0.77f, 0.77f, 0.77f), 5, 5); + DrawUILine(new Color(0.66f, 0.39f, 1, 0.77f), 5, 5); EditorGUILayout.EndHorizontal(); //ELEMENT'S ATTRIBUTES @@ -883,7 +859,7 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //uuid EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UUID : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Uuid ", EditorStyles.boldLabel, GUILayout.Width(50)); if (!SaveInfo.instance.linkIds.Contains(worldLink.UUID.ToString())) { EditorGUILayout.LabelField("none Yet"); @@ -895,20 +871,20 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows EditorGUILayout.EndHorizontal(); //source element - EditorGUILayout.LabelField("SOURCE ELEMENT : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Source Element ", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("name : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Name ", GUILayout.Width(75)); EditorGUILayout.LabelField(worldLinkEdge.output.node.title); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("type : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Type ", GUILayout.Width(75)); EditorGUILayout.LabelField(worldLink.TypeFrom.ToString(), GUILayout.Width(80)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("uuid : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Uuid ", GUILayout.Width(75)); if (SaveInfo.instance.nodePositions.ContainsKey(worldLink.UUIDFrom.ToString())) { EditorGUILayout.LabelField(worldLink.UUIDFrom.ToString()); @@ -920,20 +896,20 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows EditorGUILayout.EndHorizontal(); //target element - EditorGUILayout.LabelField("TARGET ELEMENT : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("Target Element ", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("name : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Name ", GUILayout.Width(70)); EditorGUILayout.LabelField(worldLinkEdge.input.node.title); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("type : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Type ", GUILayout.Width(70)); EditorGUILayout.LabelField(worldLink.TypeTo.ToString(), GUILayout.Width(80)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(50); - EditorGUILayout.LabelField("uuid : ", GUILayout.Width(75)); + EditorGUILayout.LabelField("Uuid ", GUILayout.Width(70)); if (SaveInfo.instance.nodePositions.ContainsKey(worldLink.UUIDTo.ToString())) { EditorGUILayout.LabelField(worldLink.UUIDTo.ToString()); @@ -946,32 +922,36 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows //unit system EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("UNIT : ", EditorStyles.boldLabel, GUILayout.Width(50)); + EditorGUILayout.LabelField("Unit ", EditorStyles.boldLabel, GUILayout.Width(50)); worldLink.Unit = (UnitSystem)EditorGUILayout.EnumPopup(worldLink.Unit); EditorGUILayout.EndHorizontal(); + //style for sublabels (right aligned) + var rightStyle = GUI.skin.GetStyle("Label"); + rightStyle.alignment = TextAnchor.UpperRight; + //localCRS EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("3D TRANSFORM : ", EditorStyles.boldLabel); + EditorGUILayout.LabelField("3D Transform ", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("position : "); //position EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Position ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_pos[0] = EditorGUILayout.DelayedFloatField(local_pos[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_pos[1] = EditorGUILayout.DelayedFloatField(local_pos[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_pos[2] = EditorGUILayout.DelayedFloatField(local_pos[2]); EditorGUILayout.EndHorizontal(); - EditorGUILayout.LabelField("rotation : "); //rotation EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("X", GUILayout.Width(15)); + EditorGUILayout.LabelField("Rotation ", GUILayout.Width(60)); + EditorGUILayout.LabelField("X", rightStyle, GUILayout.Width(15)); local_rot[0] = EditorGUILayout.DelayedFloatField(local_rot[0]); - EditorGUILayout.LabelField("Y", GUILayout.Width(15)); + EditorGUILayout.LabelField("Y", rightStyle, GUILayout.Width(15)); local_rot[1] = EditorGUILayout.DelayedFloatField(local_rot[1]); - EditorGUILayout.LabelField("Z", GUILayout.Width(15)); + EditorGUILayout.LabelField("Z", rightStyle, GUILayout.Width(15)); local_rot[2] = EditorGUILayout.DelayedFloatField(local_rot[2]); EditorGUILayout.EndHorizontal(); @@ -1033,44 +1013,27 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows } } } - //delete button - if (GUILayout.Button("Delete")) - { - if (EditorUtility.DisplayDialog("Deleting elements", "Are you sure you want to delete this element ?", "Yes", "No")) - { - if (SaveInfo.instance.linkIds.Contains(worldLink.UUID.ToString())) - { - SaveInfo.instance.elemsToRemove.Add(worldLink.UUID.ToString(), typeof(WorldLink)); - } - var window = GetWindow<WorldGraphWindow>(); - window.DeleteEdge(worldLinkEdge); - ResetWindow(); - } - } + //save button if (GUILayout.Button("Save")) { if (SaveInfo.instance.linkIds.Contains(worldLink.UUID.ToString())) { - if (SaveInfo.instance.elemsToUpdate.Contains(worldLink.UUID.ToString())) + if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element in the server ?", "Yes", "No")) { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element in the server ?", "Yes", "No")) - { - WorldLinkRequest.UpdateWorldLink(SaveInfo.instance.worldStorageServer, worldLink); - SaveInfo.instance.elemsToUpdate.Remove(worldLink.UUID.ToString()); - } + WorldLinkRequest.UpdateWorldLink(SaveInfo.instance.worldStorageServer, worldLink); + SaveInfo.instance.elemsToUpdate.Remove(worldLink.UUID.ToString()); } } else { - if (EditorUtility.DisplayDialog("Saving element", "Are you sure you want to save this element's informations to the server ?", "Yes", "No")) - { - String uuid = WorldLinkRequest.AddWorldLink(SaveInfo.instance.worldStorageServer, worldLink); + String uuid = WorldLinkRequest.AddWorldLink(SaveInfo.instance.worldStorageServer, worldLink); - //Add the newly saved WorldLink to the SaveInfo singleton - uuid = uuid.Replace("\"", ""); - SaveInfo.instance.linkIds.Add(uuid); - } + //Add the newly saved WorldLink to the SaveInfo singleton + uuid = uuid.Replace("\"", ""); + worldLink.UUID = Guid.Parse(uuid); + worldLinkEdge.GUID = uuid; + SaveInfo.instance.linkIds.Add(uuid); } } GUILayout.Space(10); diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs index 46c24faf80f1f8e7c645163116c2d9d2261bd75f..875176287ed39dcdb18e459d35cdc3f0c5be62d5 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs @@ -52,16 +52,18 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows public void OnEnable() { - rootVisualElement.Add(GenerateToolbar()); - - if (SaveInfo.instance.nodePositions == null) + if (worldStorageServer != null) { - SaveInfo.instance.InitNodePos(worldStorageServer, worldStorageUser); + + if (SaveInfo.instance.nodePositions == null) + { + SaveInfo.instance.InitNodePos(worldStorageServer, worldStorageUser); + } + ConstructGraphView(); + myGraph.style.top = Length.Percent(11); + rootVisualElement.Add(myGraph); } - ConstructGraphView(); - myGraph.style.top = Length.Percent(11); - rootVisualElement.Add(myGraph); } //initiate the graphView Attribute @@ -95,17 +97,27 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows worldStorageServer = (WorldStorageServer)EditorGUILayout.ObjectField("World Storage Server", worldStorageServer, typeof(WorldStorageServer), false, GUILayout.Width(500)); if (EditorGUI.EndChangeCheck()) { - if (myGraph.ServerAndLocalDifferent() && EditorUtility.DisplayDialog("Saving node positions", "The World Graph has been modified. \nWould you like to push the modifications to the server ?", "Yes", "No")) - { - myGraph.SaveInServer(); - } GraphEditorWindow.ResetWindow(); - rootVisualElement.Remove(myGraph); - SaveInfo.instance.InitNodePos(worldStorageServer, worldStorageUser); - ConstructGraphView(); - myGraph.style.top = Length.Percent(11); - rootVisualElement.Add(myGraph); + if((myGraph != null)) + { + if (myGraph.ServerAndLocalDifferent() && EditorUtility.DisplayDialog("Saving node positions", "The World Graph has been modified. \nWould you like to push the modifications to the server ?", "Yes", "No")) + { + myGraph.SaveInServer(); + } + rootVisualElement.Remove(myGraph); + } + if(worldStorageServer != null) + { + SaveInfo.instance.InitNodePos(worldStorageServer, worldStorageUser); + ConstructGraphView(); + myGraph.style.top = Length.Percent(11); + rootVisualElement.Add(myGraph); + } + else + { + myGraph = null; + } } @@ -228,7 +240,6 @@ namespace Assets.ETSI.ARF.ARF_World_Storage_API.Editor.Windows instance.linkIds.Add(link.UUID.ToString()); } - instance.toReFrame = true; instance.elemsToRemove = new Dictionary<string, Type>(); instance.elemsToUpdate = new List<string>(); } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs.meta b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs.meta index e3ea974b57161d7c987a1c3343cc2e501be9898c..add62927e11e960a03f3343413c056b51ab7b98d 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs.meta +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/Windows/WorldGraphWindow.cs.meta @@ -5,7 +5,7 @@ MonoImporter: serializedVersion: 2 defaultReferences: - m_ViewDataDictionary: {instanceID: 0} - - worldStorageServer: {fileID: 11400000, guid: 3a9ba82f4e8dd124ca2b005861c64d01, type: 2} + - worldStorageServer: {instanceID: 0} - worldStorageUser: {fileID: 11400000, guid: c0696089e4a855b46ad490437919b1e8, type: 2} executionOrder: 0 icon: {instanceID: 0} diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt index 853d3ed7e53d57daad388232be36cb549d5a4e29..2526fb6674355d089ae125fd682000ebb2b39426 100644 --- a/UserSettings/Layouts/default-2021.dwlt +++ b/UserSettings/Layouts/default-2021.dwlt @@ -14,16 +14,16 @@ MonoBehaviour: m_EditorClassIdentifier: m_PixelRect: serializedVersion: 2 - x: 6.5 - y: 48.5 - width: 1587 - height: 792.5 + x: 0 + y: 42 + width: 1600 + height: 818 m_ShowMode: 4 - m_Title: Graph Editor - m_RootView: {fileID: 7} + m_Title: Console + m_RootView: {fileID: 6} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} - m_Maximized: 0 + m_Maximized: 1 --- !u!114 &2 MonoBehaviour: m_ObjectHideFlags: 52 @@ -32,48 +32,24 @@ MonoBehaviour: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 - m_EditorHideFlags: 0 + m_EditorHideFlags: 1 m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} m_Name: m_EditorClassIdentifier: m_Children: + - {fileID: 9} - {fileID: 3} m_Position: serializedVersion: 2 x: 0 y: 30 - width: 1587 - height: 742.5 - m_MinSize: {x: 300, y: 200} - m_MaxSize: {x: 24288, y: 16192} - vertical: 1 - controlID: 19 ---- !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: 1 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 10} - - {fileID: 4} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1587 - height: 742.5 + width: 1600 + height: 768 m_MinSize: {x: 300, y: 200} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 20 ---- !u!114 &4 + controlID: 15 +--- !u!114 &3 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -88,19 +64,19 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 1159.5 + x: 1184 y: 0 - width: 427.5 - height: 742.5 - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 14} + width: 416 + height: 768 + m_MinSize: {x: 101, y: 121} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 12} m_Panes: - - {fileID: 16} - - {fileID: 14} + - {fileID: 15} + - {fileID: 12} m_Selected: 1 m_LastSelected: 0 ---- !u!114 &5 +--- !u!114 &4 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -117,16 +93,16 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 449 - height: 403 - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 17} + width: 291 + height: 532.5 + m_MinSize: {x: 201, y: 221} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 16} m_Panes: - - {fileID: 17} + - {fileID: 16} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &6 +--- !u!114 &5 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -142,18 +118,18 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 403 - width: 1159.5 - height: 339.5 + y: 532.5 + width: 1184 + height: 235.5 m_MinSize: {x: 101, y: 121} m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 20} + m_ActualView: {fileID: 19} m_Panes: - - {fileID: 15} - - {fileID: 20} + - {fileID: 14} + - {fileID: 19} m_Selected: 1 m_LastSelected: 0 ---- !u!114 &7 +--- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -166,22 +142,22 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 8} + - {fileID: 7} - {fileID: 2} - - {fileID: 9} + - {fileID: 8} m_Position: serializedVersion: 2 x: 0 y: 0 - width: 1587 - height: 792.5 + width: 1600 + height: 818 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 &8 +--- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -198,12 +174,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1587 + width: 1600 height: 30 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} m_LastLoadedLayoutName: ---- !u!114 &9 +--- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -219,12 +195,12 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 772.5 - width: 1587 + y: 798 + width: 1600 height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} ---- !u!114 &10 +--- !u!114 &9 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -237,19 +213,19 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 11} - - {fileID: 6} + - {fileID: 10} + - {fileID: 5} m_Position: serializedVersion: 2 x: 0 y: 0 - width: 1159.5 - height: 742.5 + width: 1184 + height: 768 m_MinSize: {x: 200, y: 200} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 35 ---- !u!114 &11 + controlID: 16 +--- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -262,19 +238,19 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 5} - - {fileID: 12} + - {fileID: 4} + - {fileID: 11} m_Position: serializedVersion: 2 x: 0 y: 0 - width: 1159.5 - height: 403 + width: 1184 + height: 532.5 m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 36 ---- !u!114 &12 + controlID: 52 +--- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -289,20 +265,20 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 449 + x: 291 y: 0 - width: 710.5 - height: 403 + width: 893 + height: 532.5 m_MinSize: {x: 102, y: 121} m_MaxSize: {x: 4002, y: 4021} m_ActualView: {fileID: 13} m_Panes: + - {fileID: 17} - {fileID: 18} - - {fileID: 19} - {fileID: 13} m_Selected: 2 m_LastSelected: 1 ---- !u!114 &13 +--- !u!114 &12 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -311,28 +287,30 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2c1a0c92306453d46897c1af6cb5c2f9, type: 3} + m_Script: {fileID: 11500000, guid: e219817d65c8b1f40ad85e6185e89e92, type: 3} m_Name: m_EditorClassIdentifier: m_MinSize: {x: 100, y: 100} m_MaxSize: {x: 4000, y: 4000} m_TitleContent: - m_Text: Graph Editor + m_Text: Element Editor m_Image: {fileID: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 455.5 - y: 78.5 - width: 708.5 - height: 382 + x: 1184 + y: 72 + width: 415 + height: 747 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default m_SaveData: [] - worldStorageServer: {fileID: 11400000, guid: 3a9ba82f4e8dd124ca2b005861c64d01, type: 2} - worldStorageUser: {fileID: 11400000, guid: c0696089e4a855b46ad490437919b1e8, type: 2} ---- !u!114 &14 + type: 3 + local_size: {x: 0, y: 0, z: 0} + local_rot: {x: 0, y: 0, z: 0} + local_pos: {x: 0, y: 0, z: 0} +--- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -341,30 +319,28 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e219817d65c8b1f40ad85e6185e89e92, type: 3} + m_Script: {fileID: 11500000, guid: 2c1a0c92306453d46897c1af6cb5c2f9, type: 3} m_Name: m_EditorClassIdentifier: m_MinSize: {x: 100, y: 100} m_MaxSize: {x: 4000, y: 4000} m_TitleContent: - m_Text: Element Editor + m_Text: Graph Editor m_Image: {fileID: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 1166 - y: 78.5 - width: 426.5 - height: 721.5 + x: 291 + y: 72 + width: 891 + height: 511.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default m_SaveData: [] - type: 3 - local_size: {x: 0, y: 0, z: 0} - local_rot: {x: 0, y: 0, z: 0} - local_pos: {x: 0, y: 0, z: 0} ---- !u!114 &15 + worldStorageServer: {fileID: 11400000, guid: 3a9ba82f4e8dd124ca2b005861c64d01, type: 2} + worldStorageUser: {fileID: 11400000, guid: c0696089e4a855b46ad490437919b1e8, type: 2} +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -384,10 +360,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 6.5 - y: 481.5 - width: 1158.5 - height: 318.5 + x: 0 + y: 604.5 + width: 1183 + height: 214.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -405,22 +381,22 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/ETSI.ARF/ARF World Storage API/Editor/Windows + - Assets/ETSI.ARF/ARF World Storage API/World Storage m_Globs: [] m_OriginalText: m_ViewMode: 1 m_StartGridSize: 64 m_LastFolders: - - Assets/ETSI.ARF/ARF World Storage API/Editor/Windows + - Assets/ETSI.ARF/ARF World Storage API/World Storage m_LastFoldersGridSize: -1 m_LastProjectPath: C:\Dev\unity-world-storage-editor m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: 8c4b0000 - m_LastClickedID: 19340 - m_ExpandedIDs: 00000000544b0000564b0000584b00005a4b000000ca9a3bffffff7f + scrollPos: {x: 0, y: 77.5} + m_SelectedIDs: 804b0000 + m_LastClickedID: 19328 + m_ExpandedIDs: 000000004e4b0000504b0000524b0000544b000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -436,7 +412,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 6} + m_ClientGUIView: {fileID: 0} m_SearchString: m_CreateAssetUtility: m_EndAction: {fileID: 0} @@ -448,7 +424,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 00000000544b0000564b0000584b00005a4b0000 + m_ExpandedIDs: 000000004e4b0000504b0000524b0000544b0000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -473,8 +449,8 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_ListAreaState: - m_SelectedInstanceIDs: d80c0000 - m_LastClickedInstanceID: 3288 + m_SelectedInstanceIDs: 604b0000 + m_LastClickedInstanceID: 19296 m_HadKeyboardFocusLastEvent: 1 m_ExpandedInstanceIDs: c6230000 m_RenameOverlay: @@ -492,7 +468,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 6} + m_ClientGUIView: {fileID: 0} m_CreateAssetUtility: m_EndAction: {fileID: 0} m_InstanceID: 0 @@ -504,7 +480,7 @@ MonoBehaviour: m_GridSize: 64 m_SkipHiddenPackages: 0 m_DirectoriesAreaWidth: 207 ---- !u!114 &16 +--- !u!114 &15 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -524,10 +500,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1166 - y: 78.5 - width: 426.5 - height: 721.5 + x: 1184 + y: 72 + width: 415 + height: 747 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -538,14 +514,14 @@ MonoBehaviour: m_CachedPref: 160 m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview - m_LastInspectedObjectInstanceID: 3288 + m_LastInspectedObjectInstanceID: 19296 m_LastVerticalScrollValue: 0 m_GlobalObjectId: m_InspectorMode: 0 m_LockTracker: m_IsLocked: 0 m_PreviewWindow: {fileID: 0} ---- !u!114 &17 +--- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -565,10 +541,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 6.5 - y: 78.5 - width: 448 - height: 382 + x: 0 + y: 72 + width: 290 + height: 511.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -576,7 +552,7 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: d80c0000 + m_SelectedIDs: 604b0000 m_LastClickedID: 0 m_ExpandedIDs: 38fbffff m_RenameOverlay: @@ -602,7 +578,7 @@ MonoBehaviour: m_IsLocked: 0 m_CurrentSortingName: TransformSorting m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &18 +--- !u!114 &17 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -622,10 +598,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 302.5 + x: 291 y: 72 - width: 917 - height: 434 + width: 891 + height: 511.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -827,9 +803,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 0, y: 0, z: 0} + m_Target: {x: 3.0425806, y: 5.135691, z: -6.048427} speed: 2 - m_Value: {x: 0, y: 0, z: 0} + m_Value: {x: 3.0425806, y: 5.135691, z: -6.048427} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -876,13 +852,13 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Target: {x: -0.1110544, y: 0.85288, z: -0.2022256, w: -0.46836877} speed: 2 - m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Value: {x: -0.111054294, y: 0.85287917, z: -0.2022254, w: -0.46836832} m_Size: - m_Target: 10 + m_Target: 9.511362 speed: 2 - m_Value: 10 + m_Value: 9.511362 m_Ortho: m_Target: 0 speed: 2 @@ -907,7 +883,7 @@ MonoBehaviour: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &19 +--- !u!114 &18 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -927,10 +903,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 455.5 - y: 78.5 - width: 708.5 - height: 382 + x: 291 + y: 72 + width: 891 + height: 511.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -941,7 +917,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 708.5, y: 361} + m_TargetSize: {x: 891, y: 490.5} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -956,10 +932,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -177.125 - m_HBaseRangeMax: 177.125 - m_VBaseRangeMin: -90.25 - m_VBaseRangeMax: 90.25 + m_HBaseRangeMin: -222.75 + m_HBaseRangeMax: 222.75 + m_VBaseRangeMin: -122.625 + m_VBaseRangeMax: 122.625 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -977,29 +953,29 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 708.5 - height: 361 + width: 891 + height: 490.5 m_Scale: {x: 2, y: 2} - m_Translation: {x: 354.25, y: 180.5} + m_Translation: {x: 445.5, y: 245.25} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -177.125 - y: -90.25 - width: 354.25 - height: 180.5 + x: -222.75 + y: -122.625 + width: 445.5 + height: 245.25 m_MinimalGUI: 1 m_defaultScale: 2 - m_LastWindowPixelSize: {x: 1417, y: 764} + m_LastWindowPixelSize: {x: 1782, y: 1023} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000000000000000000 m_XRRenderMode: 0 m_RenderTexture: {fileID: 0} ---- !u!114 &20 +--- !u!114 &19 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -1019,10 +995,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 6.5 - y: 481.5 - width: 1158.5 - height: 318.5 + x: 0 + y: 604.5 + width: 1183 + height: 214.5 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default