From f0c77dc9fb6b2c868eecffa876c8cfb390fbec2b Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 16 Aug 2017 15:21:16 -0700 Subject: [PATCH 01/75] Allow rotation while two-handed scaling --- Tools/TransformTool/TransformTool.cs | 106 +++++++++++++++++---------- 1 file changed, 68 insertions(+), 38 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 23fa1a8f8..bd4048b98 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -24,6 +24,10 @@ class GrabData Vector3[] m_PositionOffsets; Quaternion[] m_RotationOffsets; Vector3[] m_InitialScales; + Vector3 m_StartMidPoint; + Quaternion m_UpRotationOffset; + Quaternion m_ForwardRotationOffset; + float m_StartDistance; public Transform[] grabbedObjects { get; private set; } public DirectSelectInput input { get; private set; } @@ -48,7 +52,7 @@ public void Reset() m_PositionOffsets = new Vector3[length]; m_RotationOffsets = new Quaternion[length]; m_InitialScales = new Vector3[length]; - for (int i = 0; i < length; i++) + for (var i = 0; i < length; i++) { var grabbedObject = grabbedObjects[i]; MathUtilsExt.GetTransformOffset(rayOrigin, grabbedObject, out m_PositionOffsets[i], out m_RotationOffsets[i]); @@ -63,7 +67,7 @@ public void UpdatePositions(IUsesSnapping usesSnapping) Undo.RecordObjects(grabbedObjects, "Move"); - for (int i = 0; i < grabbedObjects.Length; i++) + for (var i = 0; i < grabbedObjects.Length; i++) { var grabbedObject = grabbedObjects[i]; var position = grabbedObject.position; @@ -85,35 +89,67 @@ public void UpdatePositions(IUsesSnapping usesSnapping) } } - public void ScaleObjects(float scaleFactor) + public void ScaleObjects(Transform otherRayOrigin) { if (suspended) return; Undo.RecordObjects(grabbedObjects, "Move"); - for (int i = 0; i < grabbedObjects.Length; i++) + var thisPosition = rayOrigin.position; + var otherPosition = otherRayOrigin.position; + var distance = Vector3.Distance(thisPosition, otherPosition); + var scaleFactor = distance / m_StartDistance; + if (scaleFactor > 0 && scaleFactor < Mathf.Infinity) { - var grabbedObject = grabbedObjects[i]; - grabbedObject.position = rayOrigin.position + m_PositionOffsets[i] * scaleFactor; - grabbedObject.localScale = m_InitialScales[i] * scaleFactor; + var rayToRay = otherPosition - thisPosition; + var midPoint = rayOrigin.position + rayToRay * 0.5f; + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherRayOrigin.rotation, 0.5f); + var upVector = midRotation * Vector3.up; + var forward = midRotation * Vector3.forward; + var isUp = true;//Mathf.Abs(Vector3.Dot(rayToRay, upVector)) > 0.5f; + + var grabRotation = Quaternion.LookRotation(rayToRay, isUp ? forward : upVector); + var rotationOffset = grabRotation * (isUp ? m_ForwardRotationOffset : m_UpRotationOffset); + + for (var i = 0; i < grabbedObjects.Length; i++) + { + var grabbedObject = grabbedObjects[i]; + + grabbedObject.position = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; + grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; + grabbedObject.localScale = m_InitialScales[i] * scaleFactor; + } } } public void TransferTo(Transform destRayOrigin, Vector3 deltaOffset) { rayOrigin = destRayOrigin; - for (int i = 0; i < m_PositionOffsets.Length; i++) + for (var i = 0; i < m_PositionOffsets.Length; i++) { m_PositionOffsets[i] += deltaOffset; } } - public void StartScaling() + public void StartScaling(GrabData otherGrab) { - for (int i = 0; i < grabbedObjects.Length; i++) + var thisPosition = rayOrigin.position; + var otherRayOrigin = otherGrab.rayOrigin; + var otherPosition = otherRayOrigin.position; + var rayToRay = otherPosition - thisPosition; + m_StartMidPoint = rayOrigin.position + rayToRay * 0.5f; + m_StartDistance = Vector3.Distance(thisPosition, otherPosition); + + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherRayOrigin.rotation, 0.5f); + m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.up)); + m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.forward)); + + for (var i = 0; i < grabbedObjects.Length; i++) { - m_PositionOffsets[i] = grabbedObjects[i].position - rayOrigin.position; + var grabbedObject = grabbedObjects[i]; + m_PositionOffsets[i] = grabbedObject.position - m_StartMidPoint; + m_RotationOffsets[i] = grabbedObject.rotation; } } } @@ -198,9 +234,7 @@ public List actions readonly Dictionary m_GrabData = new Dictionary(); bool m_DirectSelected; - float m_ScaleStartDistance; Node m_ScaleFirstNode; - float m_ScaleFactor; bool m_Scaling; bool m_CurrentlySnapping; @@ -319,30 +353,30 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon var grabbingNode = directSelectionData.node; + var grabbedObjects = new HashSet { directHoveredObject.transform }; + grabbedObjects.UnionWith(Selection.transforms); + + if (objectsGrabbed != null && !m_Scaling) + objectsGrabbed(directRayOrigin, grabbedObjects); + + var grabData = new GrabData(directRayOrigin, directSelectInput, grabbedObjects.ToArray()); + m_GrabData[grabbingNode] = grabData; + // Check if the other hand is already grabbing for two-handed scale - foreach (var grabData in m_GrabData) + foreach (var grab in m_GrabData) { - var otherNode = grabData.Key; - var otherData = grabData.Value; + var otherNode = grab.Key; + var otherData = grab.Value; if (otherNode != grabbingNode && otherData.grabbedObjects.Contains(directHoveredObject.transform)) { - m_ScaleStartDistance = (directRayOrigin.position - otherData.rayOrigin.position).magnitude; m_ScaleFirstNode = otherNode; - otherData.StartScaling(); + otherData.StartScaling(grabData); m_Scaling = true; break; } } - var grabbedObjects = new HashSet { directHoveredObject.transform }; - grabbedObjects.UnionWith(Selection.transforms); - - if (objectsGrabbed != null && !m_Scaling) - objectsGrabbed(directRayOrigin, grabbedObjects); - - m_GrabData[grabbingNode] = new GrabData(directRayOrigin, directSelectInput, grabbedObjects.ToArray()); - this.SetDefaultRayVisibility(directRayOrigin, false, true); // This will also unhighlight the object this.LockRay(directRayOrigin, this); @@ -408,19 +442,15 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon { var rightRayOrigin = rightData.rayOrigin; var leftRayOrigin = leftData.rayOrigin; - m_ScaleFactor = (leftRayOrigin.position - rightRayOrigin.position).magnitude / m_ScaleStartDistance; - if (m_ScaleFactor > 0 && m_ScaleFactor < Mathf.Infinity) + if (m_ScaleFirstNode == Node.LeftHand) { - if (m_ScaleFirstNode == Node.LeftHand) - { - leftData.ScaleObjects(m_ScaleFactor); - this.ClearSnappingState(leftRayOrigin); - } - else - { - rightData.ScaleObjects(m_ScaleFactor); - this.ClearSnappingState(rightRayOrigin); - } + leftData.ScaleObjects(rightRayOrigin); + this.ClearSnappingState(leftRayOrigin); + } + else + { + rightData.ScaleObjects(leftRayOrigin); + this.ClearSnappingState(rightRayOrigin); } } else From 950289ea77b6f0db839b0420674a4e348cb68c85 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Tue, 22 Aug 2017 00:39:52 -0400 Subject: [PATCH 02/75] Use contact point as intersection point --- Scripts/Core/EditorVR.DirectSelection.cs | 18 ++-- Scripts/Core/EditorVR.Rays.cs | 7 +- Scripts/Core/EditorVR.cs | 2 +- Scripts/Data/DirectSelectionData.cs | 5 ++ .../IntersectionModule/IntersectionModule.cs | 83 ++++++++----------- Scripts/Utilities/IntersectionUtils.cs | 41 +++++++-- Tools/TransformTool/TransformTool.cs | 50 ++++++----- 7 files changed, 117 insertions(+), 89 deletions(-) diff --git a/Scripts/Core/EditorVR.DirectSelection.cs b/Scripts/Core/EditorVR.DirectSelection.cs index 2a0cf3da3..3cbfff9b1 100644 --- a/Scripts/Core/EditorVR.DirectSelection.cs +++ b/Scripts/Core/EditorVR.DirectSelection.cs @@ -1,4 +1,4 @@ -#if UNITY_EDITOR && UNITY_EDITORVR +#if UNITY_EDITOR && UNITY_EDITORVR using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Extensions; @@ -98,14 +98,16 @@ internal void UpdateDirectSelection() { var rayOrigin = deviceData.rayOrigin; var input = deviceData.directSelectInput; - var obj = GetDirectSelectionForRayOrigin(rayOrigin); + Vector3 contactPoint; + var obj = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); if (obj && !obj.CompareTag(k_VRPlayerTag)) { m_DirectSelections[rayOrigin] = new DirectSelectionData { gameObject = obj, node = deviceData.node, - input = input + input = input, + contactPoint = contactPoint }; } }); @@ -115,27 +117,29 @@ internal void UpdateDirectSelection() var rayOrigin = ray.Key; var miniWorldRay = ray.Value; var input = miniWorldRay.directSelectInput; - var go = GetDirectSelectionForRayOrigin(rayOrigin); + Vector3 contactPoint; + var go = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); if (go != null) { m_DirectSelections[rayOrigin] = new DirectSelectionData { gameObject = go, node = ray.Value.node, - input = input + input = input, + contactPoint = contactPoint }; } } } - GameObject GetDirectSelectionForRayOrigin(Transform rayOrigin) + GameObject GetDirectSelectionForRayOrigin(Transform rayOrigin, out Vector3 contactPoint) { if (m_IntersectionModule == null) m_IntersectionModule = evr.GetModule(); var tester = rayOrigin.GetComponentInChildren(); - var renderer = m_IntersectionModule.GetIntersectedObjectForTester(tester); + var renderer = m_IntersectionModule.GetIntersectedObjectForTester(tester, out contactPoint); if (renderer) return renderer.gameObject; return null; diff --git a/Scripts/Core/EditorVR.Rays.cs b/Scripts/Core/EditorVR.Rays.cs index 5af63e410..8a676eda8 100644 --- a/Scripts/Core/EditorVR.Rays.cs +++ b/Scripts/Core/EditorVR.Rays.cs @@ -1,4 +1,4 @@ -#if UNITY_EDITOR && UNITY_EDITORVR +#if UNITY_EDITOR && UNITY_EDITORVR using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Helpers; @@ -336,7 +336,8 @@ static GameObject GetFirstGameObject(Transform rayOrigin) // If a raycast did not find an object use the spatial hash as a final test var tester = rayOrigin.GetComponentInChildren(); - var renderer = intersectionModule.GetIntersectedObjectForTester(tester); + Vector3 collisionPoint; + var renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); if (renderer && !renderer.CompareTag(k_VRPlayerTag)) return renderer.gameObject; @@ -350,7 +351,7 @@ static GameObject GetFirstGameObject(Transform rayOrigin) if (!tester.active) continue; - renderer = intersectionModule.GetIntersectedObjectForTester(tester); + renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); if (renderer) return renderer.gameObject; } diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index ce455a587..cc6527a1b 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -1,4 +1,4 @@ -#if UNITY_EDITOR +#if UNITY_EDITOR using System; using System.Collections; using System.Collections.Generic; diff --git a/Scripts/Data/DirectSelectionData.cs b/Scripts/Data/DirectSelectionData.cs index f32d19f29..1d00fd13a 100644 --- a/Scripts/Data/DirectSelectionData.cs +++ b/Scripts/Data/DirectSelectionData.cs @@ -23,6 +23,11 @@ public sealed class DirectSelectionData /// The input which is associated with the rayOrigin /// public ActionMapInput input { get; set; } + + /// + /// The point in world space where the tester intersects with the object + /// + public Vector3 contactPoint { get; set; } } } #endif diff --git a/Scripts/Modules/IntersectionModule/IntersectionModule.cs b/Scripts/Modules/IntersectionModule/IntersectionModule.cs index ca403d176..ae394a1fa 100644 --- a/Scripts/Modules/IntersectionModule/IntersectionModule.cs +++ b/Scripts/Modules/IntersectionModule/IntersectionModule.cs @@ -10,19 +10,25 @@ sealed class IntersectionModule : MonoBehaviour, IUsesGameObjectLocking { const int k_MaxTestsPerTester = 250; - readonly Dictionary m_IntersectedObjects = new Dictionary(); - readonly List m_Testers = new List(); - readonly Dictionary m_RaycastGameObjects = new Dictionary(); // Stores which gameobject the proxies' ray origins are pointing at - - SpatialHash m_SpatialHash; - MeshCollider m_CollisionTester; - class RayIntersection { public GameObject go; public float distance; } + class DirectIntersection + { + public Renderer renderer; + public Vector3 contactPoint; + } + + readonly Dictionary m_IntersectedObjects = new Dictionary(); + readonly List m_Testers = new List(); + readonly Dictionary m_RaycastGameObjects = new Dictionary(); // Stores which gameobject the proxies' ray origins are pointing at + + SpatialHash m_SpatialHash; + MeshCollider m_CollisionTester; + public bool ready { get { return m_SpatialHash != null; } } public List testers { get { return m_Testers; } } public List allObjects { get { return m_SpatialHash == null ? null : m_SpatialHash.allObjects; } } @@ -60,12 +66,11 @@ void Update() for (int i = 0; i < m_Testers.Count; i++) { var tester = m_Testers[i]; + if (!tester.active) { - Renderer intersectedObject; - if (m_IntersectedObjects.TryGetValue(tester, out intersectedObject)) - OnIntersectionExit(tester); - + //Intersection Exit + m_IntersectedObjects[tester].renderer = null; continue; } @@ -114,26 +119,22 @@ void Update() for (int j = 0; j < m_SortedIntersections.Count; j++) { - var obj = m_SortedIntersections[j].renderer; - if (IntersectionUtils.TestObject(m_CollisionTester, obj, tester)) + Vector3 contactPoint; + var renderer = m_SortedIntersections[j].renderer; + if (IntersectionUtils.TestObject(m_CollisionTester, renderer, tester, out contactPoint)) { intersectionFound = true; - Renderer currentObject; - if (m_IntersectedObjects.TryGetValue(tester, out currentObject)) + var intersection = m_IntersectedObjects[tester]; + if (intersection.renderer == renderer) { - if (currentObject == obj) - { - OnIntersectionStay(tester, obj); - } - else - { - OnIntersectionExit(tester); - OnIntersectionEnter(tester, obj); - } + // Intersection Stay + intersection.contactPoint = contactPoint; } else { - OnIntersectionEnter(tester, obj); + // Intersection Exit / Enter + intersection.renderer = renderer; + intersection.contactPoint = contactPoint; } } @@ -142,12 +143,9 @@ void Update() } } + // Intersection Exit if (!intersectionFound) - { - Renderer intersectedObject; - if (m_IntersectedObjects.TryGetValue(tester, out intersectedObject)) - OnIntersectionExit(tester); - } + m_IntersectedObjects[tester].renderer = null; testerTransform.hasChanged = false; } @@ -156,30 +154,15 @@ void Update() internal void AddTester(IntersectionTester tester) { - m_IntersectedObjects.Clear(); m_Testers.Add(tester); + m_IntersectedObjects[tester] = new DirectIntersection(); } - void OnIntersectionEnter(IntersectionTester tester, Renderer obj) - { - m_IntersectedObjects[tester] = obj; - } - - void OnIntersectionStay(IntersectionTester tester, Renderer obj) - { - m_IntersectedObjects[tester] = obj; - } - - void OnIntersectionExit(IntersectionTester tester) - { - m_IntersectedObjects.Remove(tester); - } - - internal Renderer GetIntersectedObjectForTester(IntersectionTester tester) + internal Renderer GetIntersectedObjectForTester(IntersectionTester tester, out Vector3 contactPoint) { - Renderer obj; - m_IntersectedObjects.TryGetValue(tester, out obj); - return obj; + var intersection = m_IntersectedObjects[tester]; + contactPoint = intersection.contactPoint; + return intersection.renderer; } internal GameObject GetFirstGameObject(Transform rayOrigin, out float distance) diff --git a/Scripts/Utilities/IntersectionUtils.cs b/Scripts/Utilities/IntersectionUtils.cs index f3056f69f..227776f8e 100644 --- a/Scripts/Utilities/IntersectionUtils.cs +++ b/Scripts/Utilities/IntersectionUtils.cs @@ -1,4 +1,4 @@ -#if UNITY_EDITOR +#if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; using UnityEngine; @@ -16,8 +16,10 @@ static class IntersectionUtils /// A mesh collider located at the origin used to test the object in it's local space /// The object to test collision on /// The tester object + /// The point of collision between the tester and the surface of the object /// The result of whether the tester is in intersection with or located within the object - public static bool TestObject(MeshCollider collisionTester, Renderer obj, IntersectionTester tester) + public static bool TestObject(MeshCollider collisionTester, Renderer obj, IntersectionTester tester, + out Vector3 collisionPoint) { var transform = obj.transform; @@ -33,12 +35,17 @@ public static bool TestObject(MeshCollider collisionTester, Renderer obj, Inters ray.origin = testerTransform.TransformPoint(ray.origin); ray.direction = testerTransform.TransformDirection(ray.direction); - if (TestRay(collisionTester, transform, ray)) + RaycastHit hit; + if (TestRay(collisionTester, transform, ray, out hit)) + { + GizmoModule.instance.DrawSphere(hit.point, 0.05f, Color.cyan); + collisionPoint = hit.point; return true; + } } // Try a more robust version with all edges - return TestEdges(collisionTester, transform, tester); + return TestEdges(collisionTester, transform, tester, out collisionPoint); } /// @@ -48,7 +55,7 @@ public static bool TestObject(MeshCollider collisionTester, Renderer obj, Inters /// The object to test collision on /// The tester object /// The result of whether the point/ray is intersection with or located within the object - public static bool TestEdges(MeshCollider collisionTester, Transform obj, IntersectionTester tester) + public static bool TestEdges(MeshCollider collisionTester, Transform obj, IntersectionTester tester, out Vector3 collisionPoint) { var boundsMagnitude = collisionTester.bounds.size.magnitude; @@ -101,16 +108,32 @@ public static bool TestEdges(MeshCollider collisionTester, Transform obj, Inters var B = behindHit; var C = start; var D = end; - if (OnSegment(A, C, B) - || OnSegment(A, D, B) - || OnSegment(C, A, D) - || OnSegment(C, B, D)) + var a = OnSegment(C, A, D); + var b = OnSegment(C, B, D); + var c = OnSegment(A, C, B); + var d = OnSegment(A, D, B); + if (a || b || c || d) { + if (!a && !b && c && d) // Tester is fully contained + { + collisionPoint = testerTransform.position; + } + else + { + var testerPosition = testerTransform.position; + forwardHit = obj.TransformPoint(forwardHit); + behindHit = obj.TransformPoint(behindHit); + if (Vector3.Distance(testerPosition, forwardHit) > Vector3.Distance(testerPosition, behindHit)) + collisionPoint = behindHit; + else + collisionPoint = forwardHit; + } return true; } } } + collisionPoint = Vector3.zero; return false; } diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index bd4048b98..d2a36433f 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -27,6 +27,7 @@ class GrabData Vector3 m_StartMidPoint; Quaternion m_UpRotationOffset; Quaternion m_ForwardRotationOffset; + Vector3 m_GrabOffset; float m_StartDistance; public Transform[] grabbedObjects { get; private set; } @@ -35,11 +36,15 @@ class GrabData public bool suspended { private get; set; } - public GrabData(Transform rayOrigin, DirectSelectInput input, Transform[] grabbedObjects) + Vector3 pivotPoint { get { return rayOrigin.position + rayOrigin.rotation * m_GrabOffset; } } + + public GrabData(Transform rayOrigin, DirectSelectInput input, Transform[] grabbedObjects, Vector3 contactPoint) { this.rayOrigin = rayOrigin; this.input = input; this.grabbedObjects = grabbedObjects; + var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); + m_GrabOffset = inverseRotation * (contactPoint - rayOrigin.position); Reset(); } @@ -52,11 +57,16 @@ public void Reset() m_PositionOffsets = new Vector3[length]; m_RotationOffsets = new Quaternion[length]; m_InitialScales = new Vector3[length]; + var pivot = pivotPoint; for (var i = 0; i < length; i++) { - var grabbedObject = grabbedObjects[i]; - MathUtilsExt.GetTransformOffset(rayOrigin, grabbedObject, out m_PositionOffsets[i], out m_RotationOffsets[i]); - m_InitialScales[i] = grabbedObject.transform.localScale; + var grabbedTransform = grabbedObjects[i]; + + var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); + m_PositionOffsets[i] = inverseRotation * (grabbedTransform.transform.position - pivot); + m_RotationOffsets[i] = inverseRotation * grabbedTransform.transform.rotation; + + m_InitialScales[i] = grabbedTransform.transform.localScale; } } @@ -67,13 +77,15 @@ public void UpdatePositions(IUsesSnapping usesSnapping) Undo.RecordObjects(grabbedObjects, "Move"); + var rayOriginRotation = rayOrigin.rotation; + var pivot = pivotPoint; for (var i = 0; i < grabbedObjects.Length; i++) { var grabbedObject = grabbedObjects[i]; var position = grabbedObject.position; var rotation = grabbedObject.rotation; - var targetPosition = rayOrigin.position + rayOrigin.rotation * m_PositionOffsets[i]; - var targetRotation = rayOrigin.rotation * m_RotationOffsets[i]; + var targetPosition = pivot + rayOriginRotation * m_PositionOffsets[i]; + var targetRotation = rayOriginRotation * m_RotationOffsets[i]; if (usesSnapping.DirectSnap(rayOrigin, grabbedObject, ref position, ref rotation, targetPosition, targetRotation)) { @@ -89,22 +101,22 @@ public void UpdatePositions(IUsesSnapping usesSnapping) } } - public void ScaleObjects(Transform otherRayOrigin) + public void ScaleObjects(GrabData otherGrabData) { if (suspended) return; Undo.RecordObjects(grabbedObjects, "Move"); - var thisPosition = rayOrigin.position; - var otherPosition = otherRayOrigin.position; + var thisPosition = pivotPoint; + var otherPosition = otherGrabData.pivotPoint; var distance = Vector3.Distance(thisPosition, otherPosition); var scaleFactor = distance / m_StartDistance; if (scaleFactor > 0 && scaleFactor < Mathf.Infinity) { var rayToRay = otherPosition - thisPosition; - var midPoint = rayOrigin.position + rayToRay * 0.5f; - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherRayOrigin.rotation, 0.5f); + var midPoint = thisPosition + rayToRay * 0.5f; + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrabData.rayOrigin.rotation, 0.5f); var upVector = midRotation * Vector3.up; var forward = midRotation * Vector3.forward; var isUp = true;//Mathf.Abs(Vector3.Dot(rayToRay, upVector)) > 0.5f; @@ -134,14 +146,13 @@ public void TransferTo(Transform destRayOrigin, Vector3 deltaOffset) public void StartScaling(GrabData otherGrab) { - var thisPosition = rayOrigin.position; - var otherRayOrigin = otherGrab.rayOrigin; - var otherPosition = otherRayOrigin.position; + var thisPosition = pivotPoint; + var otherPosition = otherGrab.pivotPoint; var rayToRay = otherPosition - thisPosition; - m_StartMidPoint = rayOrigin.position + rayToRay * 0.5f; + m_StartMidPoint = thisPosition + rayToRay * 0.5f; m_StartDistance = Vector3.Distance(thisPosition, otherPosition); - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherRayOrigin.rotation, 0.5f); + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrab.rayOrigin.rotation, 0.5f); m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.up)); m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.forward)); @@ -359,7 +370,8 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (objectsGrabbed != null && !m_Scaling) objectsGrabbed(directRayOrigin, grabbedObjects); - var grabData = new GrabData(directRayOrigin, directSelectInput, grabbedObjects.ToArray()); + var grabData = new GrabData(directRayOrigin, directSelectInput, grabbedObjects.ToArray(), + directSelectionData.contactPoint); m_GrabData[grabbingNode] = grabData; // Check if the other hand is already grabbing for two-handed scale @@ -444,12 +456,12 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon var leftRayOrigin = leftData.rayOrigin; if (m_ScaleFirstNode == Node.LeftHand) { - leftData.ScaleObjects(rightRayOrigin); + leftData.ScaleObjects(rightData); this.ClearSnappingState(leftRayOrigin); } else { - rightData.ScaleObjects(leftRayOrigin); + rightData.ScaleObjects(leftData); this.ClearSnappingState(rightRayOrigin); } } From 0da88e1d6270062ccb5f4b28b0c45a690c947d7b Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 12 Oct 2017 21:56:04 -0700 Subject: [PATCH 03/75] Tabs -> spaces --- Scripts/Core/EditorVR.DirectSelection.cs | 494 +++--- Scripts/Core/EditorVR.Rays.cs | 882 +++++----- Scripts/Data/DirectSelectionData.cs | 28 +- Scripts/Helpers/ViveProxyHelper.cs | 30 +- .../IUsesDirectSelection.cs | 62 +- .../IntersectionModule/IntersectionModule.cs | 453 +++-- Scripts/Utilities/IntersectionUtils.cs | 428 ++--- Tools/SelectionTool/SelectionTool.cs | 470 +++--- Tools/TransformTool/TransformTool.cs | 1497 ++++++++--------- 9 files changed, 2171 insertions(+), 2173 deletions(-) diff --git a/Scripts/Core/EditorVR.DirectSelection.cs b/Scripts/Core/EditorVR.DirectSelection.cs index 5757941e5..e7d1e8e6f 100644 --- a/Scripts/Core/EditorVR.DirectSelection.cs +++ b/Scripts/Core/EditorVR.DirectSelection.cs @@ -9,267 +9,267 @@ namespace UnityEditor.Experimental.EditorVR.Core { - partial class EditorVR - { - class DirectSelection : Nested, IInterfaceConnector - { - readonly Dictionary m_DirectSelections = new Dictionary(); - readonly Dictionary> m_GrabbedObjects = new Dictionary>(); - readonly List m_ObjectGrabbers = new List(); - readonly List m_DirectSelectionUsers = new List(); - readonly List m_TwoHandedScalers = new List(); + partial class EditorVR + { + class DirectSelection : Nested, IInterfaceConnector + { + readonly Dictionary m_DirectSelections = new Dictionary(); + readonly Dictionary> m_GrabbedObjects = new Dictionary>(); + readonly List m_ObjectGrabbers = new List(); + readonly List m_DirectSelectionUsers = new List(); + readonly List m_TwoHandedScalers = new List(); - IntersectionModule m_IntersectionModule; + IntersectionModule m_IntersectionModule; - public event Action> objectsGrabbed; - public event Action objectsDropped; - public event Action objectsTransferred; + public event Action> objectsGrabbed; + public event Action objectsDropped; + public event Action objectsTransferred; - public DirectSelection() - { - IUsesDirectSelectionMethods.getDirectSelection = () => m_DirectSelections; - IUsesDirectSelectionMethods.resetDirectSelectionState = ResetDirectSelectionState; + public DirectSelection() + { + IUsesDirectSelectionMethods.getDirectSelection = () => m_DirectSelections; + IUsesDirectSelectionMethods.resetDirectSelectionState = ResetDirectSelectionState; - ICanGrabObjectMethods.canGrabObject = CanGrabObject; + ICanGrabObjectMethods.canGrabObject = CanGrabObject; - IGetPointerLengthMethods.getPointerLength = GetPointerLength; - } + IGetPointerLengthMethods.getPointerLength = GetPointerLength; + } public void ConnectInterface(object target, object userData = null) - { + { var grabObjects = target as IGrabObjects; - if (grabObjects != null) - { - m_ObjectGrabbers.Add(grabObjects); - grabObjects.objectsGrabbed += OnObjectsGrabbed; - grabObjects.objectsDropped += OnObjectsDropped; - grabObjects.objectsTransferred += OnObjectsTransferred; - } + if (grabObjects != null) + { + m_ObjectGrabbers.Add(grabObjects); + grabObjects.objectsGrabbed += OnObjectsGrabbed; + grabObjects.objectsDropped += OnObjectsDropped; + grabObjects.objectsTransferred += OnObjectsTransferred; + } var usesDirectSelection = target as IUsesDirectSelection; - if (usesDirectSelection != null) - m_DirectSelectionUsers.Add(usesDirectSelection); + if (usesDirectSelection != null) + m_DirectSelectionUsers.Add(usesDirectSelection); var twoHandedScaler = target as ITwoHandedScaler; - if (twoHandedScaler != null) - m_TwoHandedScalers.Add(twoHandedScaler); - } + if (twoHandedScaler != null) + m_TwoHandedScalers.Add(twoHandedScaler); + } public void DisconnectInterface(object target, object userData = null) - { + { var grabObjects = target as IGrabObjects; - if (grabObjects != null) - { - m_ObjectGrabbers.Remove(grabObjects); - grabObjects.objectsGrabbed -= OnObjectsGrabbed; - grabObjects.objectsDropped -= OnObjectsDropped; - grabObjects.objectsTransferred -= OnObjectsTransferred; - } - } - - // NOTE: This is for the length of the pointer object, not the length of the ray coming out of the pointer - internal static float GetPointerLength(Transform rayOrigin) - { - var length = 0f; - - // Check if this is a MiniWorldRay - MiniWorlds.MiniWorldRay ray; - if (evr.GetNestedModule().rays.TryGetValue(rayOrigin, out ray)) - rayOrigin = ray.originalRayOrigin; - - DefaultProxyRay dpr; - if (evr.GetNestedModule().defaultRays.TryGetValue(rayOrigin, out dpr)) - { - length = dpr.pointerLength; - - // If this is a MiniWorldRay, scale the pointer length to the correct size relative to MiniWorld objects - if (ray != null) - { - var miniWorld = ray.miniWorld; - - // As the miniworld gets smaller, the ray length grows, hence lossyScale.Inverse(). - // Assume that both transforms have uniform scale, so we just need .x - length *= miniWorld.referenceTransform.TransformVector(miniWorld.miniWorldTransform.lossyScale.Inverse()).x; - } - } - - return length; - } - - internal bool IsHovering(Transform rayOrigin) - { - return m_DirectSelections.ContainsKey(rayOrigin); - } - - internal bool IsScaling(Transform rayOrigin) - { - return m_TwoHandedScalers.Any(twoHandedScaler => twoHandedScaler.IsTwoHandedScaling(rayOrigin)); - } - - internal void UpdateDirectSelection() - { - m_DirectSelections.Clear(); - - Rays.ForEachProxyDevice(deviceData => - { - var rayOrigin = deviceData.rayOrigin; - Vector3 contactPoint; - var obj = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); - if (obj && !obj.CompareTag(k_VRPlayerTag)) - { - m_DirectSelections[rayOrigin] = new DirectSelectionData - { - gameObject = obj, - contactPoint = contactPoint - }; - } - }); - - foreach (var ray in evr.GetNestedModule().rays) - { - var rayOrigin = ray.Key; - Vector3 contactPoint; - var go = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); - if (go != null) - { - m_DirectSelections[rayOrigin] = new DirectSelectionData - { - gameObject = go, - contactPoint = contactPoint - }; - } - } - } - - GameObject GetDirectSelectionForRayOrigin(Transform rayOrigin, out Vector3 contactPoint) - { - if (m_IntersectionModule == null) - m_IntersectionModule = evr.GetModule(); - - var tester = rayOrigin.GetComponentInChildren(); - - var renderer = m_IntersectionModule.GetIntersectedObjectForTester(tester, out contactPoint); - if (renderer) - return renderer.gameObject; - - return null; - } - - static bool CanGrabObject(GameObject selection, Transform rayOrigin) - { - if (selection.CompareTag(k_VRPlayerTag) && !evr.GetNestedModule().rays.ContainsKey(rayOrigin)) - return false; - - return true; - } - - void OnObjectsGrabbed(Transform rayOrigin, HashSet grabbedObjects) - { - HashSet objects; - if (!m_GrabbedObjects.TryGetValue(rayOrigin, out objects)) - { - objects = new HashSet(); - m_GrabbedObjects[rayOrigin] = objects; - } - - objects.UnionWith(grabbedObjects); - - // Detach the player head model so that it is not affected by its parent transform - foreach (var grabbedObject in grabbedObjects) - { - if (grabbedObject.CompareTag(k_VRPlayerTag)) - { - grabbedObject.hideFlags = HideFlags.None; - grabbedObject.transform.parent = null; - } - } - - if (objectsGrabbed != null) - objectsGrabbed(rayOrigin, grabbedObjects); - } - - void OnObjectsDropped(Transform rayOrigin, Transform[] grabbedObjects) - { - var sceneObjectModule = evr.GetModule(); - var viewer = evr.GetNestedModule(); - var miniWorlds = evr.GetNestedModule(); - var objects = m_GrabbedObjects[rayOrigin]; - var eventObjects = new List(); - foreach (var grabbedObject in grabbedObjects) - { - objects.Remove(grabbedObject); - - // Dropping the player head updates the camera rig position - if (grabbedObject.CompareTag(k_VRPlayerTag)) - Viewer.DropPlayerHead(grabbedObject); - else if (viewer.IsOverShoulder(rayOrigin) && !miniWorlds.rays.ContainsKey(rayOrigin)) - sceneObjectModule.DeleteSceneObject(grabbedObject.gameObject); - else - eventObjects.Add(grabbedObject); - } - - if (objects.Count == 0) - m_GrabbedObjects.Remove(rayOrigin); - - if (objectsDropped != null) - objectsDropped(rayOrigin, eventObjects.ToArray()); - } - - void OnObjectsTransferred(Transform srcRayOrigin, Transform destRayOrigin) - { - m_GrabbedObjects[destRayOrigin] = m_GrabbedObjects[srcRayOrigin]; - m_GrabbedObjects.Remove(srcRayOrigin); - - if (objectsTransferred != null) - objectsTransferred(srcRayOrigin, destRayOrigin); - } - - public HashSet GetHeldObjects(Transform rayOrigin) - { - HashSet objects; - return m_GrabbedObjects.TryGetValue(rayOrigin, out objects) ? objects : null; - } - - public void SuspendGrabbers(Node node) - { - foreach (var grabber in m_ObjectGrabbers) - { - grabber.Suspend(node); - } - } - - public void ResumeGrabbers(Node node) - { - foreach (var grabber in m_ObjectGrabbers) - { - grabber.Resume(node); - } - } - - public void DropHeldObjects(Node node) - { - foreach (var grabber in m_ObjectGrabbers) - { - grabber.DropHeldObjects(node); - } - } - - public void TransferHeldObjects(Transform rayOrigin, Transform destRayOrigin, Vector3 deltaOffset = default(Vector3)) - { - foreach (var grabber in m_ObjectGrabbers) - { - grabber.TransferHeldObjects(rayOrigin, destRayOrigin, deltaOffset); - } - } - - void ResetDirectSelectionState() - { - foreach (var usesDirectSelection in m_DirectSelectionUsers) - { - usesDirectSelection.OnResetDirectSelectionState(); - } - } - } - } + if (grabObjects != null) + { + m_ObjectGrabbers.Remove(grabObjects); + grabObjects.objectsGrabbed -= OnObjectsGrabbed; + grabObjects.objectsDropped -= OnObjectsDropped; + grabObjects.objectsTransferred -= OnObjectsTransferred; + } + } + + // NOTE: This is for the length of the pointer object, not the length of the ray coming out of the pointer + internal static float GetPointerLength(Transform rayOrigin) + { + var length = 0f; + + // Check if this is a MiniWorldRay + MiniWorlds.MiniWorldRay ray; + if (evr.GetNestedModule().rays.TryGetValue(rayOrigin, out ray)) + rayOrigin = ray.originalRayOrigin; + + DefaultProxyRay dpr; + if (evr.GetNestedModule().defaultRays.TryGetValue(rayOrigin, out dpr)) + { + length = dpr.pointerLength; + + // If this is a MiniWorldRay, scale the pointer length to the correct size relative to MiniWorld objects + if (ray != null) + { + var miniWorld = ray.miniWorld; + + // As the miniworld gets smaller, the ray length grows, hence lossyScale.Inverse(). + // Assume that both transforms have uniform scale, so we just need .x + length *= miniWorld.referenceTransform.TransformVector(miniWorld.miniWorldTransform.lossyScale.Inverse()).x; + } + } + + return length; + } + + internal bool IsHovering(Transform rayOrigin) + { + return m_DirectSelections.ContainsKey(rayOrigin); + } + + internal bool IsScaling(Transform rayOrigin) + { + return m_TwoHandedScalers.Any(twoHandedScaler => twoHandedScaler.IsTwoHandedScaling(rayOrigin)); + } + + internal void UpdateDirectSelection() + { + m_DirectSelections.Clear(); + + Rays.ForEachProxyDevice(deviceData => + { + var rayOrigin = deviceData.rayOrigin; + Vector3 contactPoint; + var obj = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); + if (obj && !obj.CompareTag(k_VRPlayerTag)) + { + m_DirectSelections[rayOrigin] = new DirectSelectionData + { + gameObject = obj, + contactPoint = contactPoint + }; + } + }); + + foreach (var ray in evr.GetNestedModule().rays) + { + var rayOrigin = ray.Key; + Vector3 contactPoint; + var go = GetDirectSelectionForRayOrigin(rayOrigin, out contactPoint); + if (go != null) + { + m_DirectSelections[rayOrigin] = new DirectSelectionData + { + gameObject = go, + contactPoint = contactPoint + }; + } + } + } + + GameObject GetDirectSelectionForRayOrigin(Transform rayOrigin, out Vector3 contactPoint) + { + if (m_IntersectionModule == null) + m_IntersectionModule = evr.GetModule(); + + var tester = rayOrigin.GetComponentInChildren(); + + var renderer = m_IntersectionModule.GetIntersectedObjectForTester(tester, out contactPoint); + if (renderer) + return renderer.gameObject; + + return null; + } + + static bool CanGrabObject(GameObject selection, Transform rayOrigin) + { + if (selection.CompareTag(k_VRPlayerTag) && !evr.GetNestedModule().rays.ContainsKey(rayOrigin)) + return false; + + return true; + } + + void OnObjectsGrabbed(Transform rayOrigin, HashSet grabbedObjects) + { + HashSet objects; + if (!m_GrabbedObjects.TryGetValue(rayOrigin, out objects)) + { + objects = new HashSet(); + m_GrabbedObjects[rayOrigin] = objects; + } + + objects.UnionWith(grabbedObjects); + + // Detach the player head model so that it is not affected by its parent transform + foreach (var grabbedObject in grabbedObjects) + { + if (grabbedObject.CompareTag(k_VRPlayerTag)) + { + grabbedObject.hideFlags = HideFlags.None; + grabbedObject.transform.parent = null; + } + } + + if (objectsGrabbed != null) + objectsGrabbed(rayOrigin, grabbedObjects); + } + + void OnObjectsDropped(Transform rayOrigin, Transform[] grabbedObjects) + { + var sceneObjectModule = evr.GetModule(); + var viewer = evr.GetNestedModule(); + var miniWorlds = evr.GetNestedModule(); + var objects = m_GrabbedObjects[rayOrigin]; + var eventObjects = new List(); + foreach (var grabbedObject in grabbedObjects) + { + objects.Remove(grabbedObject); + + // Dropping the player head updates the camera rig position + if (grabbedObject.CompareTag(k_VRPlayerTag)) + Viewer.DropPlayerHead(grabbedObject); + else if (viewer.IsOverShoulder(rayOrigin) && !miniWorlds.rays.ContainsKey(rayOrigin)) + sceneObjectModule.DeleteSceneObject(grabbedObject.gameObject); + else + eventObjects.Add(grabbedObject); + } + + if (objects.Count == 0) + m_GrabbedObjects.Remove(rayOrigin); + + if (objectsDropped != null) + objectsDropped(rayOrigin, eventObjects.ToArray()); + } + + void OnObjectsTransferred(Transform srcRayOrigin, Transform destRayOrigin) + { + m_GrabbedObjects[destRayOrigin] = m_GrabbedObjects[srcRayOrigin]; + m_GrabbedObjects.Remove(srcRayOrigin); + + if (objectsTransferred != null) + objectsTransferred(srcRayOrigin, destRayOrigin); + } + + public HashSet GetHeldObjects(Transform rayOrigin) + { + HashSet objects; + return m_GrabbedObjects.TryGetValue(rayOrigin, out objects) ? objects : null; + } + + public void SuspendGrabbers(Node node) + { + foreach (var grabber in m_ObjectGrabbers) + { + grabber.Suspend(node); + } + } + + public void ResumeGrabbers(Node node) + { + foreach (var grabber in m_ObjectGrabbers) + { + grabber.Resume(node); + } + } + + public void DropHeldObjects(Node node) + { + foreach (var grabber in m_ObjectGrabbers) + { + grabber.DropHeldObjects(node); + } + } + + public void TransferHeldObjects(Transform rayOrigin, Transform destRayOrigin, Vector3 deltaOffset = default(Vector3)) + { + foreach (var grabber in m_ObjectGrabbers) + { + grabber.TransferHeldObjects(rayOrigin, destRayOrigin, deltaOffset); + } + } + + void ResetDirectSelectionState() + { + foreach (var usesDirectSelection in m_DirectSelectionUsers) + { + usesDirectSelection.OnResetDirectSelectionState(); + } + } + } + } } #endif diff --git a/Scripts/Core/EditorVR.Rays.cs b/Scripts/Core/EditorVR.Rays.cs index e7fca188b..a52fb3ae3 100644 --- a/Scripts/Core/EditorVR.Rays.cs +++ b/Scripts/Core/EditorVR.Rays.cs @@ -10,65 +10,65 @@ namespace UnityEditor.Experimental.EditorVR.Core { - partial class EditorVR - { - [SerializeField] - DefaultProxyRay m_ProxyRayPrefab; + partial class EditorVR + { + [SerializeField] + DefaultProxyRay m_ProxyRayPrefab; - [SerializeField] - ProxyExtras m_ProxyExtras; + [SerializeField] + ProxyExtras m_ProxyExtras; class Rays : Nested, IInterfaceConnector, IForEachRayOrigin, IConnectInterfaces - { - internal delegate void ForEachProxyDeviceCallback(DeviceData deviceData); + { + internal delegate void ForEachProxyDeviceCallback(DeviceData deviceData); - const float k_DefaultRayLength = 100f; + const float k_DefaultRayLength = 100f; - internal Dictionary defaultRays { get { return m_DefaultRays; } } + internal Dictionary defaultRays { get { return m_DefaultRays; } } - readonly Dictionary m_DefaultRays = new Dictionary(); + readonly Dictionary m_DefaultRays = new Dictionary(); - readonly List m_Proxies = new List(); + readonly List m_Proxies = new List(); - StandardManipulator m_StandardManipulator; - ScaleManipulator m_ScaleManipulator; + StandardManipulator m_StandardManipulator; + ScaleManipulator m_ScaleManipulator; - internal Transform lastSelectionRayOrigin { get; private set; } + internal Transform lastSelectionRayOrigin { get; private set; } - public Rays() - { - ISetDefaultRayColorMethods.setDefaultRayColor = SetDefaultRayColor; - IGetDefaultRayColorMethods.getDefaultRayColor = GetDefaultRayColor; + public Rays() + { + ISetDefaultRayColorMethods.setDefaultRayColor = SetDefaultRayColor; + IGetDefaultRayColorMethods.getDefaultRayColor = GetDefaultRayColor; - IRayVisibilitySettingsMethods.removeRayVisibilitySettings = RemoveVisibilitySettings; - IRayVisibilitySettingsMethods.addRayVisibilitySettings = AddVisibilitySettings; + IRayVisibilitySettingsMethods.removeRayVisibilitySettings = RemoveVisibilitySettings; + IRayVisibilitySettingsMethods.addRayVisibilitySettings = AddVisibilitySettings; IForEachRayOriginMethods.forEachRayOrigin = IterateRayOrigins; - IGetFieldGrabOriginMethods.getFieldGrabOriginForRayOrigin = GetFieldGrabOriginForRayOrigin; - IGetPreviewOriginMethods.getPreviewOriginForRayOrigin = GetPreviewOriginForRayOrigin; - IUsesRaycastResultsMethods.getFirstGameObject = GetFirstGameObject; - IRayToNodeMethods.requestNodeFromRayOrigin = RequestNodeFromRayOrigin; + IGetFieldGrabOriginMethods.getFieldGrabOriginForRayOrigin = GetFieldGrabOriginForRayOrigin; + IGetPreviewOriginMethods.getPreviewOriginForRayOrigin = GetPreviewOriginForRayOrigin; + IUsesRaycastResultsMethods.getFirstGameObject = GetFirstGameObject; + IRayToNodeMethods.requestNodeFromRayOrigin = RequestNodeFromRayOrigin; INodeToRayMethods.requestRayOriginFromNode = RequestRayOriginFromNode; - IGetRayVisibilityMethods.isRayVisible = IsRayActive; - IGetRayVisibilityMethods.isConeVisible = IsConeActive; - } + IGetRayVisibilityMethods.isRayVisible = IsRayActive; + IGetRayVisibilityMethods.isConeVisible = IsConeActive; + } - internal override void OnDestroy() - { - foreach (var proxy in m_Proxies) - ObjectUtils.Destroy(((MonoBehaviour)proxy).gameObject); - } + internal override void OnDestroy() + { + foreach (var proxy in m_Proxies) + ObjectUtils.Destroy(((MonoBehaviour)proxy).gameObject); + } public void ConnectInterface(object target, object userData = null) - { + { var rayOrigin = userData as Transform; - if (rayOrigin) - { - var evrDeviceData = evr.m_DeviceData; + if (rayOrigin) + { + var evrDeviceData = evr.m_DeviceData; var ray = target as IUsesRayOrigin; - if (ray != null) - ray.rayOrigin = rayOrigin; + if (ray != null) + ray.rayOrigin = rayOrigin; var rayOrigins = target as IUsesRayOrigins; if (rayOrigins != null) @@ -82,147 +82,147 @@ public void ConnectInterface(object target, object userData = null) rayOrigins.otherRayOrigins = otherRayOrigins; } - var deviceData = evrDeviceData.FirstOrDefault(dd => dd.rayOrigin == rayOrigin); + var deviceData = evrDeviceData.FirstOrDefault(dd => dd.rayOrigin == rayOrigin); var handedRay = target as IUsesNode; - if (handedRay != null && deviceData != null) - handedRay.node = deviceData.node; + if (handedRay != null && deviceData != null) + handedRay.node = deviceData.node; var usesProxy = target as IUsesProxyType; - if (usesProxy != null && deviceData != null) - usesProxy.proxyType = deviceData.proxy.GetType(); - } + if (usesProxy != null && deviceData != null) + usesProxy.proxyType = deviceData.proxy.GetType(); + } var selectionModule = target as SelectionModule; - if (selectionModule) - { - selectionModule.selected += SetLastSelectionRayOrigin; // when a selection occurs in the selection tool, call show in the alternate menu, allowing it to show/hide itself. - selectionModule.getGroupRoot = GetGroupRoot; - selectionModule.overrideSelectObject = OverrideSelectObject; - } - } + if (selectionModule) + { + selectionModule.selected += SetLastSelectionRayOrigin; // when a selection occurs in the selection tool, call show in the alternate menu, allowing it to show/hide itself. + selectionModule.getGroupRoot = GetGroupRoot; + selectionModule.overrideSelectObject = OverrideSelectObject; + } + } public void DisconnectInterface(object target, object userData = null) { } - internal static void UpdateRayForDevice(DeviceData deviceData, Transform rayOrigin) - { - var mainMenu = deviceData.mainMenu; - var customMenu = deviceData.customMenu; - - if (mainMenu.menuHideFlags == 0 || (customMenu != null && customMenu.menuHideFlags == 0)) - { - AddVisibilitySettings(rayOrigin, mainMenu, false, false); - } - else - { - RemoveVisibilitySettings(rayOrigin, mainMenu); - } - } - - void SetLastSelectionRayOrigin(Transform rayOrigin) - { - lastSelectionRayOrigin = rayOrigin; - } - - static GameObject GetGroupRoot(GameObject hoveredObject) - { - if (!hoveredObject) - return null; - - var groupRoot = PrefabUtility.FindPrefabRoot(hoveredObject); - - return groupRoot; - } - - static bool OverrideSelectObject(GameObject hoveredObject) - { - // The player head can hovered, but not selected (only directly manipulated) - if (hoveredObject && hoveredObject.CompareTag(k_VRPlayerTag)) - { - // Clear the selection so that we do not manipulate it when moving the player head - Selection.activeObject = null; - return true; - } - - return false; - } - - internal void CreateAllProxies() - { - var deviceInputModule = evr.GetModule(); - foreach (var proxyType in ObjectUtils.GetImplementationsOfInterface(typeof(IProxy))) - { + internal static void UpdateRayForDevice(DeviceData deviceData, Transform rayOrigin) + { + var mainMenu = deviceData.mainMenu; + var customMenu = deviceData.customMenu; + + if (mainMenu.menuHideFlags == 0 || (customMenu != null && customMenu.menuHideFlags == 0)) + { + AddVisibilitySettings(rayOrigin, mainMenu, false, false); + } + else + { + RemoveVisibilitySettings(rayOrigin, mainMenu); + } + } + + void SetLastSelectionRayOrigin(Transform rayOrigin) + { + lastSelectionRayOrigin = rayOrigin; + } + + static GameObject GetGroupRoot(GameObject hoveredObject) + { + if (!hoveredObject) + return null; + + var groupRoot = PrefabUtility.FindPrefabRoot(hoveredObject); + + return groupRoot; + } + + static bool OverrideSelectObject(GameObject hoveredObject) + { + // The player head can hovered, but not selected (only directly manipulated) + if (hoveredObject && hoveredObject.CompareTag(k_VRPlayerTag)) + { + // Clear the selection so that we do not manipulate it when moving the player head + Selection.activeObject = null; + return true; + } + + return false; + } + + internal void CreateAllProxies() + { + var deviceInputModule = evr.GetModule(); + foreach (var proxyType in ObjectUtils.GetImplementationsOfInterface(typeof(IProxy))) + { var component = ObjectUtils.CreateGameObjectWithComponent(proxyType, VRView.cameraRig, false); var proxy = (IProxy)component; this.ConnectInterfaces(proxy); - proxy.trackedObjectInput = deviceInputModule.trackedObjectInput; - proxy.activeChanged += () => OnProxyActiveChanged(proxy); - proxy.hidden = true; - - m_Proxies.Add(proxy); - } - } - - void OnProxyActiveChanged(IProxy proxy) - { - proxy.hidden = !proxy.active; - - if (proxy.active) - { - var evrDeviceData = evr.m_DeviceData; - if (!evrDeviceData.Any(dd => dd.proxy == proxy)) - { - var inputModule = evr.GetModule(); - var deviceInputModule = evr.GetModule(); - var keyboardModule = evr.GetModule(); - var highlightModule = evr.GetModule(); - var workspaceModule = evr.GetModule(); - var intersectionModule = evr.GetModule(); - var ui = evr.GetNestedModule(); - - foreach (var rayOriginPair in proxy.rayOrigins) - { - var node = rayOriginPair.Key; - var rayOrigin = rayOriginPair.Value; - - var systemDevices = deviceInputModule.GetSystemDevices(); - for (int j = 0; j < systemDevices.Count; j++) - { - var device = systemDevices[j]; - - // Find device tagged with the node that matches this RayOrigin node - var deviceNode = deviceInputModule.GetDeviceNode(device); + proxy.trackedObjectInput = deviceInputModule.trackedObjectInput; + proxy.activeChanged += () => OnProxyActiveChanged(proxy); + proxy.hidden = true; + + m_Proxies.Add(proxy); + } + } + + void OnProxyActiveChanged(IProxy proxy) + { + proxy.hidden = !proxy.active; + + if (proxy.active) + { + var evrDeviceData = evr.m_DeviceData; + if (!evrDeviceData.Any(dd => dd.proxy == proxy)) + { + var inputModule = evr.GetModule(); + var deviceInputModule = evr.GetModule(); + var keyboardModule = evr.GetModule(); + var highlightModule = evr.GetModule(); + var workspaceModule = evr.GetModule(); + var intersectionModule = evr.GetModule(); + var ui = evr.GetNestedModule(); + + foreach (var rayOriginPair in proxy.rayOrigins) + { + var node = rayOriginPair.Key; + var rayOrigin = rayOriginPair.Value; + + var systemDevices = deviceInputModule.GetSystemDevices(); + for (int j = 0; j < systemDevices.Count; j++) + { + var device = systemDevices[j]; + + // Find device tagged with the node that matches this RayOrigin node + var deviceNode = deviceInputModule.GetDeviceNode(device); if (deviceNode == node) - { - var deviceData = new DeviceData(); - evrDeviceData.Add(deviceData); - deviceData.proxy = proxy; - deviceData.node = node; - deviceData.rayOrigin = rayOrigin; - deviceData.inputDevice = device; - - // Add RayOrigin transform, proxy and ActionMapInput references to input module list of sources + { + var deviceData = new DeviceData(); + evrDeviceData.Add(deviceData); + deviceData.proxy = proxy; + deviceData.node = node; + deviceData.rayOrigin = rayOrigin; + deviceData.inputDevice = device; + + // Add RayOrigin transform, proxy and ActionMapInput references to input module list of sources inputModule.AddRaycastSource(proxy, node, rayOrigin, source => - { - // Do not invalidate UI raycasts in the middle of a drag operation - if (!source.draggedObject) - { - var sourceRayOrigin = source.rayOrigin; - if (evr.GetNestedModule().IsHovering(sourceRayOrigin)) - return false; - - var hoveredObject = source.hoveredObject; - - // The manipulator needs rays to go through scene objects in order to work - var isManipulator = hoveredObject && hoveredObject.GetComponentInParent() != null; - float sceneObjectDistance; - var raycastObject = intersectionModule.GetFirstGameObject(sourceRayOrigin, out sceneObjectDistance); - var uiDistance = source.eventData.pointerCurrentRaycast.distance; - - // If the distance to a scene object is less than the distance to the hovered UI, invalidate the UI raycast - if (!isManipulator && raycastObject && sceneObjectDistance < uiDistance) - return false; - } + { + // Do not invalidate UI raycasts in the middle of a drag operation + if (!source.draggedObject) + { + var sourceRayOrigin = source.rayOrigin; + if (evr.GetNestedModule().IsHovering(sourceRayOrigin)) + return false; + + var hoveredObject = source.hoveredObject; + + // The manipulator needs rays to go through scene objects in order to work + var isManipulator = hoveredObject && hoveredObject.GetComponentInParent() != null; + float sceneObjectDistance; + var raycastObject = intersectionModule.GetFirstGameObject(sourceRayOrigin, out sceneObjectDistance); + var uiDistance = source.eventData.pointerCurrentRaycast.distance; + + // If the distance to a scene object is less than the distance to the hovered UI, invalidate the UI raycast + if (!isManipulator && raycastObject && sceneObjectDistance < uiDistance) + return false; + } if (!Menus.IsValidHover(source)) return false; @@ -232,262 +232,262 @@ void OnProxyActiveChanged(IProxy proxy) return false; return true; - }); - } - } - - rayOrigin.name = string.Format("{0} Ray Origin", node); - var rayTransform = ObjectUtils.Instantiate(evr.m_ProxyRayPrefab.gameObject, rayOrigin).transform; - rayTransform.position = rayOrigin.position; - rayTransform.rotation = rayOrigin.rotation; - var dpr = rayTransform.GetComponent(); - dpr.SetColor(highlightModule.highlightColor); - m_DefaultRays.Add(rayOrigin, dpr); - - keyboardModule.SpawnKeyboardMallet(rayOrigin); - - var proxyExtras = evr.m_ProxyExtras; - if (proxyExtras) - { - var extraData = proxyExtras.data; - List prefabs; - if (extraData.TryGetValue(rayOriginPair.Key, out prefabs)) - { - foreach (var prefab in prefabs) - { - var go = ui.InstantiateUI(prefab); - go.transform.SetParent(rayOriginPair.Value, false); - } - } - } - - var tester = rayOriginPair.Value.GetComponentInChildren(); - tester.active = proxy.active; - intersectionModule.AddTester(tester); - - highlightModule.AddRayOriginForNode(node, rayOrigin); - - switch (node) - { - case Node.LeftHand: - workspaceModule.leftRayOrigin = rayOrigin; - break; - case Node.RightHand: - workspaceModule.rightRayOrigin = rayOrigin; - break; - } - } + }); + } + } + + rayOrigin.name = string.Format("{0} Ray Origin", node); + var rayTransform = ObjectUtils.Instantiate(evr.m_ProxyRayPrefab.gameObject, rayOrigin).transform; + rayTransform.position = rayOrigin.position; + rayTransform.rotation = rayOrigin.rotation; + var dpr = rayTransform.GetComponent(); + dpr.SetColor(highlightModule.highlightColor); + m_DefaultRays.Add(rayOrigin, dpr); + + keyboardModule.SpawnKeyboardMallet(rayOrigin); + + var proxyExtras = evr.m_ProxyExtras; + if (proxyExtras) + { + var extraData = proxyExtras.data; + List prefabs; + if (extraData.TryGetValue(rayOriginPair.Key, out prefabs)) + { + foreach (var prefab in prefabs) + { + var go = ui.InstantiateUI(prefab); + go.transform.SetParent(rayOriginPair.Value, false); + } + } + } + + var tester = rayOriginPair.Value.GetComponentInChildren(); + tester.active = proxy.active; + intersectionModule.AddTester(tester); + + highlightModule.AddRayOriginForNode(node, rayOrigin); + + switch (node) + { + case Node.LeftHand: + workspaceModule.leftRayOrigin = rayOrigin; + break; + case Node.RightHand: + workspaceModule.rightRayOrigin = rayOrigin; + break; + } + } evr.GetNestedModule().SpawnDefaultTools(proxy); - } - } - } - - internal static void UpdateRaycasts() - { - var intersectionModule = evr.GetModule(); - var distance = k_DefaultRayLength * Viewer.GetViewerScale(); + } + } + } + + internal static void UpdateRaycasts() + { + var intersectionModule = evr.GetModule(); + var distance = k_DefaultRayLength * Viewer.GetViewerScale(); IterateRayOrigins(rayOrigin => { intersectionModule.UpdateRaycast(rayOrigin, distance); }); - } - - internal void UpdateDefaultProxyRays() - { - var intersectionModule = evr.GetModule(); - var inputModule = evr.GetModule(); - - // Set ray lengths based on renderer bounds - foreach (var proxy in m_Proxies) - { - if (!proxy.active) - continue; - - foreach (var rayOrigin in proxy.rayOrigins.Values) - { - var distance = k_DefaultRayLength * Viewer.GetViewerScale(); - - // Give UI priority over scene objects (e.g. For the TransformTool, handles are generally inside of the - // object, so visually show the ray terminating there instead of the object; UI is already given - // priority on the input side) - var uiEventData = inputModule.GetPointerEventData(rayOrigin); - if (uiEventData != null && uiEventData.pointerCurrentRaycast.isValid) - { - // Set ray length to distance to UI objects - distance = uiEventData.pointerCurrentRaycast.distance; - } - else - { - float hitDistance; - if (intersectionModule.GetFirstGameObject(rayOrigin, out hitDistance)) - distance = hitDistance; - } - - m_DefaultRays[rayOrigin].SetLength(distance); - } - } - } - - internal static void ForEachProxyDevice(ForEachProxyDeviceCallback callback, bool activeOnly = true) - { - var evrDeviceData = evr.m_DeviceData; - for (var i = 0; i < evrDeviceData.Count; i++) - { - var deviceData = evrDeviceData[i]; - var proxy = deviceData.proxy; - if (activeOnly && !proxy.active) - continue; - - callback(deviceData); - } - } + } + + internal void UpdateDefaultProxyRays() + { + var intersectionModule = evr.GetModule(); + var inputModule = evr.GetModule(); + + // Set ray lengths based on renderer bounds + foreach (var proxy in m_Proxies) + { + if (!proxy.active) + continue; + + foreach (var rayOrigin in proxy.rayOrigins.Values) + { + var distance = k_DefaultRayLength * Viewer.GetViewerScale(); + + // Give UI priority over scene objects (e.g. For the TransformTool, handles are generally inside of the + // object, so visually show the ray terminating there instead of the object; UI is already given + // priority on the input side) + var uiEventData = inputModule.GetPointerEventData(rayOrigin); + if (uiEventData != null && uiEventData.pointerCurrentRaycast.isValid) + { + // Set ray length to distance to UI objects + distance = uiEventData.pointerCurrentRaycast.distance; + } + else + { + float hitDistance; + if (intersectionModule.GetFirstGameObject(rayOrigin, out hitDistance)) + distance = hitDistance; + } + + m_DefaultRays[rayOrigin].SetLength(distance); + } + } + } + + internal static void ForEachProxyDevice(ForEachProxyDeviceCallback callback, bool activeOnly = true) + { + var evrDeviceData = evr.m_DeviceData; + for (var i = 0; i < evrDeviceData.Count; i++) + { + var deviceData = evrDeviceData[i]; + var proxy = deviceData.proxy; + if (activeOnly && !proxy.active) + continue; + + callback(deviceData); + } + } static void IterateRayOrigins(ForEachRayOriginCallback callback) - { - ForEachProxyDevice(deviceData => callback(deviceData.rayOrigin)); - } + { + ForEachProxyDevice(deviceData => callback(deviceData.rayOrigin)); + } internal static IProxy GetProxyForRayOrigin(Transform rayOrigin) - { - IProxy result = null; - var deviceData = evr.m_DeviceData.FirstOrDefault(dd => dd.rayOrigin == rayOrigin); - if (deviceData != null) - result = deviceData.proxy; - - return result; - } - - static GameObject GetFirstGameObject(Transform rayOrigin) - { - var intersectionModule = evr.GetModule(); - - float distance; - var go = intersectionModule.GetFirstGameObject(rayOrigin, out distance); - if (go) - return go; - - // If a raycast did not find an object use the spatial hash as a final test - var tester = rayOrigin.GetComponentInChildren(); - Vector3 collisionPoint; - var renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); - if (renderer && !renderer.CompareTag(k_VRPlayerTag)) - return renderer.gameObject; - - var enumerator = evr.GetNestedModule().rays.GetEnumerator(); - while(enumerator.MoveNext()) - { - var miniWorldRay = enumerator.Current.Value; - if (miniWorldRay.originalRayOrigin.Equals(rayOrigin)) - { - tester = miniWorldRay.tester; - if (!tester.active) - continue; - - renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); - if (renderer) - return renderer.gameObject; - } - } - enumerator.Dispose(); - - return null; - } - - Transform GetPreviewOriginForRayOrigin(Transform rayOrigin) - { - foreach (var proxy in m_Proxies) - { - Transform previewOrigin; - if (proxy.previewOrigins.TryGetValue(rayOrigin, out previewOrigin)) - return previewOrigin; - } - - return null; - } - - Transform GetFieldGrabOriginForRayOrigin(Transform rayOrigin) - { - foreach (var proxy in m_Proxies) - { - Transform fieldGrabOrigins; - if (proxy.fieldGrabOrigins.TryGetValue(rayOrigin, out fieldGrabOrigins)) - return fieldGrabOrigins; - } - - return null; - } - - static bool IsRayActive(Transform rayOrigin) - { - var dpr = rayOrigin.GetComponentInChildren(); - return dpr == null || dpr.rayVisible; - } - - static bool IsConeActive(Transform rayOrigin) - { - var dpr = rayOrigin.GetComponentInChildren(); - return dpr == null || dpr.coneVisible; - } - - internal static void AddVisibilitySettings(Transform rayOrigin, object caller, bool rayVisible, bool coneVisible, int priority = 0) - { - if (rayOrigin) - { - var dpr = rayOrigin.GetComponentInChildren(); - if (dpr) - dpr.AddVisibilitySettings(caller, rayVisible, coneVisible, priority); - } - } - - internal static void RemoveVisibilitySettings(Transform rayOrigin, object obj) - { - if (!rayOrigin) // Prevent MissingReferenceException on closing EVR - return; - - var dpr = rayOrigin.GetComponentInChildren(); - if (dpr) - dpr.RemoveVisibilitySettings(obj); - } - - internal void PreProcessRaycastSource(Transform rayOrigin) - { - var camera = CameraUtils.GetMainCamera(); - var cameraPosition = camera.transform.position; - var matrix = camera.worldToCameraMatrix; - - if (!m_StandardManipulator) - { - m_StandardManipulator = evr.GetComponentInChildren(); - ConnectInterface(m_StandardManipulator); - } - - if (m_StandardManipulator) - m_StandardManipulator.AdjustScale(cameraPosition, matrix); - - if (!m_ScaleManipulator) - m_ScaleManipulator = evr.GetComponentInChildren(); - - if (m_ScaleManipulator) - m_ScaleManipulator.AdjustScale(cameraPosition, matrix); - } + { + IProxy result = null; + var deviceData = evr.m_DeviceData.FirstOrDefault(dd => dd.rayOrigin == rayOrigin); + if (deviceData != null) + result = deviceData.proxy; + + return result; + } + + static GameObject GetFirstGameObject(Transform rayOrigin) + { + var intersectionModule = evr.GetModule(); + + float distance; + var go = intersectionModule.GetFirstGameObject(rayOrigin, out distance); + if (go) + return go; + + // If a raycast did not find an object use the spatial hash as a final test + var tester = rayOrigin.GetComponentInChildren(); + Vector3 collisionPoint; + var renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); + if (renderer && !renderer.CompareTag(k_VRPlayerTag)) + return renderer.gameObject; + + var enumerator = evr.GetNestedModule().rays.GetEnumerator(); + while (enumerator.MoveNext()) + { + var miniWorldRay = enumerator.Current.Value; + if (miniWorldRay.originalRayOrigin.Equals(rayOrigin)) + { + tester = miniWorldRay.tester; + if (!tester.active) + continue; + + renderer = intersectionModule.GetIntersectedObjectForTester(tester, out collisionPoint); + if (renderer) + return renderer.gameObject; + } + } + enumerator.Dispose(); + + return null; + } + + Transform GetPreviewOriginForRayOrigin(Transform rayOrigin) + { + foreach (var proxy in m_Proxies) + { + Transform previewOrigin; + if (proxy.previewOrigins.TryGetValue(rayOrigin, out previewOrigin)) + return previewOrigin; + } + + return null; + } + + Transform GetFieldGrabOriginForRayOrigin(Transform rayOrigin) + { + foreach (var proxy in m_Proxies) + { + Transform fieldGrabOrigins; + if (proxy.fieldGrabOrigins.TryGetValue(rayOrigin, out fieldGrabOrigins)) + return fieldGrabOrigins; + } + + return null; + } + + static bool IsRayActive(Transform rayOrigin) + { + var dpr = rayOrigin.GetComponentInChildren(); + return dpr == null || dpr.rayVisible; + } + + static bool IsConeActive(Transform rayOrigin) + { + var dpr = rayOrigin.GetComponentInChildren(); + return dpr == null || dpr.coneVisible; + } + + internal static void AddVisibilitySettings(Transform rayOrigin, object caller, bool rayVisible, bool coneVisible, int priority = 0) + { + if (rayOrigin) + { + var dpr = rayOrigin.GetComponentInChildren(); + if (dpr) + dpr.AddVisibilitySettings(caller, rayVisible, coneVisible, priority); + } + } + + internal static void RemoveVisibilitySettings(Transform rayOrigin, object obj) + { + if (!rayOrigin) // Prevent MissingReferenceException on closing EVR + return; + + var dpr = rayOrigin.GetComponentInChildren(); + if (dpr) + dpr.RemoveVisibilitySettings(obj); + } + + internal void PreProcessRaycastSource(Transform rayOrigin) + { + var camera = CameraUtils.GetMainCamera(); + var cameraPosition = camera.transform.position; + var matrix = camera.worldToCameraMatrix; + + if (!m_StandardManipulator) + { + m_StandardManipulator = evr.GetComponentInChildren(); + ConnectInterface(m_StandardManipulator); + } + + if (m_StandardManipulator) + m_StandardManipulator.AdjustScale(cameraPosition, matrix); + + if (!m_ScaleManipulator) + m_ScaleManipulator = evr.GetComponentInChildren(); + + if (m_ScaleManipulator) + m_ScaleManipulator.AdjustScale(cameraPosition, matrix); + } static Node RequestNodeFromRayOrigin(Transform rayOrigin) - { + { if (rayOrigin == null) return Node.None; - foreach (var deviceData in evr.m_DeviceData) - { - if (!deviceData.proxy.active) - continue; + foreach (var deviceData in evr.m_DeviceData) + { + if (!deviceData.proxy.active) + continue; - if (deviceData.rayOrigin == rayOrigin) - return deviceData.node; - } + if (deviceData.rayOrigin == rayOrigin) + return deviceData.node; + } - foreach (var kvp in evr.GetNestedModule().rays) - { - if (kvp.Key == rayOrigin) - return kvp.Value.node; - } + foreach (var kvp in evr.GetNestedModule().rays) + { + if (kvp.Key == rayOrigin) + return kvp.Value.node; + } return Node.None; } @@ -495,7 +495,7 @@ static Node RequestNodeFromRayOrigin(Transform rayOrigin) static Transform RequestRayOriginFromNode(Node node) { if (node == Node.None) - return null; + return null; foreach (var deviceData in evr.m_DeviceData) { @@ -504,7 +504,7 @@ static Transform RequestRayOriginFromNode(Node node) if (deviceData.node == node) return deviceData.rayOrigin; - } + } foreach (var kvp in evr.GetNestedModule().rays) { @@ -515,36 +515,36 @@ static Transform RequestRayOriginFromNode(Node node) return null; } - static void SetDefaultRayColor(Transform rayOrigin, Color color) - { - if (rayOrigin) - { - var dpr = rayOrigin.GetComponentInChildren(); - if (dpr) - { - dpr.SetColor(color); - } - } - - var highlightModule = evr.GetModule(); - highlightModule.highlightColor = color; - } - - static Color GetDefaultRayColor(Transform rayOrigin) - { - if (rayOrigin) - { - var dpr = rayOrigin.GetComponentInChildren(); - if (dpr) - { - return dpr.GetColor(); - } - } - - var highlightModule = evr.GetModule(); - return highlightModule.highlightColor; - } - } - } + static void SetDefaultRayColor(Transform rayOrigin, Color color) + { + if (rayOrigin) + { + var dpr = rayOrigin.GetComponentInChildren(); + if (dpr) + { + dpr.SetColor(color); + } + } + + var highlightModule = evr.GetModule(); + highlightModule.highlightColor = color; + } + + static Color GetDefaultRayColor(Transform rayOrigin) + { + if (rayOrigin) + { + var dpr = rayOrigin.GetComponentInChildren(); + if (dpr) + { + return dpr.GetColor(); + } + } + + var highlightModule = evr.GetModule(); + return highlightModule.highlightColor; + } + } + } } #endif diff --git a/Scripts/Data/DirectSelectionData.cs b/Scripts/Data/DirectSelectionData.cs index 79e4e4468..d1cd130bb 100644 --- a/Scripts/Data/DirectSelectionData.cs +++ b/Scripts/Data/DirectSelectionData.cs @@ -3,20 +3,20 @@ namespace UnityEditor.Experimental.EditorVR { - /// - /// Stores the state of a direct selection - /// - public sealed class DirectSelectionData - { - /// - /// The object which is selected - /// - public GameObject gameObject { get; set; } + /// + /// Stores the state of a direct selection + /// + public sealed class DirectSelectionData + { + /// + /// The object which is selected + /// + public GameObject gameObject { get; set; } - /// - /// The point in world space where the tester intersects with the object - /// - public Vector3 contactPoint { get; set; } - } + /// + /// The point in world space where the tester intersects with the object + /// + public Vector3 contactPoint { get; set; } + } } #endif diff --git a/Scripts/Helpers/ViveProxyHelper.cs b/Scripts/Helpers/ViveProxyHelper.cs index 3c393b105..01f563bc5 100644 --- a/Scripts/Helpers/ViveProxyHelper.cs +++ b/Scripts/Helpers/ViveProxyHelper.cs @@ -3,22 +3,22 @@ namespace UnityEditor.Experimental.EditorVR.Proxies { - public class ViveProxyHelper : MonoBehaviour - { - [SerializeField] - Tooltip[] m_LeftTooltips; + public class ViveProxyHelper : MonoBehaviour + { + [SerializeField] + Tooltip[] m_LeftTooltips; - [SerializeField] - Tooltip[] m_RightTooltips; + [SerializeField] + Tooltip[] m_RightTooltips; - /// - /// Tooltip components to be removed from a right-handed controller - /// - internal Tooltip[] leftTooltips { get { return m_LeftTooltips; } } + /// + /// Tooltip components to be removed from a right-handed controller + /// + internal Tooltip[] leftTooltips { get { return m_LeftTooltips; } } - /// - /// Tooltip components to be removed from a left-handed controller - /// - internal Tooltip[] rightTooltips { get { return m_RightTooltips; } } - } + /// + /// Tooltip components to be removed from a left-handed controller + /// + internal Tooltip[] rightTooltips { get { return m_RightTooltips; } } + } } diff --git a/Scripts/Interfaces/FunctionalityInjection/IUsesDirectSelection.cs b/Scripts/Interfaces/FunctionalityInjection/IUsesDirectSelection.cs index 4a6290103..bda0cecad 100644 --- a/Scripts/Interfaces/FunctionalityInjection/IUsesDirectSelection.cs +++ b/Scripts/Interfaces/FunctionalityInjection/IUsesDirectSelection.cs @@ -5,40 +5,40 @@ namespace UnityEditor.Experimental.EditorVR { - /// - /// Gives decorated class access to direct selections - /// - public interface IUsesDirectSelection - { - /// - /// Called by the system whenever any implementor calls ResetDirectSelectionState - /// - void OnResetDirectSelectionState(); - } + /// + /// Gives decorated class access to direct selections + /// + public interface IUsesDirectSelection + { + /// + /// Called by the system whenever any implementor calls ResetDirectSelectionState + /// + void OnResetDirectSelectionState(); + } - public static class IUsesDirectSelectionMethods - { - internal delegate Dictionary GetDirectSelectionDelegate(); + public static class IUsesDirectSelectionMethods + { + internal delegate Dictionary GetDirectSelectionDelegate(); - internal static GetDirectSelectionDelegate getDirectSelection { get; set; } - internal static Action resetDirectSelectionState { get; set; } + internal static GetDirectSelectionDelegate getDirectSelection { get; set; } + internal static Action resetDirectSelectionState { get; set; } - /// - /// Returns a dictionary of direct selections - /// - /// Dictionary (K,V) where K = rayOrigin used to select the object and V = info about the direct selection - public static Dictionary GetDirectSelection(this IUsesDirectSelection obj) - { - return getDirectSelection(); - } + /// + /// Returns a dictionary of direct selections + /// + /// Dictionary (K,V) where K = rayOrigin used to select the object and V = info about the direct selection + public static Dictionary GetDirectSelection(this IUsesDirectSelection obj) + { + return getDirectSelection(); + } - /// - /// Calls OnResetDirectSelectionState on all implementors of IUsesDirectSelection - /// - public static void ResetDirectSelectionState(this IUsesDirectSelection obj) - { - resetDirectSelectionState(); - } - } + /// + /// Calls OnResetDirectSelectionState on all implementors of IUsesDirectSelection + /// + public static void ResetDirectSelectionState(this IUsesDirectSelection obj) + { + resetDirectSelectionState(); + } + } } #endif diff --git a/Scripts/Modules/IntersectionModule/IntersectionModule.cs b/Scripts/Modules/IntersectionModule/IntersectionModule.cs index 0623b606a..c29dc8df5 100644 --- a/Scripts/Modules/IntersectionModule/IntersectionModule.cs +++ b/Scripts/Modules/IntersectionModule/IntersectionModule.cs @@ -6,232 +6,231 @@ namespace UnityEditor.Experimental.EditorVR.Modules { - sealed class IntersectionModule : MonoBehaviour, IUsesGameObjectLocking - { - const int k_MaxTestsPerTester = 250; - - class RayIntersection - { - public GameObject go; - public float distance; - } - - class DirectIntersection - { - public Renderer renderer; - public Vector3 contactPoint; - } - - readonly Dictionary m_IntersectedObjects = new Dictionary(); - readonly List m_Testers = new List(); - readonly Dictionary m_RaycastGameObjects = new Dictionary(); // Stores which gameobject the proxies' ray origins are pointing at - - SpatialHash m_SpatialHash; - MeshCollider m_CollisionTester; - - public bool ready { get { return m_SpatialHash != null; } } - - public List testers { get { return m_Testers; } } - - public List allObjects { get { return m_SpatialHash == null ? null : m_SpatialHash.allObjects; } } - - public int intersectedObjectCount { get { return m_IntersectedObjects.Count; } } - - // Local method use only -- created here to reduce garbage collection - readonly List m_Intersections = new List(); - readonly List m_SortedIntersections = new List(); - - struct SortableRenderer - { - public Renderer renderer; - public float distance; - } - - void Awake() - { - IntersectionUtils.BakedMesh = new Mesh(); // Create a new Mesh in each Awake because it is destroyed on scene load - - IRaycastMethods.raycast = Raycast; - } - - internal void Setup(SpatialHash hash) - { - m_SpatialHash = hash; - m_CollisionTester = ObjectUtils.CreateGameObjectWithComponent(transform); - } - - void Update() - { - if (m_SpatialHash == null) - return; - - if (m_Testers == null) - return; - - for (int i = 0; i < m_Testers.Count; i++) - { - var tester = m_Testers[i]; - - if (!tester.active) - { - //Intersection Exit - m_IntersectedObjects[tester].renderer = null; - continue; - } - - var testerTransform = tester.transform; - if (testerTransform.hasChanged) - { - var intersectionFound = false; - m_Intersections.Clear(); - var testerCollider = tester.collider; - if (m_SpatialHash.GetIntersections(m_Intersections, testerCollider.bounds)) - { - var testerBounds = testerCollider.bounds; - var testerBoundsCenter = testerBounds.center; - - m_SortedIntersections.Clear(); - for (int j = 0; j < m_Intersections.Count; j++) - { - var obj = m_Intersections[j]; - - // Ignore destroyed objects - if (!obj) - continue; - - // Ignore inactive objects - if (!obj.gameObject.activeInHierarchy) - continue; - - // Ignore locked objects - if (this.IsLocked(obj.gameObject)) - continue; - - // Bounds check - if (!obj.bounds.Intersects(testerBounds)) - continue; - - m_SortedIntersections.Add(new SortableRenderer - { - renderer = obj, - distance = (obj.bounds.center - testerBoundsCenter).magnitude - }); - } - - //Sort list to try and hit closer object first - m_SortedIntersections.Sort((a, b) => a.distance.CompareTo(b.distance)); - - if (m_SortedIntersections.Count > k_MaxTestsPerTester) - continue; - - for (int j = 0; j < m_SortedIntersections.Count; j++) - { - Vector3 contactPoint; - var renderer = m_SortedIntersections[j].renderer; - if (IntersectionUtils.TestObject(m_CollisionTester, renderer, tester, out contactPoint)) - { - intersectionFound = true; - var intersection = m_IntersectedObjects[tester]; - if (intersection.renderer == renderer) - { - // Intersection Stay - intersection.contactPoint = contactPoint; - } - else - { - // Intersection Exit / Enter - intersection.renderer = renderer; - intersection.contactPoint = contactPoint; - } - } - - if (intersectionFound) - break; - } - } - - // Intersection Exit - if (!intersectionFound) - m_IntersectedObjects[tester].renderer = null; - - testerTransform.hasChanged = false; - } - } - } - - internal void AddTester(IntersectionTester tester) - { - m_Testers.Add(tester); - m_IntersectedObjects[tester] = new DirectIntersection(); - } - - internal Renderer GetIntersectedObjectForTester(IntersectionTester tester, out Vector3 contactPoint) - { - var intersection = m_IntersectedObjects[tester]; - contactPoint = intersection.contactPoint; - return intersection.renderer; - } - - internal GameObject GetFirstGameObject(Transform rayOrigin, out float distance) - { - RayIntersection intersection; - if (m_RaycastGameObjects.TryGetValue(rayOrigin, out intersection)) - { - distance = intersection.distance; - return intersection.go; - } - - distance = 0; - return null; - } - - internal void UpdateRaycast(Transform rayOrigin, float distance) - { - GameObject go; - RaycastHit hit; - Raycast(new Ray(rayOrigin.position, rayOrigin.forward), out hit, out go, distance); - m_RaycastGameObjects[rayOrigin] = new RayIntersection { go = go, distance = hit.distance }; - } - - internal bool Raycast(Ray ray, out RaycastHit hit, out GameObject obj, float maxDistance = Mathf.Infinity, List ignoreList = null) - { - obj = null; - hit = new RaycastHit(); - var result = false; - var distance = Mathf.Infinity; - m_Intersections.Clear(); - if (m_SpatialHash.GetIntersections(m_Intersections, ray, maxDistance)) - { - for (int i = 0; i < m_Intersections.Count; i++) - { - var renderer = m_Intersections[i]; - if (ignoreList != null && ignoreList.Contains(renderer)) - continue; - - var transform = renderer.transform; - - IntersectionUtils.SetupCollisionTester(m_CollisionTester, transform); - - RaycastHit tmp; - if (IntersectionUtils.TestRay(m_CollisionTester, transform, ray, out tmp, maxDistance)) - { - var point = transform.TransformPoint(tmp.point); - var dist = Vector3.Distance(point, ray.origin); - if (dist < distance) - { - result = true; - distance = dist; - hit.distance = dist; - hit.point = point; - hit.normal = transform.TransformDirection(tmp.normal); - obj = renderer.gameObject; - } - } - } - } - - return result; - } - } + sealed class IntersectionModule : MonoBehaviour, IUsesGameObjectLocking + { + const int k_MaxTestsPerTester = 250; + + class RayIntersection + { + public GameObject go; + public float distance; + } + + class DirectIntersection + { + public Renderer renderer; + public Vector3 contactPoint; + } + + readonly Dictionary m_IntersectedObjects = new Dictionary(); + readonly List m_Testers = new List(); + readonly Dictionary m_RaycastGameObjects = new Dictionary(); // Stores which gameobject the proxies' ray origins are pointing at + + SpatialHash m_SpatialHash; + MeshCollider m_CollisionTester; + + public bool ready { get { return m_SpatialHash != null; } } + + public List testers { get { return m_Testers; } } + + public List allObjects { get { return m_SpatialHash == null ? null : m_SpatialHash.allObjects; } } + + public int intersectedObjectCount { get { return m_IntersectedObjects.Count; } } + + // Local method use only -- created here to reduce garbage collection + readonly List m_Intersections = new List(); + readonly List m_SortedIntersections = new List(); + + struct SortableRenderer + { + public Renderer renderer; + public float distance; + } + + void Awake() + { + IntersectionUtils.BakedMesh = new Mesh(); // Create a new Mesh in each Awake because it is destroyed on scene load + + IRaycastMethods.raycast = Raycast; + } + + internal void Setup(SpatialHash hash) + { + m_SpatialHash = hash; + m_CollisionTester = ObjectUtils.CreateGameObjectWithComponent(transform); + } + + void Update() + { + if (m_SpatialHash == null) + return; + + if (m_Testers == null) + return; + + for (int i = 0; i < m_Testers.Count; i++) + { + var tester = m_Testers[i]; + if (!tester.active) + { + //Intersection Exit + m_IntersectedObjects[tester].renderer = null; + continue; + } + + var testerTransform = tester.transform; + if (testerTransform.hasChanged) + { + var intersectionFound = false; + m_Intersections.Clear(); + var testerCollider = tester.collider; + if (m_SpatialHash.GetIntersections(m_Intersections, testerCollider.bounds)) + { + var testerBounds = testerCollider.bounds; + var testerBoundsCenter = testerBounds.center; + + m_SortedIntersections.Clear(); + for (int j = 0; j < m_Intersections.Count; j++) + { + var obj = m_Intersections[j]; + + // Ignore destroyed objects + if (!obj) + continue; + + // Ignore inactive objects + if (!obj.gameObject.activeInHierarchy) + continue; + + // Ignore locked objects + if (this.IsLocked(obj.gameObject)) + continue; + + // Bounds check + if (!obj.bounds.Intersects(testerBounds)) + continue; + + m_SortedIntersections.Add(new SortableRenderer + { + renderer = obj, + distance = (obj.bounds.center - testerBoundsCenter).magnitude + }); + } + + //Sort list to try and hit closer object first + m_SortedIntersections.Sort((a, b) => a.distance.CompareTo(b.distance)); + + if (m_SortedIntersections.Count > k_MaxTestsPerTester) + continue; + + for (int j = 0; j < m_SortedIntersections.Count; j++) + { + Vector3 contactPoint; + var renderer = m_SortedIntersections[j].renderer; + if (IntersectionUtils.TestObject(m_CollisionTester, renderer, tester, out contactPoint)) + { + intersectionFound = true; + var intersection = m_IntersectedObjects[tester]; + if (intersection.renderer == renderer) + { + // Intersection Stay + intersection.contactPoint = contactPoint; + } + else + { + // Intersection Exit / Enter + intersection.renderer = renderer; + intersection.contactPoint = contactPoint; + } + } + + if (intersectionFound) + break; + } + } + + // Intersection Exit + if (!intersectionFound) + m_IntersectedObjects[tester].renderer = null; + + testerTransform.hasChanged = false; + } + } + } + + internal void AddTester(IntersectionTester tester) + { + m_Testers.Add(tester); + m_IntersectedObjects[tester] = new DirectIntersection(); + } + + internal Renderer GetIntersectedObjectForTester(IntersectionTester tester, out Vector3 contactPoint) + { + var intersection = m_IntersectedObjects[tester]; + contactPoint = intersection.contactPoint; + return intersection.renderer; + } + + internal GameObject GetFirstGameObject(Transform rayOrigin, out float distance) + { + RayIntersection intersection; + if (m_RaycastGameObjects.TryGetValue(rayOrigin, out intersection)) + { + distance = intersection.distance; + return intersection.go; + } + + distance = 0; + return null; + } + + internal void UpdateRaycast(Transform rayOrigin, float distance) + { + GameObject go; + RaycastHit hit; + Raycast(new Ray(rayOrigin.position, rayOrigin.forward), out hit, out go, distance); + m_RaycastGameObjects[rayOrigin] = new RayIntersection { go = go, distance = hit.distance }; + } + + internal bool Raycast(Ray ray, out RaycastHit hit, out GameObject obj, float maxDistance = Mathf.Infinity, List ignoreList = null) + { + obj = null; + hit = new RaycastHit(); + var result = false; + var distance = Mathf.Infinity; + m_Intersections.Clear(); + if (m_SpatialHash.GetIntersections(m_Intersections, ray, maxDistance)) + { + for (int i = 0; i < m_Intersections.Count; i++) + { + var renderer = m_Intersections[i]; + if (ignoreList != null && ignoreList.Contains(renderer)) + continue; + + var transform = renderer.transform; + + IntersectionUtils.SetupCollisionTester(m_CollisionTester, transform); + + RaycastHit tmp; + if (IntersectionUtils.TestRay(m_CollisionTester, transform, ray, out tmp, maxDistance)) + { + var point = transform.TransformPoint(tmp.point); + var dist = Vector3.Distance(point, ray.origin); + if (dist < distance) + { + result = true; + distance = dist; + hit.distance = dist; + hit.point = point; + hit.normal = transform.TransformDirection(tmp.normal); + obj = renderer.gameObject; + } + } + } + } + + return result; + } + } } #endif diff --git a/Scripts/Utilities/IntersectionUtils.cs b/Scripts/Utilities/IntersectionUtils.cs index 4d6912bd6..9e06831c7 100644 --- a/Scripts/Utilities/IntersectionUtils.cs +++ b/Scripts/Utilities/IntersectionUtils.cs @@ -5,224 +5,224 @@ namespace UnityEditor.Experimental.EditorVR.Utilities { - static class IntersectionUtils - { - // Local method use only -- created here to reduce garbage collection - static readonly Vector3[] k_TriangleVertices = new Vector3[3]; - public static Mesh BakedMesh { private get; set; } - - /// - /// Test whether an object collides with the tester - /// - /// A mesh collider located at the origin used to test the object in it's local space - /// The object to test collision on - /// The tester object - /// The point of collision between the tester and the surface of the object - /// The result of whether the tester is in intersection with or located within the object - public static bool TestObject(MeshCollider collisionTester, Renderer obj, IntersectionTester tester, - out Vector3 collisionPoint) - { - var transform = obj.transform; - - SetupCollisionTester(collisionTester, transform); - - // Try a simple test with specific rays located at vertices - for (var j = 0; j < tester.rays.Length; j++) - { - var ray = tester.rays[j]; - - //Transform rays to world space - var testerTransform = tester.transform; - ray.origin = testerTransform.TransformPoint(ray.origin); - ray.direction = testerTransform.TransformDirection(ray.direction); - - RaycastHit hit; - if (TestRay(collisionTester, transform, ray, out hit)) - { - GizmoModule.instance.DrawSphere(hit.point, 0.05f, Color.cyan); - collisionPoint = hit.point; - return true; - } - } - - // Try a more robust version with all edges - return TestEdges(collisionTester, transform, tester, out collisionPoint); - } - - /// - /// Test the edges of the tester's collider against another mesh collider for intersection of being contained within - /// - /// A mesh collider located at the origin used to test the object in it's local space - /// The object to test collision on - /// The tester object - /// The result of whether the point/ray is intersection with or located within the object - public static bool TestEdges(MeshCollider collisionTester, Transform obj, IntersectionTester tester, out Vector3 collisionPoint) - { - var boundsMagnitude = collisionTester.bounds.size.magnitude; - - var triangles = tester.triangles; - var vertices = tester.vertices; - - var testerTransform = tester.transform; - for (var i = 0; i < triangles.Length; i += 3) - { - k_TriangleVertices[0] = vertices[triangles[i]]; - k_TriangleVertices[1] = vertices[triangles[i + 1]]; - k_TriangleVertices[2] = vertices[triangles[i + 2]]; - - for (var j = 0; j < 3; j++) - { - RaycastHit hitInfo; - - var start = obj.InverseTransformPoint(testerTransform.TransformPoint(k_TriangleVertices[j])); - var end = obj.InverseTransformPoint(testerTransform.TransformPoint(k_TriangleVertices[(j + 1) % 3])); - var edge = end - start; - var maxDistance = Mathf.Max(edge.magnitude, boundsMagnitude); - var direction = edge.normalized; - - // Handle degenerate triangles - if (Mathf.Approximately(direction.magnitude, 0f)) - continue; - - // Shoot a ray from outside the object (due to face normals) in the direction of the ray to see if it is inside - var forwardRay = new Ray(start, direction); - forwardRay.origin = forwardRay.GetPoint(-maxDistance); - - Vector3 forwardHit; - - if (collisionTester.Raycast(forwardRay, out hitInfo, maxDistance * 2f)) - forwardHit = hitInfo.point; - else - continue; - - // Shoot a ray in the other direction, too, from outside the object (due to face normals) - Vector3 behindHit; - var behindRay = new Ray(end, -direction); - behindRay.origin = behindRay.GetPoint(-maxDistance); - if (collisionTester.Raycast(behindRay, out hitInfo, maxDistance * 2f)) - behindHit = hitInfo.point; - else - continue; - - // Check whether the triangle edge is contained or intersects with the object - var A = forwardHit; - var B = behindHit; - var C = start; - var D = end; - var a = OnSegment(C, A, D); - var b = OnSegment(C, B, D); - var c = OnSegment(A, C, B); - var d = OnSegment(A, D, B); - if (a || b || c || d) - { - if (!a && !b && c && d) // Tester is fully contained - { - collisionPoint = testerTransform.position; - } - else - { - var testerPosition = testerTransform.position; - forwardHit = obj.TransformPoint(forwardHit); - behindHit = obj.TransformPoint(behindHit); - if (Vector3.Distance(testerPosition, forwardHit) > Vector3.Distance(testerPosition, behindHit)) - collisionPoint = behindHit; - else - collisionPoint = forwardHit; - } - return true; - } - } - } - - collisionPoint = Vector3.zero; - return false; - } - - /// - /// Returns whether C lies on segment AB - /// - public static bool OnSegment(Vector3 A, Vector3 C, Vector3 B) - { - return Mathf.Approximately(Vector3.Distance(A, C) + Vector3.Distance(C, B), Vector3.Distance(A, B)); - } - - /// - /// Tests a "ray" against a collider; Really we are testing whether a point is located within or is intersecting with a collider - /// - /// A mesh collider located at the origin used to test the object in it's local space - /// The object to test collision on - /// A ray positioned at a vertex of the tester's collider - /// The result of whether the point/ray is intersection with or located within the object - public static bool TestRay(MeshCollider collisionTester, Transform obj, Ray ray) - { - ray.origin = obj.InverseTransformPoint(ray.origin); - ray.direction = obj.InverseTransformDirection(ray.direction); - - var boundsSize = collisionTester.bounds.size.magnitude; - var maxDistance = boundsSize * 2f; - - // Shoot a ray from outside the object (due to face normals) in the direction of the ray to see if it is inside - var forwardRay = new Ray(ray.origin, ray.direction); - forwardRay.origin = forwardRay.GetPoint(-boundsSize); - - Vector3 forwardHit; - RaycastHit hitInfo; - if (collisionTester.Raycast(forwardRay, out hitInfo, maxDistance)) - forwardHit = hitInfo.point; - else - return false; - - // Shoot a ray in the other direction, too, from outside the object (due to face normals) - Vector3 behindHit; - var behindRay = new Ray(ray.origin, -ray.direction); - behindRay.origin = behindRay.GetPoint(-boundsSize); - if (collisionTester.Raycast(behindRay, out hitInfo, maxDistance)) - behindHit = hitInfo.point; - else - return false; - - // Check whether the point (i.e. ray origin) is contained within the object - var collisionLine = forwardHit - behindHit; - var projection = Vector3.Dot(collisionLine, ray.origin - behindHit); - return projection >= 0f && projection <= collisionLine.sqrMagnitude; - } - - /// - /// Tests a ray against a collider - /// - /// A mesh collider located at the origin used to test the object in it's local space - /// The object to test collision on - /// A ray positioned at a vertex of the tester's collider - /// Info about the raycast hit - /// Maximum distance at which a hit can occur - /// The result of whether the ray intersects with the object - public static bool TestRay(MeshCollider collisionTester, Transform obj, Ray ray, out RaycastHit hit, float maxDistance = Mathf.Infinity) - { - ray.origin = obj.InverseTransformPoint(ray.origin); - ray.direction = obj.InverseTransformVector(ray.direction); - maxDistance = obj.InverseTransformVector(ray.direction * maxDistance).magnitude; - - return collisionTester.Raycast(ray, out hit, maxDistance); - } - - public static void SetupCollisionTester(MeshCollider collisionTester, Transform obj) - { - var mf = obj.GetComponent(); - if (mf) + static class IntersectionUtils + { + // Local method use only -- created here to reduce garbage collection + static readonly Vector3[] k_TriangleVertices = new Vector3[3]; + public static Mesh BakedMesh { private get; set; } + + /// + /// Test whether an object collides with the tester + /// + /// A mesh collider located at the origin used to test the object in it's local space + /// The object to test collision on + /// The tester object + /// The point of collision between the tester and the surface of the object + /// The result of whether the tester is in intersection with or located within the object + public static bool TestObject(MeshCollider collisionTester, Renderer obj, IntersectionTester tester, + out Vector3 collisionPoint) + { + var transform = obj.transform; + + SetupCollisionTester(collisionTester, transform); + + // Try a simple test with specific rays located at vertices + for (var j = 0; j < tester.rays.Length; j++) { - collisionTester.sharedMesh = mf.sharedMesh; + var ray = tester.rays[j]; + + //Transform rays to world space + var testerTransform = tester.transform; + ray.origin = testerTransform.TransformPoint(ray.origin); + ray.direction = testerTransform.TransformDirection(ray.direction); + + RaycastHit hit; + if (TestRay(collisionTester, transform, ray, out hit)) + { + GizmoModule.instance.DrawSphere(hit.point, 0.05f, Color.cyan); + collisionPoint = hit.point; + return true; + } + } + + // Try a more robust version with all edges + return TestEdges(collisionTester, transform, tester, out collisionPoint); + } + + /// + /// Test the edges of the tester's collider against another mesh collider for intersection of being contained within + /// + /// A mesh collider located at the origin used to test the object in it's local space + /// The object to test collision on + /// The tester object + /// The result of whether the point/ray is intersection with or located within the object + public static bool TestEdges(MeshCollider collisionTester, Transform obj, IntersectionTester tester, out Vector3 collisionPoint) + { + var boundsMagnitude = collisionTester.bounds.size.magnitude; + + var triangles = tester.triangles; + var vertices = tester.vertices; + + var testerTransform = tester.transform; + for (var i = 0; i < triangles.Length; i += 3) + { + k_TriangleVertices[0] = vertices[triangles[i]]; + k_TriangleVertices[1] = vertices[triangles[i + 1]]; + k_TriangleVertices[2] = vertices[triangles[i + 2]]; + + for (var j = 0; j < 3; j++) + { + RaycastHit hitInfo; + + var start = obj.InverseTransformPoint(testerTransform.TransformPoint(k_TriangleVertices[j])); + var end = obj.InverseTransformPoint(testerTransform.TransformPoint(k_TriangleVertices[(j + 1) % 3])); + var edge = end - start; + var maxDistance = Mathf.Max(edge.magnitude, boundsMagnitude); + var direction = edge.normalized; + + // Handle degenerate triangles + if (Mathf.Approximately(direction.magnitude, 0f)) + continue; + + // Shoot a ray from outside the object (due to face normals) in the direction of the ray to see if it is inside + var forwardRay = new Ray(start, direction); + forwardRay.origin = forwardRay.GetPoint(-maxDistance); + + Vector3 forwardHit; + + if (collisionTester.Raycast(forwardRay, out hitInfo, maxDistance * 2f)) + forwardHit = hitInfo.point; + else + continue; + + // Shoot a ray in the other direction, too, from outside the object (due to face normals) + Vector3 behindHit; + var behindRay = new Ray(end, -direction); + behindRay.origin = behindRay.GetPoint(-maxDistance); + if (collisionTester.Raycast(behindRay, out hitInfo, maxDistance * 2f)) + behindHit = hitInfo.point; + else + continue; + + // Check whether the triangle edge is contained or intersects with the object + var A = forwardHit; + var B = behindHit; + var C = start; + var D = end; + var a = OnSegment(C, A, D); + var b = OnSegment(C, B, D); + var c = OnSegment(A, C, B); + var d = OnSegment(A, D, B); + if (a || b || c || d) + { + if (!a && !b && c && d) // Tester is fully contained + { + collisionPoint = testerTransform.position; + } + else + { + var testerPosition = testerTransform.position; + forwardHit = obj.TransformPoint(forwardHit); + behindHit = obj.TransformPoint(behindHit); + if (Vector3.Distance(testerPosition, forwardHit) > Vector3.Distance(testerPosition, behindHit)) + collisionPoint = behindHit; + else + collisionPoint = forwardHit; + } + return true; + } + } + } + + collisionPoint = Vector3.zero; + return false; + } + + /// + /// Returns whether C lies on segment AB + /// + public static bool OnSegment(Vector3 A, Vector3 C, Vector3 B) + { + return Mathf.Approximately(Vector3.Distance(A, C) + Vector3.Distance(C, B), Vector3.Distance(A, B)); + } + + /// + /// Tests a "ray" against a collider; Really we are testing whether a point is located within or is intersecting with a collider + /// + /// A mesh collider located at the origin used to test the object in it's local space + /// The object to test collision on + /// A ray positioned at a vertex of the tester's collider + /// The result of whether the point/ray is intersection with or located within the object + public static bool TestRay(MeshCollider collisionTester, Transform obj, Ray ray) + { + ray.origin = obj.InverseTransformPoint(ray.origin); + ray.direction = obj.InverseTransformDirection(ray.direction); + + var boundsSize = collisionTester.bounds.size.magnitude; + var maxDistance = boundsSize * 2f; + + // Shoot a ray from outside the object (due to face normals) in the direction of the ray to see if it is inside + var forwardRay = new Ray(ray.origin, ray.direction); + forwardRay.origin = forwardRay.GetPoint(-boundsSize); + + Vector3 forwardHit; + RaycastHit hitInfo; + if (collisionTester.Raycast(forwardRay, out hitInfo, maxDistance)) + forwardHit = hitInfo.point; + else + return false; + + // Shoot a ray in the other direction, too, from outside the object (due to face normals) + Vector3 behindHit; + var behindRay = new Ray(ray.origin, -ray.direction); + behindRay.origin = behindRay.GetPoint(-boundsSize); + if (collisionTester.Raycast(behindRay, out hitInfo, maxDistance)) + behindHit = hitInfo.point; + else + return false; + + // Check whether the point (i.e. ray origin) is contained within the object + var collisionLine = forwardHit - behindHit; + var projection = Vector3.Dot(collisionLine, ray.origin - behindHit); + return projection >= 0f && projection <= collisionLine.sqrMagnitude; + } + + /// + /// Tests a ray against a collider + /// + /// A mesh collider located at the origin used to test the object in it's local space + /// The object to test collision on + /// A ray positioned at a vertex of the tester's collider + /// Info about the raycast hit + /// Maximum distance at which a hit can occur + /// The result of whether the ray intersects with the object + public static bool TestRay(MeshCollider collisionTester, Transform obj, Ray ray, out RaycastHit hit, float maxDistance = Mathf.Infinity) + { + ray.origin = obj.InverseTransformPoint(ray.origin); + ray.direction = obj.InverseTransformVector(ray.direction); + maxDistance = obj.InverseTransformVector(ray.direction * maxDistance).magnitude; + + return collisionTester.Raycast(ray, out hit, maxDistance); + } + + public static void SetupCollisionTester(MeshCollider collisionTester, Transform obj) + { + var mf = obj.GetComponent(); + if (mf) + { + collisionTester.sharedMesh = mf.sharedMesh; collisionTester.transform.localScale = Vector3.one; return; } - var smr = obj.GetComponent(); - if (smr) - { - smr.BakeMesh(BakedMesh); - collisionTester.sharedMesh = BakedMesh; + var smr = obj.GetComponent(); + if (smr) + { + smr.BakeMesh(BakedMesh); + collisionTester.sharedMesh = BakedMesh; collisionTester.transform.localScale = obj.transform.lossyScale.Inverse(); - } - } - } - } + } + } + } +} #endif diff --git a/Tools/SelectionTool/SelectionTool.cs b/Tools/SelectionTool/SelectionTool.cs index 139957335..a771f55de 100644 --- a/Tools/SelectionTool/SelectionTool.cs +++ b/Tools/SelectionTool/SelectionTool.cs @@ -12,304 +12,304 @@ namespace UnityEditor.Experimental.EditorVR.Tools { using BindingDictionary = Dictionary>; - sealed class SelectionTool : MonoBehaviour, ITool, IUsesRayOrigin, IUsesRaycastResults, ICustomActionMap, - ISetHighlight, ISelectObject, ISetManipulatorsVisible, IIsHoveringOverUI, IUsesDirectSelection, ILinkedObject, - ICanGrabObject, IGetManipulatorDragState, IUsesNode, IGetRayVisibility, IIsMainMenuVisible, IIsInMiniWorld, - IRayToNode, IGetDefaultRayColor, ISetDefaultRayColor, ITooltip, ITooltipPlacement, ISetTooltipVisibility, + sealed class SelectionTool : MonoBehaviour, ITool, IUsesRayOrigin, IUsesRaycastResults, ICustomActionMap, + ISetHighlight, ISelectObject, ISetManipulatorsVisible, IIsHoveringOverUI, IUsesDirectSelection, ILinkedObject, + ICanGrabObject, IGetManipulatorDragState, IUsesNode, IGetRayVisibility, IIsMainMenuVisible, IIsInMiniWorld, + IRayToNode, IGetDefaultRayColor, ISetDefaultRayColor, ITooltip, ITooltipPlacement, ISetTooltipVisibility, IUsesProxyType, IMenuIcon, IRequestFeedback - { - const float k_MultiselectHueShift = 0.5f; - static readonly Vector3 k_TooltipPosition = new Vector3(0, 0.05f, -0.03f); - static readonly Quaternion k_TooltipRotation = Quaternion.AngleAxis(90, Vector3.right); + { + const float k_MultiselectHueShift = 0.5f; + static readonly Vector3 k_TooltipPosition = new Vector3(0, 0.05f, -0.03f); + static readonly Quaternion k_TooltipRotation = Quaternion.AngleAxis(90, Vector3.right); - [SerializeField] + [SerializeField] Sprite m_Icon; [SerializeField] - ActionMap m_ActionMap; + ActionMap m_ActionMap; - GameObject m_PressedObject; + GameObject m_PressedObject; - SelectionInput m_SelectionInput; + SelectionInput m_SelectionInput; - float m_LastMultiSelectClickTime; - Color m_NormalRayColor; - Color m_MultiselectRayColor; - bool m_MultiSelect; + float m_LastMultiSelectClickTime; + Color m_NormalRayColor; + Color m_MultiselectRayColor; + bool m_MultiSelect; readonly BindingDictionary m_Controls = new BindingDictionary(); readonly List m_SelectFeedback = new List(); - readonly Dictionary m_HoverGameObjects = new Dictionary(); + readonly Dictionary m_HoverGameObjects = new Dictionary(); - readonly Dictionary m_SelectionHoverGameObjects = new Dictionary(); + readonly Dictionary m_SelectionHoverGameObjects = new Dictionary(); - public ActionMap actionMap { get { return m_ActionMap; } } + public ActionMap actionMap { get { return m_ActionMap; } } public bool ignoreLocking { get { return false; } } - public Transform rayOrigin { private get; set; } + public Transform rayOrigin { private get; set; } public Node node { private get; set; } public Sprite icon { get { return m_Icon; } } - public event Action hovered; + public event Action hovered; - public List linkedObjects { get; set; } - public Type proxyType { get; set; } + public List linkedObjects { get; set; } + public Type proxyType { get; set; } - public string tooltipText { get { return m_MultiSelect ? "Multi-Select Enabled" : ""; } } - public Transform tooltipTarget { get; private set; } - public Transform tooltipSource { get { return rayOrigin; } } - public TextAlignment tooltipAlignment { get { return TextAlignment.Center; } } + public string tooltipText { get { return m_MultiSelect ? "Multi-Select Enabled" : ""; } } + public Transform tooltipTarget { get; private set; } + public Transform tooltipSource { get { return rayOrigin; } } + public TextAlignment tooltipAlignment { get { return TextAlignment.Center; } } - void Start() - { - m_NormalRayColor = this.GetDefaultRayColor(rayOrigin); - m_MultiselectRayColor = m_NormalRayColor; - m_MultiselectRayColor = MaterialUtils.HueShift(m_MultiselectRayColor, k_MultiselectHueShift); + void Start() + { + m_NormalRayColor = this.GetDefaultRayColor(rayOrigin); + m_MultiselectRayColor = m_NormalRayColor; + m_MultiselectRayColor = MaterialUtils.HueShift(m_MultiselectRayColor, k_MultiselectHueShift); - tooltipTarget = ObjectUtils.CreateEmptyGameObject("SelectionTool Tooltip Target", rayOrigin).transform; - tooltipTarget.localPosition = k_TooltipPosition; - tooltipTarget.localRotation = k_TooltipRotation; + tooltipTarget = ObjectUtils.CreateEmptyGameObject("SelectionTool Tooltip Target", rayOrigin).transform; + tooltipTarget.localPosition = k_TooltipPosition; + tooltipTarget.localRotation = k_TooltipRotation; InputUtils.GetBindingDictionaryFromActionMap(m_ActionMap, m_Controls); ShowSelectFeedback(); - } + } void OnDestroy() { this.ClearFeedbackRequests(); } - public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeControl) - { - if (this.GetManipulatorDragState()) - return; - - m_SelectionInput = (SelectionInput)input; - - var multiSelectControl = m_SelectionInput.multiSelect; - if (proxyType == typeof(ViveProxy)) - multiSelectControl = m_SelectionInput.multiSelectAlt; - - if (multiSelectControl.wasJustPressed) - { - var realTime = Time.realtimeSinceStartup; - if (UIUtils.IsDoubleClick(realTime - m_LastMultiSelectClickTime)) - { - foreach (var linkedObject in linkedObjects) - { - var selectionTool = (SelectionTool)linkedObject; - selectionTool.m_MultiSelect = !selectionTool.m_MultiSelect; - this.HideTooltip(selectionTool); - } - - if (m_MultiSelect) - this.ShowTooltip(this); - } - - m_LastMultiSelectClickTime = realTime; - } - - this.SetDefaultRayColor(rayOrigin, m_MultiSelect ? m_MultiselectRayColor : m_NormalRayColor); - - if (this.IsSharedUpdater(this)) - { - this.SetManipulatorsVisible(this, !m_MultiSelect); - - var directSelection = this.GetDirectSelection(); - - m_SelectionHoverGameObjects.Clear(); - foreach (var linkedObject in linkedObjects) - { - var selectionTool = (SelectionTool)linkedObject; - var selectionRayOrigin = selectionTool.rayOrigin; - - if (!selectionTool.IsRayActive()) - continue; - - var hover = this.GetFirstGameObject(selectionRayOrigin); - - if (!selectionTool.GetSelectionCandidate(ref hover)) - continue; - - if (hover) - { - GameObject lastHover; - if (m_HoverGameObjects.TryGetValue(selectionRayOrigin, out lastHover) && lastHover != hover) - this.SetHighlight(lastHover, false, selectionRayOrigin); - - m_SelectionHoverGameObjects[selectionRayOrigin] = hover; - m_HoverGameObjects[selectionRayOrigin] = hover; - } - } - - // Unset highlight old hovers - var hovers = new Dictionary(m_HoverGameObjects); - foreach (var kvp in hovers) - { - var directRayOrigin = kvp.Key; - var hover = kvp.Value; - - if (!directSelection.ContainsKey(directRayOrigin) - && !m_SelectionHoverGameObjects.ContainsKey(directRayOrigin)) - { - this.SetHighlight(hover, false, directRayOrigin); - m_HoverGameObjects.Remove(directRayOrigin); - } - } - - // Find new hovers - foreach (var kvp in directSelection) - { - var directRayOrigin = kvp.Key; - var directHoveredObject = kvp.Value.gameObject; - - var directSelectionCandidate = this.GetSelectionCandidate(directHoveredObject, true); - - // Can't select this object (it might be locked or static) - if (directHoveredObject && !directSelectionCandidate) - continue; - - if (directSelectionCandidate) - directHoveredObject = directSelectionCandidate; - - if (!this.CanGrabObject(directHoveredObject, directRayOrigin)) - continue; - - var grabbingNode = this.RequestNodeFromRayOrigin(directRayOrigin); - var selectionTool = linkedObjects.Cast().FirstOrDefault(linkedObject => linkedObject.node == grabbingNode); - if (selectionTool == null) - continue; - - if (!selectionTool.IsDirectActive()) - { - m_HoverGameObjects.Remove(directRayOrigin); - this.SetHighlight(directHoveredObject, false, directRayOrigin); - continue; - } - - // Only overwrite an existing selection if it does not contain the hovered object - // In the case of multi-select, only add, do not remove - if (selectionTool.m_SelectionInput.select.wasJustPressed && !Selection.objects.Contains(directHoveredObject)) - this.SelectObject(directHoveredObject, directRayOrigin, m_MultiSelect); - - GameObject lastHover; - if (m_HoverGameObjects.TryGetValue(directRayOrigin, out lastHover) && lastHover != directHoveredObject) - this.SetHighlight(lastHover, false, directRayOrigin); - - m_HoverGameObjects[directRayOrigin] = directHoveredObject; - } - - // Set highlight on new hovers - foreach (var hover in m_HoverGameObjects) - { - this.SetHighlight(hover.Value, true, hover.Key); - } - } + public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeControl) + { + if (this.GetManipulatorDragState()) + return; + + m_SelectionInput = (SelectionInput)input; + + var multiSelectControl = m_SelectionInput.multiSelect; + if (proxyType == typeof(ViveProxy)) + multiSelectControl = m_SelectionInput.multiSelectAlt; + + if (multiSelectControl.wasJustPressed) + { + var realTime = Time.realtimeSinceStartup; + if (UIUtils.IsDoubleClick(realTime - m_LastMultiSelectClickTime)) + { + foreach (var linkedObject in linkedObjects) + { + var selectionTool = (SelectionTool)linkedObject; + selectionTool.m_MultiSelect = !selectionTool.m_MultiSelect; + this.HideTooltip(selectionTool); + } + + if (m_MultiSelect) + this.ShowTooltip(this); + } + + m_LastMultiSelectClickTime = realTime; + } + + this.SetDefaultRayColor(rayOrigin, m_MultiSelect ? m_MultiselectRayColor : m_NormalRayColor); + + if (this.IsSharedUpdater(this)) + { + this.SetManipulatorsVisible(this, !m_MultiSelect); + + var directSelection = this.GetDirectSelection(); + + m_SelectionHoverGameObjects.Clear(); + foreach (var linkedObject in linkedObjects) + { + var selectionTool = (SelectionTool)linkedObject; + var selectionRayOrigin = selectionTool.rayOrigin; + + if (!selectionTool.IsRayActive()) + continue; + + var hover = this.GetFirstGameObject(selectionRayOrigin); + + if (!selectionTool.GetSelectionCandidate(ref hover)) + continue; + + if (hover) + { + GameObject lastHover; + if (m_HoverGameObjects.TryGetValue(selectionRayOrigin, out lastHover) && lastHover != hover) + this.SetHighlight(lastHover, false, selectionRayOrigin); + + m_SelectionHoverGameObjects[selectionRayOrigin] = hover; + m_HoverGameObjects[selectionRayOrigin] = hover; + } + } + + // Unset highlight old hovers + var hovers = new Dictionary(m_HoverGameObjects); + foreach (var kvp in hovers) + { + var directRayOrigin = kvp.Key; + var hover = kvp.Value; + + if (!directSelection.ContainsKey(directRayOrigin) + && !m_SelectionHoverGameObjects.ContainsKey(directRayOrigin)) + { + this.SetHighlight(hover, false, directRayOrigin); + m_HoverGameObjects.Remove(directRayOrigin); + } + } + + // Find new hovers + foreach (var kvp in directSelection) + { + var directRayOrigin = kvp.Key; + var directHoveredObject = kvp.Value.gameObject; + + var directSelectionCandidate = this.GetSelectionCandidate(directHoveredObject, true); + + // Can't select this object (it might be locked or static) + if (directHoveredObject && !directSelectionCandidate) + continue; + + if (directSelectionCandidate) + directHoveredObject = directSelectionCandidate; + + if (!this.CanGrabObject(directHoveredObject, directRayOrigin)) + continue; + + var grabbingNode = this.RequestNodeFromRayOrigin(directRayOrigin); + var selectionTool = linkedObjects.Cast().FirstOrDefault(linkedObject => linkedObject.node == grabbingNode); + if (selectionTool == null) + continue; + + if (!selectionTool.IsDirectActive()) + { + m_HoverGameObjects.Remove(directRayOrigin); + this.SetHighlight(directHoveredObject, false, directRayOrigin); + continue; + } + + // Only overwrite an existing selection if it does not contain the hovered object + // In the case of multi-select, only add, do not remove + if (selectionTool.m_SelectionInput.select.wasJustPressed && !Selection.objects.Contains(directHoveredObject)) + this.SelectObject(directHoveredObject, directRayOrigin, m_MultiSelect); + + GameObject lastHover; + if (m_HoverGameObjects.TryGetValue(directRayOrigin, out lastHover) && lastHover != directHoveredObject) + this.SetHighlight(lastHover, false, directRayOrigin); + + m_HoverGameObjects[directRayOrigin] = directHoveredObject; + } + + // Set highlight on new hovers + foreach (var hover in m_HoverGameObjects) + { + this.SetHighlight(hover.Value, true, hover.Key); + } + } if (!this.IsRayVisible(rayOrigin)) HideSelectFeedback(); else if (m_SelectFeedback.Count == 0) ShowSelectFeedback(); - if (!IsRayActive()) - return; + if (!IsRayActive()) + return; - // Need to call GetFirstGameObject a second time because we do not guarantee shared updater executes first - var hoveredObject = this.GetFirstGameObject(rayOrigin); + // Need to call GetFirstGameObject a second time because we do not guarantee shared updater executes first + var hoveredObject = this.GetFirstGameObject(rayOrigin); - if (hovered != null) - hovered(hoveredObject, rayOrigin); + if (hovered != null) + hovered(hoveredObject, rayOrigin); - if (!GetSelectionCandidate(ref hoveredObject)) - return; + if (!GetSelectionCandidate(ref hoveredObject)) + return; - // Capture object on press - if (m_SelectionInput.select.wasJustPressed) - m_PressedObject = hoveredObject; + // Capture object on press + if (m_SelectionInput.select.wasJustPressed) + m_PressedObject = hoveredObject; - // Select button on release - if (m_SelectionInput.select.wasJustReleased) - { - if (m_PressedObject == hoveredObject) - { - this.SelectObject(m_PressedObject, rayOrigin, m_MultiSelect, true); - this.ResetDirectSelectionState(); + // Select button on release + if (m_SelectionInput.select.wasJustReleased) + { + if (m_PressedObject == hoveredObject) + { + this.SelectObject(m_PressedObject, rayOrigin, m_MultiSelect, true); + this.ResetDirectSelectionState(); - if (m_PressedObject != null) - this.SetHighlight(m_PressedObject, false, rayOrigin); - } + if (m_PressedObject != null) + this.SetHighlight(m_PressedObject, false, rayOrigin); + } - if (m_PressedObject) - consumeControl(m_SelectionInput.select); + if (m_PressedObject) + consumeControl(m_SelectionInput.select); - m_PressedObject = null; - } - } + m_PressedObject = null; + } + } - bool GetSelectionCandidate(ref GameObject hoveredObject) - { - var selectionCandidate = this.GetSelectionCandidate(hoveredObject, true); + bool GetSelectionCandidate(ref GameObject hoveredObject) + { + var selectionCandidate = this.GetSelectionCandidate(hoveredObject, true); - // Can't select this object (it might be locked or static) - if (hoveredObject && !selectionCandidate) - return false; + // Can't select this object (it might be locked or static) + if (hoveredObject && !selectionCandidate) + return false; - if (selectionCandidate) - hoveredObject = selectionCandidate; + if (selectionCandidate) + hoveredObject = selectionCandidate; - return true; - } + return true; + } - bool IsDirectActive() - { - if (rayOrigin == null) - return false; + bool IsDirectActive() + { + if (rayOrigin == null) + return false; - if (!this.IsConeVisible(rayOrigin)) - return false; + if (!this.IsConeVisible(rayOrigin)) + return false; - if (this.IsInMiniWorld(rayOrigin)) - return true; + if (this.IsInMiniWorld(rayOrigin)) + return true; - if (this.IsMainMenuVisible(rayOrigin)) - return false; + if (this.IsMainMenuVisible(rayOrigin)) + return false; - return true; - } + return true; + } - bool IsRayActive() - { - if (rayOrigin == null) - return false; + bool IsRayActive() + { + if (rayOrigin == null) + return false; - if (this.IsHoveringOverUI(rayOrigin)) - return false; + if (this.IsHoveringOverUI(rayOrigin)) + return false; - if (this.IsMainMenuVisible(rayOrigin)) - return false; + if (this.IsMainMenuVisible(rayOrigin)) + return false; - if (this.IsInMiniWorld(rayOrigin)) - return false; + if (this.IsInMiniWorld(rayOrigin)) + return false; - if (!this.IsRayVisible(rayOrigin)) - return false; + if (!this.IsRayVisible(rayOrigin)) + return false; - return true; - } + return true; + } - void OnDisable() - { - foreach (var kvp in m_HoverGameObjects) - { - this.SetHighlight(kvp.Value, false, kvp.Key); - } - m_HoverGameObjects.Clear(); - } + void OnDisable() + { + foreach (var kvp in m_HoverGameObjects) + { + this.SetHighlight(kvp.Value, false, kvp.Key); + } + m_HoverGameObjects.Clear(); + } - public void OnResetDirectSelectionState() { } + public void OnResetDirectSelectionState() { } void ShowSelectFeedback() { @@ -329,8 +329,8 @@ void ShowSelectFeedback() this.AddFeedbackRequest(request); m_SelectFeedback.Add(request); - } -} + } + } } void HideSelectFeedback() diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 083df0d86..d5f4b6ec2 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -10,777 +10,776 @@ namespace UnityEditor.Experimental.EditorVR.Tools { - sealed class TransformTool : MonoBehaviour, ITool, ITransformer, ISelectionChanged, IActions, IUsesDirectSelection, - IGrabObjects, ISelectObject, IManipulatorController, IUsesSnapping, ISetHighlight, ILinkedObject, IRayToNode, - IControlHaptics, IUsesRayOrigin, IUsesNode, ICustomActionMap, ITwoHandedScaler, IIsMainMenuVisible, - IGetRayVisibility, IRayVisibilitySettings - { - const float k_LazyFollowTranslate = 8f; - const float k_LazyFollowRotate = 12f; - const float k_DirectLazyFollowTranslate = 20f; - const float k_DirectLazyFollowRotate = 30f; - - class GrabData - { - Vector3[] m_PositionOffsets; - Quaternion[] m_RotationOffsets; - Vector3[] m_InitialScales; - Vector3 m_StartMidPoint; - Quaternion m_UpRotationOffset; - Quaternion m_ForwardRotationOffset; - Vector3 m_GrabOffset; - float m_StartDistance; - - public Transform[] grabbedObjects { get; private set; } - public TransformInput input { get; private set; } - public Transform rayOrigin { get; private set; } - - public bool suspended { private get; set; } - - Vector3 pivotPoint { get { return rayOrigin.position + rayOrigin.rotation * m_GrabOffset; } } - - public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedObjects, Vector3 contactPoint) - { - this.rayOrigin = rayOrigin; - this.input = input; - this.grabbedObjects = grabbedObjects; - var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); - m_GrabOffset = inverseRotation * (contactPoint - rayOrigin.position); - Reset(); - } - - public void Reset() - { - if (suspended) - return; - - var length = grabbedObjects.Length; - m_PositionOffsets = new Vector3[length]; - m_RotationOffsets = new Quaternion[length]; - m_InitialScales = new Vector3[length]; - var pivot = pivotPoint; - for (var i = 0; i < length; i++) - { - var grabbedTransform = grabbedObjects[i]; - - var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); - m_PositionOffsets[i] = inverseRotation * (grabbedTransform.transform.position - pivot); - m_RotationOffsets[i] = inverseRotation * grabbedTransform.transform.rotation; - - m_InitialScales[i] = grabbedTransform.transform.localScale; - } - } - - public void UpdatePositions(IUsesSnapping usesSnapping) - { - if (suspended) - return; - - Undo.RecordObjects(grabbedObjects, "Move"); - - var rayOriginRotation = rayOrigin.rotation; - var pivot = pivotPoint; - for (var i = 0; i < grabbedObjects.Length; i++) - { - var grabbedObject = grabbedObjects[i]; - var position = grabbedObject.position; - var rotation = grabbedObject.rotation; - var targetPosition = pivot + rayOriginRotation * m_PositionOffsets[i]; - var targetRotation = rayOriginRotation * m_RotationOffsets[i]; - - if (usesSnapping.DirectSnap(rayOrigin, grabbedObject, ref position, ref rotation, targetPosition, targetRotation)) - { - var deltaTime = Time.deltaTime; - grabbedObject.position = Vector3.Lerp(grabbedObject.position, position, k_DirectLazyFollowTranslate * deltaTime); - grabbedObject.rotation = Quaternion.Lerp(grabbedObject.rotation, rotation, k_DirectLazyFollowRotate * deltaTime); - } - else - { - grabbedObject.position = targetPosition; - grabbedObject.rotation = targetRotation; - } - } - } - - public void ScaleObjects(GrabData otherGrabData) - { - if (suspended) - return; - - Undo.RecordObjects(grabbedObjects, "Move"); - - var thisPosition = pivotPoint; - var otherPosition = otherGrabData.pivotPoint; - var distance = Vector3.Distance(thisPosition, otherPosition); - var scaleFactor = distance / m_StartDistance; - if (scaleFactor > 0 && scaleFactor < Mathf.Infinity) - { - var rayToRay = otherPosition - thisPosition; - var midPoint = thisPosition + rayToRay * 0.5f; - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrabData.rayOrigin.rotation, 0.5f); - var upVector = midRotation * Vector3.up; - var forward = midRotation * Vector3.forward; - var isUp = true;//Mathf.Abs(Vector3.Dot(rayToRay, upVector)) > 0.5f; - - var grabRotation = Quaternion.LookRotation(rayToRay, isUp ? forward : upVector); - var rotationOffset = grabRotation * (isUp ? m_ForwardRotationOffset : m_UpRotationOffset); - - for (var i = 0; i < grabbedObjects.Length; i++) - { - var grabbedObject = grabbedObjects[i]; - - grabbedObject.position = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; - grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; - grabbedObject.localScale = m_InitialScales[i] * scaleFactor; - } - } - } - - public void TransferTo(Transform destRayOrigin, Vector3 deltaOffset) - { - rayOrigin = destRayOrigin; - for (var i = 0; i < m_PositionOffsets.Length; i++) - { - m_PositionOffsets[i] += deltaOffset; - } - } - - public void StartScaling(GrabData otherGrab) - { - var thisPosition = pivotPoint; - var otherPosition = otherGrab.pivotPoint; - var rayToRay = otherPosition - thisPosition; - m_StartMidPoint = thisPosition + rayToRay * 0.5f; - m_StartDistance = Vector3.Distance(thisPosition, otherPosition); - - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrab.rayOrigin.rotation, 0.5f); - m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.up)); - m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.forward)); - - for (var i = 0; i < grabbedObjects.Length; i++) - { - var grabbedObject = grabbedObjects[i]; - m_PositionOffsets[i] = grabbedObject.position - m_StartMidPoint; - m_RotationOffsets[i] = grabbedObject.rotation; - } - } - } - - class TransformAction : IAction, ITooltip - { - internal Func execute; - public string tooltipText { get; internal set; } - public Sprite icon { get; internal set; } - - public void ExecuteAction() - { - if (execute != null) - execute(); - } - } - - public List actions - { - get - { - if (!this.IsSharedUpdater(this)) - return null; - - if (m_Actions == null) - { - m_Actions = new List - { - m_PivotModeToggleAction, - m_PivotRotationToggleAction, - m_ManipulatorToggleAction - }; - } - return m_Actions; - } - } - - List m_Actions; - - [SerializeField] - Sprite m_OriginCenterIcon; - - [SerializeField] - Sprite m_OriginPivotIcon; - - [SerializeField] - Sprite m_RotationGlobalIcon; - - [SerializeField] - Sprite m_RotationLocalIcon; - - [SerializeField] - Sprite m_StandardManipulatorIcon; - - [SerializeField] - Sprite m_ScaleManipulatorIcon; - - [SerializeField] - GameObject m_StandardManipulatorPrefab; - - [SerializeField] - GameObject m_ScaleManipulatorPrefab; - - [SerializeField] - ActionMap m_ActionMap; - - [SerializeField] - HapticPulse m_DragPulse; - - [SerializeField] - HapticPulse m_RotatePulse; - - BaseManipulator m_CurrentManipulator; - - BaseManipulator m_StandardManipulator; - BaseManipulator m_ScaleManipulator; - - Bounds m_SelectionBounds; - Vector3 m_TargetPosition; - Quaternion m_TargetRotation; - Vector3 m_TargetScale; - Quaternion m_PositionOffsetRotation; - Quaternion m_StartRotation; - - readonly Dictionary m_PositionOffsets = new Dictionary(); - readonly Dictionary m_RotationOffsets = new Dictionary(); - readonly Dictionary m_ScaleOffsets = new Dictionary(); - - PivotRotation m_PivotRotation = PivotRotation.Local; - PivotMode m_PivotMode = PivotMode.Pivot; - - readonly Dictionary m_GrabData = new Dictionary(); - bool m_DirectSelected; - Node m_ScaleFirstNode; - bool m_Scaling; - bool m_CurrentlySnapping; - - TransformInput m_Input; - - readonly TransformAction m_PivotModeToggleAction = new TransformAction(); - readonly TransformAction m_PivotRotationToggleAction = new TransformAction(); - readonly TransformAction m_ManipulatorToggleAction = new TransformAction(); - - public event Action> objectsGrabbed; - public event Action objectsDropped; - public event Action objectsTransferred; - - public bool manipulatorVisible { private get; set; } + sealed class TransformTool : MonoBehaviour, ITool, ITransformer, ISelectionChanged, IActions, IUsesDirectSelection, + IGrabObjects, ISelectObject, IManipulatorController, IUsesSnapping, ISetHighlight, ILinkedObject, IRayToNode, + IControlHaptics, IUsesRayOrigin, IUsesNode, ICustomActionMap, ITwoHandedScaler, IIsMainMenuVisible, + IGetRayVisibility, IRayVisibilitySettings + { + const float k_LazyFollowTranslate = 8f; + const float k_LazyFollowRotate = 12f; + const float k_DirectLazyFollowTranslate = 20f; + const float k_DirectLazyFollowRotate = 30f; + + class GrabData + { + Vector3[] m_PositionOffsets; + Quaternion[] m_RotationOffsets; + Vector3[] m_InitialScales; + Vector3 m_StartMidPoint; + Quaternion m_UpRotationOffset; + Quaternion m_ForwardRotationOffset; + Vector3 m_GrabOffset; + float m_StartDistance; + + public Transform[] grabbedObjects { get; private set; } + public TransformInput input { get; private set; } + public Transform rayOrigin { get; private set; } + + public bool suspended { private get; set; } + + Vector3 pivotPoint { get { return rayOrigin.position + rayOrigin.rotation * m_GrabOffset; } } + + public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedObjects, Vector3 contactPoint) + { + this.rayOrigin = rayOrigin; + this.input = input; + this.grabbedObjects = grabbedObjects; + var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); + m_GrabOffset = inverseRotation * (contactPoint - rayOrigin.position); + Reset(); + } + + public void Reset() + { + if (suspended) + return; + + var length = grabbedObjects.Length; + m_PositionOffsets = new Vector3[length]; + m_RotationOffsets = new Quaternion[length]; + m_InitialScales = new Vector3[length]; + var pivot = pivotPoint; + for (var i = 0; i < length; i++) + { + var grabbedTransform = grabbedObjects[i]; + + var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); + m_PositionOffsets[i] = inverseRotation * (grabbedTransform.transform.position - pivot); + m_RotationOffsets[i] = inverseRotation * grabbedTransform.transform.rotation; + m_InitialScales[i] = grabbedTransform.transform.localScale; + } + } + + public void UpdatePositions(IUsesSnapping usesSnapping) + { + if (suspended) + return; + + Undo.RecordObjects(grabbedObjects, "Move"); + + var rayOriginRotation = rayOrigin.rotation; + var pivot = pivotPoint; + for (var i = 0; i < grabbedObjects.Length; i++) + { + var grabbedObject = grabbedObjects[i]; + var position = grabbedObject.position; + var rotation = grabbedObject.rotation; + var targetPosition = pivot + rayOriginRotation * m_PositionOffsets[i]; + var targetRotation = rayOriginRotation * m_RotationOffsets[i]; + + if (usesSnapping.DirectSnap(rayOrigin, grabbedObject, ref position, ref rotation, targetPosition, targetRotation)) + { + var deltaTime = Time.deltaTime; + grabbedObject.position = Vector3.Lerp(grabbedObject.position, position, k_DirectLazyFollowTranslate * deltaTime); + grabbedObject.rotation = Quaternion.Lerp(grabbedObject.rotation, rotation, k_DirectLazyFollowRotate * deltaTime); + } + else + { + grabbedObject.position = targetPosition; + grabbedObject.rotation = targetRotation; + } + } + } + + public void ScaleObjects(GrabData otherGrabData) + { + if (suspended) + return; + + Undo.RecordObjects(grabbedObjects, "Move"); + + var thisPosition = pivotPoint; + var otherPosition = otherGrabData.pivotPoint; + var distance = Vector3.Distance(thisPosition, otherPosition); + var scaleFactor = distance / m_StartDistance; + if (scaleFactor > 0 && scaleFactor < Mathf.Infinity) + { + var rayToRay = otherPosition - thisPosition; + var midPoint = thisPosition + rayToRay * 0.5f; + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrabData.rayOrigin.rotation, 0.5f); + var upVector = midRotation * Vector3.up; + var forward = midRotation * Vector3.forward; + var isUp = true; //Mathf.Abs(Vector3.Dot(rayToRay, upVector)) > 0.5f; + + var grabRotation = Quaternion.LookRotation(rayToRay, isUp ? forward : upVector); + var rotationOffset = grabRotation * (isUp ? m_ForwardRotationOffset : m_UpRotationOffset); + + for (var i = 0; i < grabbedObjects.Length; i++) + { + var grabbedObject = grabbedObjects[i]; + + grabbedObject.position = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; + grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; + grabbedObject.localScale = m_InitialScales[i] * scaleFactor; + } + } + } + + public void TransferTo(Transform destRayOrigin, Vector3 deltaOffset) + { + rayOrigin = destRayOrigin; + for (var i = 0; i < m_PositionOffsets.Length; i++) + { + m_PositionOffsets[i] += deltaOffset; + } + } + + public void StartScaling(GrabData otherGrab) + { + var thisPosition = pivotPoint; + var otherPosition = otherGrab.pivotPoint; + var rayToRay = otherPosition - thisPosition; + m_StartMidPoint = thisPosition + rayToRay * 0.5f; + m_StartDistance = Vector3.Distance(thisPosition, otherPosition); + + var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrab.rayOrigin.rotation, 0.5f); + m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.up)); + m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.forward)); + + for (var i = 0; i < grabbedObjects.Length; i++) + { + var grabbedObject = grabbedObjects[i]; + m_PositionOffsets[i] = grabbedObject.position - m_StartMidPoint; + m_RotationOffsets[i] = grabbedObject.rotation; + } + } + } + + class TransformAction : IAction, ITooltip + { + internal Func execute; + public string tooltipText { get; internal set; } + public Sprite icon { get; internal set; } + + public void ExecuteAction() + { + if (execute != null) + execute(); + } + } + + public List actions + { + get + { + if (!this.IsSharedUpdater(this)) + return null; + + if (m_Actions == null) + { + m_Actions = new List + { + m_PivotModeToggleAction, + m_PivotRotationToggleAction, + m_ManipulatorToggleAction + }; + } + return m_Actions; + } + } + + List m_Actions; + + [SerializeField] + Sprite m_OriginCenterIcon; + + [SerializeField] + Sprite m_OriginPivotIcon; + + [SerializeField] + Sprite m_RotationGlobalIcon; + + [SerializeField] + Sprite m_RotationLocalIcon; + + [SerializeField] + Sprite m_StandardManipulatorIcon; + + [SerializeField] + Sprite m_ScaleManipulatorIcon; + + [SerializeField] + GameObject m_StandardManipulatorPrefab; + + [SerializeField] + GameObject m_ScaleManipulatorPrefab; + + [SerializeField] + ActionMap m_ActionMap; + + [SerializeField] + HapticPulse m_DragPulse; + + [SerializeField] + HapticPulse m_RotatePulse; + + BaseManipulator m_CurrentManipulator; + + BaseManipulator m_StandardManipulator; + BaseManipulator m_ScaleManipulator; + + Bounds m_SelectionBounds; + Vector3 m_TargetPosition; + Quaternion m_TargetRotation; + Vector3 m_TargetScale; + Quaternion m_PositionOffsetRotation; + Quaternion m_StartRotation; + + readonly Dictionary m_PositionOffsets = new Dictionary(); + readonly Dictionary m_RotationOffsets = new Dictionary(); + readonly Dictionary m_ScaleOffsets = new Dictionary(); + + PivotRotation m_PivotRotation = PivotRotation.Local; + PivotMode m_PivotMode = PivotMode.Pivot; + + readonly Dictionary m_GrabData = new Dictionary(); + bool m_DirectSelected; + Node m_ScaleFirstNode; + bool m_Scaling; + bool m_CurrentlySnapping; + + TransformInput m_Input; + + readonly TransformAction m_PivotModeToggleAction = new TransformAction(); + readonly TransformAction m_PivotRotationToggleAction = new TransformAction(); + readonly TransformAction m_ManipulatorToggleAction = new TransformAction(); + + public event Action> objectsGrabbed; + public event Action objectsDropped; + public event Action objectsTransferred; + + public bool manipulatorVisible { private get; set; } - public bool manipulatorDragging - { - get - { - return - m_StandardManipulator && m_StandardManipulator.dragging - || m_ScaleManipulator && m_ScaleManipulator.dragging; - } - } + public bool manipulatorDragging + { + get + { + return + m_StandardManipulator && m_StandardManipulator.dragging + || m_ScaleManipulator && m_ScaleManipulator.dragging; + } + } - public List linkedObjects { private get; set; } + public List linkedObjects { private get; set; } - public Transform rayOrigin { private get; set; } + public Transform rayOrigin { private get; set; } public Node node { private get; set; } - public ActionMap actionMap { get { return m_ActionMap; } } + public ActionMap actionMap { get { return m_ActionMap; } } public bool ignoreLocking { get { return false; } } - void Start() - { - if (!this.IsSharedUpdater(this)) - return; + void Start() + { + if (!this.IsSharedUpdater(this)) + return; - m_PivotModeToggleAction.execute = TogglePivotMode; - UpdatePivotModeAction(); - m_PivotRotationToggleAction.execute = TogglePivotRotation; - UpdatePivotRotationAction(); - m_ManipulatorToggleAction.execute = ToggleManipulator; - UpdateManipulatorAction(); + m_PivotModeToggleAction.execute = TogglePivotMode; + UpdatePivotModeAction(); + m_PivotRotationToggleAction.execute = TogglePivotRotation; + UpdatePivotRotationAction(); + m_ManipulatorToggleAction.execute = ToggleManipulator; + UpdateManipulatorAction(); - // Add standard and scale manipulator prefabs to a list (because you cannot add asset references directly to a serialized list) - if (m_StandardManipulatorPrefab != null) - m_StandardManipulator = CreateManipulator(m_StandardManipulatorPrefab); + // Add standard and scale manipulator prefabs to a list (because you cannot add asset references directly to a serialized list) + if (m_StandardManipulatorPrefab != null) + m_StandardManipulator = CreateManipulator(m_StandardManipulatorPrefab); - if (m_ScaleManipulatorPrefab != null) - m_ScaleManipulator = CreateManipulator(m_ScaleManipulatorPrefab); + if (m_ScaleManipulatorPrefab != null) + m_ScaleManipulator = CreateManipulator(m_ScaleManipulatorPrefab); - m_CurrentManipulator = m_StandardManipulator; - } + m_CurrentManipulator = m_StandardManipulator; + } - public void OnSelectionChanged() - { - if (!this.IsSharedUpdater(this)) - return; - - if (Selection.gameObjects.Length == 0) - m_CurrentManipulator.gameObject.SetActive(false); - else - UpdateCurrentManipulator(); - } + public void OnSelectionChanged() + { + if (!this.IsSharedUpdater(this)) + return; + + if (Selection.gameObjects.Length == 0) + m_CurrentManipulator.gameObject.SetActive(false); + else + UpdateCurrentManipulator(); + } - public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeControl) - { - m_Input = (TransformInput)input; + public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeControl) + { + m_Input = (TransformInput)input; - if (!this.IsSharedUpdater(this)) - return; + if (!this.IsSharedUpdater(this)) + return; - var hasObject = false; - var manipulatorGameObject = m_CurrentManipulator.gameObject; - if (!m_CurrentManipulator.dragging) - { - var directSelection = this.GetDirectSelection(); + var hasObject = false; + var manipulatorGameObject = m_CurrentManipulator.gameObject; + if (!m_CurrentManipulator.dragging) + { + var directSelection = this.GetDirectSelection(); - var hasLeft = m_GrabData.ContainsKey(Node.LeftHand); - var hasRight = m_GrabData.ContainsKey(Node.RightHand); - hasObject = directSelection.Count > 0 || hasLeft || hasRight; + var hasLeft = m_GrabData.ContainsKey(Node.LeftHand); + var hasRight = m_GrabData.ContainsKey(Node.RightHand); + hasObject = directSelection.Count > 0 || hasLeft || hasRight; - var hoveringSelection = false; - foreach (var selection in directSelection.Values) - { - if (Selection.gameObjects.Contains(selection.gameObject)) - { - hoveringSelection = true; - break; - } - } - - // Disable manipulator on direct hover or drag - if (manipulatorGameObject.activeSelf && (hoveringSelection || hasLeft || hasRight)) - manipulatorGameObject.SetActive(false); - - foreach (var kvp in directSelection) - { - var directRayOrigin = kvp.Key; - var directSelectionData = kvp.Value; - - if (m_GrabData.Count == 0 && this.IsMainMenuVisible(directRayOrigin)) - continue; - - var directHoveredObject = directSelectionData.gameObject; - - var selectionCandidate = this.GetSelectionCandidate(directHoveredObject, true); - - // Can't select this object (it might be locked or static) - if (directHoveredObject && !selectionCandidate) - continue; - - if (selectionCandidate) - directHoveredObject = selectionCandidate; - - if (!this.CanGrabObject(directHoveredObject, directRayOrigin)) - continue; - - this.AddRayVisibilitySettings(directRayOrigin, this, false, true); // This will also disable ray selection - - if (!this.IsConeVisible(directRayOrigin)) - continue; - - var grabbingNode = this.RequestNodeFromRayOrigin(directRayOrigin); - var transformTool = linkedObjects.Cast().FirstOrDefault(linkedObject => linkedObject.node == grabbingNode); - if (transformTool == null) - continue; - - var transformInput = transformTool.m_Input; - - if (transformInput.select.wasJustPressed) - { - this.ClearSnappingState(directRayOrigin); - - consumeControl(transformInput.select); - - var grabbedObjects = new HashSet { directHoveredObject.transform }; - grabbedObjects.UnionWith(Selection.transforms); - - if (objectsGrabbed != null && !m_Scaling) - objectsGrabbed(directRayOrigin, grabbedObjects); - - var grabData = new GrabData(directRayOrigin, transformInput, grabbedObjects.ToArray(), directSelectionData.contactPoint); - m_GrabData[grabbingNode] = grabData; - - // Check if the other hand is already grabbing for two-handed scale - foreach (var grab in m_GrabData) - { - var otherNode = grab.Key; - var otherData = grab.Value; - - if (otherNode != grabbingNode && otherData.grabbedObjects.Contains(directHoveredObject.transform)) - { - m_ScaleFirstNode = otherNode; - otherData.StartScaling(grabData); - m_Scaling = true; - break; - } - } - - // A direct selection has been made. Hide the manipulator until the selection changes - m_DirectSelected = true; - - Undo.IncrementCurrentGroup(); - } - } - - GrabData leftData; - hasLeft = m_GrabData.TryGetValue(Node.LeftHand, out leftData); - - GrabData rightData; - hasRight = m_GrabData.TryGetValue(Node.RightHand, out rightData); - - var leftInput = leftData != null ? leftData.input : null; - var leftHeld = leftData != null && leftInput.select.isHeld; - var rightInput = rightData != null ? rightData.input : null; - var rightHeld = rightData != null && rightInput.select.isHeld; - - if (hasLeft) - { - if (leftInput.cancel.wasJustPressed) - { - DropHeldObjects(Node.LeftHand); - hasLeft = false; - consumeControl(leftInput.cancel); - Undo.PerformUndo(); - } - - if (leftInput.select.wasJustReleased) - { - DropHeldObjects(Node.LeftHand); - hasLeft = false; - consumeControl(leftInput.select); - } - } - - if (hasRight) - { - if (rightInput.cancel.wasJustPressed) - { - DropHeldObjects(Node.RightHand); - hasRight = false; - consumeControl(rightInput.cancel); - Undo.PerformUndo(); - } - - if (rightInput.select.wasJustReleased) - { - DropHeldObjects(Node.RightHand); - hasRight = false; - consumeControl(rightInput.select); - } - } - - if (hasLeft && hasRight && leftHeld && rightHeld && m_Scaling) // Two-handed scaling - { - var rightRayOrigin = rightData.rayOrigin; - var leftRayOrigin = leftData.rayOrigin; - if (m_ScaleFirstNode == Node.LeftHand) - { - leftData.ScaleObjects(rightData); - this.ClearSnappingState(leftRayOrigin); - } - else - { - rightData.ScaleObjects(leftData); - this.ClearSnappingState(rightRayOrigin); - } - } - else - { - // Offsets will change while scaling. Whichever hand keeps holding the trigger after scaling is done will need to reset itself - if (m_Scaling) - { - if (hasLeft) - { - leftData.Reset(); - - if (objectsTransferred != null && m_ScaleFirstNode == Node.RightHand) - objectsTransferred(rightData.rayOrigin, leftData.rayOrigin); - } - if (hasRight) - { - rightData.Reset(); - - if (objectsTransferred != null && m_ScaleFirstNode == Node.LeftHand) - objectsTransferred(leftData.rayOrigin, rightData.rayOrigin); - } - - m_Scaling = false; - } - - if (hasLeft && leftHeld) - leftData.UpdatePositions(this); - - if (hasRight && rightHeld) - rightData.UpdatePositions(this); - } - - foreach (var linkedObject in linkedObjects) - { - var transformTool = (TransformTool)linkedObject; - var rayOrigin = transformTool.rayOrigin; + var hoveringSelection = false; + foreach (var selection in directSelection.Values) + { + if (Selection.gameObjects.Contains(selection.gameObject)) + { + hoveringSelection = true; + break; + } + } + + // Disable manipulator on direct hover or drag + if (manipulatorGameObject.activeSelf && (hoveringSelection || hasLeft || hasRight)) + manipulatorGameObject.SetActive(false); + + foreach (var kvp in directSelection) + { + var directRayOrigin = kvp.Key; + var directSelectionData = kvp.Value; + + if (m_GrabData.Count == 0 && this.IsMainMenuVisible(directRayOrigin)) + continue; + + var directHoveredObject = directSelectionData.gameObject; + + var selectionCandidate = this.GetSelectionCandidate(directHoveredObject, true); + + // Can't select this object (it might be locked or static) + if (directHoveredObject && !selectionCandidate) + continue; + + if (selectionCandidate) + directHoveredObject = selectionCandidate; + + if (!this.CanGrabObject(directHoveredObject, directRayOrigin)) + continue; + + this.AddRayVisibilitySettings(directRayOrigin, this, false, true); // This will also disable ray selection + + if (!this.IsConeVisible(directRayOrigin)) + continue; + + var grabbingNode = this.RequestNodeFromRayOrigin(directRayOrigin); + var transformTool = linkedObjects.Cast().FirstOrDefault(linkedObject => linkedObject.node == grabbingNode); + if (transformTool == null) + continue; + + var transformInput = transformTool.m_Input; + + if (transformInput.select.wasJustPressed) + { + this.ClearSnappingState(directRayOrigin); + + consumeControl(transformInput.select); + + var grabbedObjects = new HashSet { directHoveredObject.transform }; + grabbedObjects.UnionWith(Selection.transforms); + + if (objectsGrabbed != null && !m_Scaling) + objectsGrabbed(directRayOrigin, grabbedObjects); + + var grabData = new GrabData(directRayOrigin, transformInput, grabbedObjects.ToArray(), directSelectionData.contactPoint); + m_GrabData[grabbingNode] = grabData; + + // Check if the other hand is already grabbing for two-handed scale + foreach (var grab in m_GrabData) + { + var otherNode = grab.Key; + var otherData = grab.Value; + + if (otherNode != grabbingNode && otherData.grabbedObjects.Contains(directHoveredObject.transform)) + { + m_ScaleFirstNode = otherNode; + otherData.StartScaling(grabData); + m_Scaling = true; + break; + } + } + + // A direct selection has been made. Hide the manipulator until the selection changes + m_DirectSelected = true; + + Undo.IncrementCurrentGroup(); + } + } + + GrabData leftData; + hasLeft = m_GrabData.TryGetValue(Node.LeftHand, out leftData); + + GrabData rightData; + hasRight = m_GrabData.TryGetValue(Node.RightHand, out rightData); + + var leftInput = leftData != null ? leftData.input : null; + var leftHeld = leftData != null && leftInput.select.isHeld; + var rightInput = rightData != null ? rightData.input : null; + var rightHeld = rightData != null && rightInput.select.isHeld; + + if (hasLeft) + { + if (leftInput.cancel.wasJustPressed) + { + DropHeldObjects(Node.LeftHand); + hasLeft = false; + consumeControl(leftInput.cancel); + Undo.PerformUndo(); + } + + if (leftInput.select.wasJustReleased) + { + DropHeldObjects(Node.LeftHand); + hasLeft = false; + consumeControl(leftInput.select); + } + } + + if (hasRight) + { + if (rightInput.cancel.wasJustPressed) + { + DropHeldObjects(Node.RightHand); + hasRight = false; + consumeControl(rightInput.cancel); + Undo.PerformUndo(); + } + + if (rightInput.select.wasJustReleased) + { + DropHeldObjects(Node.RightHand); + hasRight = false; + consumeControl(rightInput.select); + } + } + + if (hasLeft && hasRight && leftHeld && rightHeld && m_Scaling) // Two-handed scaling + { + var rightRayOrigin = rightData.rayOrigin; + var leftRayOrigin = leftData.rayOrigin; + if (m_ScaleFirstNode == Node.LeftHand) + { + leftData.ScaleObjects(rightData); + this.ClearSnappingState(leftRayOrigin); + } + else + { + rightData.ScaleObjects(leftData); + this.ClearSnappingState(rightRayOrigin); + } + } + else + { + // Offsets will change while scaling. Whichever hand keeps holding the trigger after scaling is done will need to reset itself + if (m_Scaling) + { + if (hasLeft) + { + leftData.Reset(); + + if (objectsTransferred != null && m_ScaleFirstNode == Node.RightHand) + objectsTransferred(rightData.rayOrigin, leftData.rayOrigin); + } + if (hasRight) + { + rightData.Reset(); + + if (objectsTransferred != null && m_ScaleFirstNode == Node.LeftHand) + objectsTransferred(leftData.rayOrigin, rightData.rayOrigin); + } + + m_Scaling = false; + } + + if (hasLeft && leftHeld) + leftData.UpdatePositions(this); + + if (hasRight && rightHeld) + rightData.UpdatePositions(this); + } + + foreach (var linkedObject in linkedObjects) + { + var transformTool = (TransformTool)linkedObject; + var rayOrigin = transformTool.rayOrigin; if (!(m_Scaling || directSelection.ContainsKey(rayOrigin) || m_GrabData.ContainsKey(transformTool.node))) - { - this.RemoveRayVisibilitySettings(rayOrigin, this); - } - } - } - - // Manipulator is disabled while direct manipulation is happening - if (hasObject || m_DirectSelected) - return; - - if (Selection.gameObjects.Length > 0) - { - if (!m_CurrentManipulator.dragging) - UpdateCurrentManipulator(); - - var deltaTime = Time.deltaTime; - var manipulatorTransform = manipulatorGameObject.transform; - var lerp = m_CurrentlySnapping ? 1f : k_LazyFollowTranslate * deltaTime; - manipulatorTransform.position = Vector3.Lerp(manipulatorTransform.position, m_TargetPosition, lerp); - - // Manipulator does not rotate when in global mode - if (m_PivotRotation == PivotRotation.Local && m_CurrentManipulator == m_StandardManipulator) - manipulatorTransform.rotation = Quaternion.Slerp(manipulatorTransform.rotation, m_TargetRotation, k_LazyFollowRotate * deltaTime); - - var selectionTransforms = Selection.transforms; - Undo.RecordObjects(selectionTransforms, "Move"); - - foreach (var t in selectionTransforms) - { - t.rotation = Quaternion.Slerp(t.rotation, m_TargetRotation * m_RotationOffsets[t], k_LazyFollowRotate * deltaTime); - - if (m_PivotMode == PivotMode.Center) // Rotate the position offset from the manipulator when rotating around center - { - m_PositionOffsetRotation = Quaternion.Slerp(m_PositionOffsetRotation, m_TargetRotation * Quaternion.Inverse(m_StartRotation), k_LazyFollowRotate * deltaTime); - t.position = manipulatorTransform.position + m_PositionOffsetRotation * m_PositionOffsets[t]; - } - else - { - t.position = manipulatorTransform.position + m_PositionOffsets[t]; - } - - t.localScale = Vector3.Lerp(t.localScale, Vector3.Scale(m_TargetScale, m_ScaleOffsets[t]), k_LazyFollowTranslate * deltaTime); - } - } - } - - public void Suspend(Node node) - { - GrabData grabData; - if (m_GrabData.TryGetValue(node, out grabData)) - grabData.suspended = true; - } - - public void Resume(Node node) - { - GrabData grabData; - if (m_GrabData.TryGetValue(node, out grabData)) - grabData.suspended = false; - } - - public Transform[] GetHeldObjects(Node node) - { - GrabData grabData; - return m_GrabData.TryGetValue(node, out grabData) ? grabData.grabbedObjects : null; - } - - public void TransferHeldObjects(Transform rayOrigin, Transform destRayOrigin, Vector3 deltaOffset = default(Vector3)) - { - if (!this.IsSharedUpdater(this)) - return; - - foreach (var grabData in m_GrabData.Values) - { - if (grabData.rayOrigin == rayOrigin) - { - grabData.TransferTo(destRayOrigin, deltaOffset); - this.ClearSnappingState(rayOrigin); - grabData.UpdatePositions(this); - - // Prevent lock from getting stuck - this.RemoveRayVisibilitySettings(rayOrigin, this); - this.AddRayVisibilitySettings(destRayOrigin, this, false, true); - - if (objectsTransferred != null) - objectsTransferred(rayOrigin, destRayOrigin); - - return; - } - } - } - - public void DropHeldObjects(Node node) - { - if (!this.IsSharedUpdater(this)) - return; - - var grabData = m_GrabData[node]; - var grabbedObjects = grabData.grabbedObjects; - var rayOrigin = grabData.rayOrigin; - - if (objectsDropped != null && !m_Scaling) - objectsDropped(rayOrigin, grabbedObjects); - - m_GrabData.Remove(node); - - this.RemoveRayVisibilitySettings(grabData.rayOrigin, this); - - this.ClearSnappingState(rayOrigin); - } + { + this.RemoveRayVisibilitySettings(rayOrigin, this); + } + } + } + + // Manipulator is disabled while direct manipulation is happening + if (hasObject || m_DirectSelected) + return; + + if (Selection.gameObjects.Length > 0) + { + if (!m_CurrentManipulator.dragging) + UpdateCurrentManipulator(); + + var deltaTime = Time.deltaTime; + var manipulatorTransform = manipulatorGameObject.transform; + var lerp = m_CurrentlySnapping ? 1f : k_LazyFollowTranslate * deltaTime; + manipulatorTransform.position = Vector3.Lerp(manipulatorTransform.position, m_TargetPosition, lerp); + + // Manipulator does not rotate when in global mode + if (m_PivotRotation == PivotRotation.Local && m_CurrentManipulator == m_StandardManipulator) + manipulatorTransform.rotation = Quaternion.Slerp(manipulatorTransform.rotation, m_TargetRotation, k_LazyFollowRotate * deltaTime); + + var selectionTransforms = Selection.transforms; + Undo.RecordObjects(selectionTransforms, "Move"); + + foreach (var t in selectionTransforms) + { + t.rotation = Quaternion.Slerp(t.rotation, m_TargetRotation * m_RotationOffsets[t], k_LazyFollowRotate * deltaTime); + + if (m_PivotMode == PivotMode.Center) // Rotate the position offset from the manipulator when rotating around center + { + m_PositionOffsetRotation = Quaternion.Slerp(m_PositionOffsetRotation, m_TargetRotation * Quaternion.Inverse(m_StartRotation), k_LazyFollowRotate * deltaTime); + t.position = manipulatorTransform.position + m_PositionOffsetRotation * m_PositionOffsets[t]; + } + else + { + t.position = manipulatorTransform.position + m_PositionOffsets[t]; + } + + t.localScale = Vector3.Lerp(t.localScale, Vector3.Scale(m_TargetScale, m_ScaleOffsets[t]), k_LazyFollowTranslate * deltaTime); + } + } + } + + public void Suspend(Node node) + { + GrabData grabData; + if (m_GrabData.TryGetValue(node, out grabData)) + grabData.suspended = true; + } + + public void Resume(Node node) + { + GrabData grabData; + if (m_GrabData.TryGetValue(node, out grabData)) + grabData.suspended = false; + } + + public Transform[] GetHeldObjects(Node node) + { + GrabData grabData; + return m_GrabData.TryGetValue(node, out grabData) ? grabData.grabbedObjects : null; + } + + public void TransferHeldObjects(Transform rayOrigin, Transform destRayOrigin, Vector3 deltaOffset = default(Vector3)) + { + if (!this.IsSharedUpdater(this)) + return; + + foreach (var grabData in m_GrabData.Values) + { + if (grabData.rayOrigin == rayOrigin) + { + grabData.TransferTo(destRayOrigin, deltaOffset); + this.ClearSnappingState(rayOrigin); + grabData.UpdatePositions(this); + + // Prevent lock from getting stuck + this.RemoveRayVisibilitySettings(rayOrigin, this); + this.AddRayVisibilitySettings(destRayOrigin, this, false, true); + + if (objectsTransferred != null) + objectsTransferred(rayOrigin, destRayOrigin); + + return; + } + } + } + + public void DropHeldObjects(Node node) + { + if (!this.IsSharedUpdater(this)) + return; + + var grabData = m_GrabData[node]; + var grabbedObjects = grabData.grabbedObjects; + var rayOrigin = grabData.rayOrigin; + + if (objectsDropped != null && !m_Scaling) + objectsDropped(rayOrigin, grabbedObjects); + + m_GrabData.Remove(node); + + this.RemoveRayVisibilitySettings(grabData.rayOrigin, this); + + this.ClearSnappingState(rayOrigin); + } void Translate(Vector3 delta, Transform rayOrigin, AxisFlags constraints) - { - switch (constraints) - { + { + switch (constraints) + { case AxisFlags.X | AxisFlags.Y: case AxisFlags.Y | AxisFlags.Z: case AxisFlags.X | AxisFlags.Z: - m_TargetPosition += delta; - break; - default: - m_CurrentlySnapping = this.ManipulatorSnap(rayOrigin, Selection.transforms, ref m_TargetPosition, ref m_TargetRotation, delta, constraints, m_PivotMode); - - if (constraints == 0) - m_CurrentlySnapping = false; - break; - } - - this.Pulse(this.RequestNodeFromRayOrigin(rayOrigin), m_DragPulse); - } - - void Rotate(Quaternion delta, Transform rayOrigin) - { - m_TargetRotation = delta * m_TargetRotation; - - this.Pulse(this.RequestNodeFromRayOrigin(rayOrigin), m_RotatePulse); - } - - void Scale(Vector3 delta) - { - m_TargetScale += delta; - } - - static void OnDragStarted() - { - Undo.IncrementCurrentGroup(); - } - - void OnDragEnded(Transform rayOrigin) - { - this.ClearSnappingState(rayOrigin); - } - - void UpdateSelectionBounds() - { - m_SelectionBounds = ObjectUtils.GetBounds(Selection.transforms); - } - - BaseManipulator CreateManipulator(GameObject prefab) - { - var go = ObjectUtils.Instantiate(prefab, transform, active: false); - go.SetActive(false); - var manipulator = go.GetComponent(); - manipulator.translate = Translate; - manipulator.rotate = Rotate; - manipulator.scale = Scale; - manipulator.dragStarted += OnDragStarted; - manipulator.dragEnded += OnDragEnded; - return manipulator; - } - - void UpdateCurrentManipulator() - { - var selectionTransforms = Selection.transforms; - if (selectionTransforms.Length <= 0) - return; - - var manipulatorGameObject = m_CurrentManipulator.gameObject; - manipulatorGameObject.SetActive(manipulatorVisible); - - UpdateSelectionBounds(); - var manipulatorTransform = manipulatorGameObject.transform; - var activeTransform = Selection.activeTransform ?? selectionTransforms[0]; - manipulatorTransform.position = m_PivotMode == PivotMode.Pivot ? activeTransform.position : m_SelectionBounds.center; - manipulatorTransform.rotation = m_PivotRotation == PivotRotation.Global && m_CurrentManipulator == m_StandardManipulator - ? Quaternion.identity : activeTransform.rotation; - m_TargetPosition = manipulatorTransform.position; - m_TargetRotation = manipulatorTransform.rotation; - m_StartRotation = m_TargetRotation; - m_PositionOffsetRotation = Quaternion.identity; - m_TargetScale = Vector3.one; - - // Save the initial position, rotation, and scale relative to the manipulator - m_PositionOffsets.Clear(); - m_RotationOffsets.Clear(); - m_ScaleOffsets.Clear(); - - foreach (var t in selectionTransforms) - { - m_PositionOffsets.Add(t, t.position - manipulatorTransform.position); - m_ScaleOffsets.Add(t, t.localScale); - m_RotationOffsets.Add(t, Quaternion.Inverse(manipulatorTransform.rotation) * t.rotation); - } - } - - public void OnResetDirectSelectionState() - { - m_DirectSelected = false; - } - - bool TogglePivotMode() - { - m_PivotMode = m_PivotMode == PivotMode.Pivot ? PivotMode.Center : PivotMode.Pivot; - UpdatePivotModeAction(); - UpdateCurrentManipulator(); - return true; - } - - void UpdatePivotModeAction() - { - var isCenter = m_PivotMode == PivotMode.Center; - m_PivotModeToggleAction.tooltipText = isCenter ? "Manipulator at Center" : "Manipulator at Pivot"; - m_PivotModeToggleAction.icon = isCenter ? m_OriginCenterIcon : m_OriginPivotIcon; - } - - bool TogglePivotRotation() - { - m_PivotRotation = m_PivotRotation == PivotRotation.Global ? PivotRotation.Local : PivotRotation.Global; - UpdatePivotRotationAction(); - UpdateCurrentManipulator(); - return true; - } - - void UpdatePivotRotationAction() - { - var isGlobal = m_PivotRotation == PivotRotation.Global; - m_PivotRotationToggleAction.tooltipText = isGlobal ? "Local Rotation" : "Global Rotation"; - m_PivotRotationToggleAction.icon = isGlobal ? m_RotationGlobalIcon : m_RotationLocalIcon; - } - - bool ToggleManipulator() - { - m_CurrentManipulator.gameObject.SetActive(false); - - m_CurrentManipulator = m_CurrentManipulator == m_StandardManipulator ? m_ScaleManipulator : m_StandardManipulator; - UpdateManipulatorAction(); - UpdateCurrentManipulator(); - return true; - } - - void UpdateManipulatorAction() - { - var isStandard = m_CurrentManipulator == m_StandardManipulator; - m_ManipulatorToggleAction.tooltipText = isStandard ? "Switch to Scale Manipulator" : "Switch to Standard Manipulator"; - m_ManipulatorToggleAction.icon = isStandard ? m_ScaleManipulatorIcon : m_StandardManipulatorIcon; - } - - public bool IsTwoHandedScaling(Transform rayOrigin) - { - return m_Scaling && m_GrabData.Any(kvp => kvp.Value.rayOrigin == rayOrigin); - } - } + m_TargetPosition += delta; + break; + default: + m_CurrentlySnapping = this.ManipulatorSnap(rayOrigin, Selection.transforms, ref m_TargetPosition, ref m_TargetRotation, delta, constraints, m_PivotMode); + + if (constraints == 0) + m_CurrentlySnapping = false; + break; + } + + this.Pulse(this.RequestNodeFromRayOrigin(rayOrigin), m_DragPulse); + } + + void Rotate(Quaternion delta, Transform rayOrigin) + { + m_TargetRotation = delta * m_TargetRotation; + + this.Pulse(this.RequestNodeFromRayOrigin(rayOrigin), m_RotatePulse); + } + + void Scale(Vector3 delta) + { + m_TargetScale += delta; + } + + static void OnDragStarted() + { + Undo.IncrementCurrentGroup(); + } + + void OnDragEnded(Transform rayOrigin) + { + this.ClearSnappingState(rayOrigin); + } + + void UpdateSelectionBounds() + { + m_SelectionBounds = ObjectUtils.GetBounds(Selection.transforms); + } + + BaseManipulator CreateManipulator(GameObject prefab) + { + var go = ObjectUtils.Instantiate(prefab, transform, active: false); + go.SetActive(false); + var manipulator = go.GetComponent(); + manipulator.translate = Translate; + manipulator.rotate = Rotate; + manipulator.scale = Scale; + manipulator.dragStarted += OnDragStarted; + manipulator.dragEnded += OnDragEnded; + return manipulator; + } + + void UpdateCurrentManipulator() + { + var selectionTransforms = Selection.transforms; + if (selectionTransforms.Length <= 0) + return; + + var manipulatorGameObject = m_CurrentManipulator.gameObject; + manipulatorGameObject.SetActive(manipulatorVisible); + + UpdateSelectionBounds(); + var manipulatorTransform = manipulatorGameObject.transform; + var activeTransform = Selection.activeTransform ?? selectionTransforms[0]; + manipulatorTransform.position = m_PivotMode == PivotMode.Pivot ? activeTransform.position : m_SelectionBounds.center; + manipulatorTransform.rotation = m_PivotRotation == PivotRotation.Global && m_CurrentManipulator == m_StandardManipulator + ? Quaternion.identity : activeTransform.rotation; + m_TargetPosition = manipulatorTransform.position; + m_TargetRotation = manipulatorTransform.rotation; + m_StartRotation = m_TargetRotation; + m_PositionOffsetRotation = Quaternion.identity; + m_TargetScale = Vector3.one; + + // Save the initial position, rotation, and scale relative to the manipulator + m_PositionOffsets.Clear(); + m_RotationOffsets.Clear(); + m_ScaleOffsets.Clear(); + + foreach (var t in selectionTransforms) + { + m_PositionOffsets.Add(t, t.position - manipulatorTransform.position); + m_ScaleOffsets.Add(t, t.localScale); + m_RotationOffsets.Add(t, Quaternion.Inverse(manipulatorTransform.rotation) * t.rotation); + } + } + + public void OnResetDirectSelectionState() + { + m_DirectSelected = false; + } + + bool TogglePivotMode() + { + m_PivotMode = m_PivotMode == PivotMode.Pivot ? PivotMode.Center : PivotMode.Pivot; + UpdatePivotModeAction(); + UpdateCurrentManipulator(); + return true; + } + + void UpdatePivotModeAction() + { + var isCenter = m_PivotMode == PivotMode.Center; + m_PivotModeToggleAction.tooltipText = isCenter ? "Manipulator at Center" : "Manipulator at Pivot"; + m_PivotModeToggleAction.icon = isCenter ? m_OriginCenterIcon : m_OriginPivotIcon; + } + + bool TogglePivotRotation() + { + m_PivotRotation = m_PivotRotation == PivotRotation.Global ? PivotRotation.Local : PivotRotation.Global; + UpdatePivotRotationAction(); + UpdateCurrentManipulator(); + return true; + } + + void UpdatePivotRotationAction() + { + var isGlobal = m_PivotRotation == PivotRotation.Global; + m_PivotRotationToggleAction.tooltipText = isGlobal ? "Local Rotation" : "Global Rotation"; + m_PivotRotationToggleAction.icon = isGlobal ? m_RotationGlobalIcon : m_RotationLocalIcon; + } + + bool ToggleManipulator() + { + m_CurrentManipulator.gameObject.SetActive(false); + + m_CurrentManipulator = m_CurrentManipulator == m_StandardManipulator ? m_ScaleManipulator : m_StandardManipulator; + UpdateManipulatorAction(); + UpdateCurrentManipulator(); + return true; + } + + void UpdateManipulatorAction() + { + var isStandard = m_CurrentManipulator == m_StandardManipulator; + m_ManipulatorToggleAction.tooltipText = isStandard ? "Switch to Scale Manipulator" : "Switch to Standard Manipulator"; + m_ManipulatorToggleAction.icon = isStandard ? m_ScaleManipulatorIcon : m_StandardManipulatorIcon; + } + + public bool IsTwoHandedScaling(Transform rayOrigin) + { + return m_Scaling && m_GrabData.Any(kvp => kvp.Value.rayOrigin == rayOrigin); + } + } } #endif From 6b847be3eaaf7ba924b117203d94802468d0568f Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 10:41:56 -0700 Subject: [PATCH 04/75] Remove old Hydra models (unused/unsupported) --- Models/Hydra.meta | 9 --- Models/Hydra/Hydra_Frozen_Low.obj | 3 - Models/Hydra/Hydra_Frozen_Low.obj.meta | 78 ---------------------- Models/Hydra/Materials.meta | 9 --- Models/Hydra/Materials/DefaultMat.mat | 76 --------------------- Models/Hydra/Materials/DefaultMat.mat.meta | 8 --- Models/Hydra/attribution.txt | 2 - Models/Hydra/attribution.txt.meta | 8 --- 8 files changed, 193 deletions(-) delete mode 100644 Models/Hydra.meta delete mode 100644 Models/Hydra/Hydra_Frozen_Low.obj delete mode 100644 Models/Hydra/Hydra_Frozen_Low.obj.meta delete mode 100644 Models/Hydra/Materials.meta delete mode 100644 Models/Hydra/Materials/DefaultMat.mat delete mode 100644 Models/Hydra/Materials/DefaultMat.mat.meta delete mode 100644 Models/Hydra/attribution.txt delete mode 100644 Models/Hydra/attribution.txt.meta diff --git a/Models/Hydra.meta b/Models/Hydra.meta deleted file mode 100644 index d9546e302..000000000 --- a/Models/Hydra.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 10af0900ab00f9945b14f9cab40ad9b4 -folderAsset: yes -timeCreated: 1445366405 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Models/Hydra/Hydra_Frozen_Low.obj b/Models/Hydra/Hydra_Frozen_Low.obj deleted file mode 100644 index d61443ec5..000000000 --- a/Models/Hydra/Hydra_Frozen_Low.obj +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4c981ac70fb881f265ee32cfc25ebfd3a815e3e2a106ae2f31ee2dd54dacaba -size 371294 diff --git a/Models/Hydra/Hydra_Frozen_Low.obj.meta b/Models/Hydra/Hydra_Frozen_Low.obj.meta deleted file mode 100644 index 102fdf640..000000000 --- a/Models/Hydra/Hydra_Frozen_Low.obj.meta +++ /dev/null @@ -1,78 +0,0 @@ -fileFormatVersion: 2 -guid: a43b8c7f366395a46967bbd682a524ed -timeCreated: 1445366418 -licenseType: Pro -ModelImporter: - serializedVersion: 19 - fileIDToRecycleName: - 100000: Default - 100002: //RootNode - 400000: Default - 400002: //RootNode - 2300000: Default - 3300000: Default - 4300000: Default - materials: - importMaterials: 1 - materialName: 0 - materialSearch: 1 - animations: - legacyGenerateAnimations: 4 - bakeSimulation: 0 - resampleRotations: 1 - optimizeGameObjects: 0 - motionNodeName: - animationImportErrors: - animationImportWarnings: - animationRetargetingWarnings: - animationDoRetargetingWarnings: 0 - animationCompression: 1 - animationRotationError: 0.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - clipAnimations: [] - isReadable: 1 - meshes: - lODScreenPercentages: [] - globalScale: 0.1 - meshCompression: 0 - addColliders: 0 - importBlendShapes: 1 - swapUVChannels: 0 - generateSecondaryUV: 0 - useFileUnits: 1 - optimizeMeshForGPU: 1 - keepQuads: 0 - weldVertices: 1 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - secondaryUVPackMargin: 4 - useFileScale: 1 - tangentSpace: - normalSmoothAngle: 60 - normalImportMode: 0 - tangentImportMode: 4 - importAnimation: 1 - copyAvatar: 0 - humanDescription: - human: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - rootMotionBoneName: - hasTranslationDoF: 0 - lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 - humanoidOversampling: 1 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Models/Hydra/Materials.meta b/Models/Hydra/Materials.meta deleted file mode 100644 index 29c1730ed..000000000 --- a/Models/Hydra/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 5d040682e5c91a840a5cba644cd35e9f -folderAsset: yes -timeCreated: 1445366417 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Models/Hydra/Materials/DefaultMat.mat b/Models/Hydra/Materials/DefaultMat.mat deleted file mode 100644 index fa6761276..000000000 --- a/Models/Hydra/Materials/DefaultMat.mat +++ /dev/null @@ -1,76 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: DefaultMat - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 1 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Models/Hydra/Materials/DefaultMat.mat.meta b/Models/Hydra/Materials/DefaultMat.mat.meta deleted file mode 100644 index a32ae8dcd..000000000 --- a/Models/Hydra/Materials/DefaultMat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c7636fdba924e9c498a9f0c985cf05b5 -timeCreated: 1445366417 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Models/Hydra/attribution.txt b/Models/Hydra/attribution.txt deleted file mode 100644 index a078199b8..000000000 --- a/Models/Hydra/attribution.txt +++ /dev/null @@ -1,2 +0,0 @@ -Model from: http://www.zspline.net/blog/2012/01/15/the-razer-hydra-3d-model/ -Original posted on http://sixense.com/forum/vbulletin/showthread.php?3077-3D-model-of-the-controller \ No newline at end of file diff --git a/Models/Hydra/attribution.txt.meta b/Models/Hydra/attribution.txt.meta deleted file mode 100644 index b2eb67759..000000000 --- a/Models/Hydra/attribution.txt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 743f126ff2c039f4f96c31fe85c6e560 -timeCreated: 1445368081 -licenseType: Pro -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: From 053a400f6a1f65a9898ac2cfad0a884347eec428 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 10:42:56 -0700 Subject: [PATCH 05/75] Replace OVRInput dependency with built-in legacy input --- Scripts/Input/OVRTouchInputToEvents.cs | 163 ++++++++++++++----------- 1 file changed, 95 insertions(+), 68 deletions(-) diff --git a/Scripts/Input/OVRTouchInputToEvents.cs b/Scripts/Input/OVRTouchInputToEvents.cs index 00ce9d66e..74f1f1897 100644 --- a/Scripts/Input/OVRTouchInputToEvents.cs +++ b/Scripts/Input/OVRTouchInputToEvents.cs @@ -1,9 +1,9 @@ -using System; -using UnityEditor.Experimental.EditorVR; +#if UNITY_EDITOR +using System; +using System.Collections.Generic; using UnityEngine; using UnityEngine.InputNew; - -[assembly: OptionalDependency("OVRInput", "ENABLE_OVR_INPUT")] +using UnityEngine.XR; namespace UnityEditor.Experimental.EditorVR.Input { @@ -12,66 +12,79 @@ namespace UnityEditor.Experimental.EditorVR.Input /// sealed class OVRTouchInputToEvents : BaseInputToEvents { -#if ENABLE_OVR_INPUT const uint k_ControllerCount = 2; const int k_AxisCount = (int)VRInputDevice.VRControl.Analog9 + 1; const float k_DeadZone = 0.05f; + List m_NodeStates = new List(); + float[,] m_LastAxisValues = new float[k_ControllerCount, k_AxisCount]; Vector3[] m_LastPositionValues = new Vector3[k_ControllerCount]; Quaternion[] m_LastRotationValues = new Quaternion[k_ControllerCount]; - static readonly OVRInput.Button[] k_Buttons; - static OVRTouchInputToEvents() + static readonly VRInputDevice.VRControl[] k_Buttons = { - k_Buttons = (OVRInput.Button[])Enum.GetValues(typeof(OVRInput.Button)); - } + VRInputDevice.VRControl.Action1, + VRInputDevice.VRControl.Action2, + VRInputDevice.VRControl.LeftStickButton + }; public void Update() { - // Manually update the Touch input - OVRInput.Update(); - - if ((OVRInput.GetActiveController() & OVRInput.Controller.Touch) == 0) + active = false; + foreach (var device in UnityEngine.Input.GetJoystickNames()) { - active = false; - return; + if (device.IndexOf("Oculus Touch Controller", StringComparison.OrdinalIgnoreCase) >= 0) + { + active = true; + break; + } } - active = true; + + if (!active) + return; for (VRInputDevice.Handedness hand = VRInputDevice.Handedness.Left; (int)hand <= (int)VRInputDevice.Handedness.Right; hand++) { - OVRInput.Controller controller = hand == VRInputDevice.Handedness.Left - ? OVRInput.Controller.LTouch - : OVRInput.Controller.RTouch; - int ovrIndex = controller == OVRInput.Controller.LTouch ? 0 : 1; int deviceIndex = hand == VRInputDevice.Handedness.Left ? 3 : 4; // TODO change 3 and 4 based on virtual devices defined in InputDeviceManager (using actual hardware available) - SendButtonEvents(controller, deviceIndex); - SendAxisEvents(controller, ovrIndex, deviceIndex); - SendTrackingEvents(controller, ovrIndex, deviceIndex); + SendButtonEvents(hand, deviceIndex); + SendAxisEvents(hand, deviceIndex); + SendTrackingEvents(hand, deviceIndex); } } - private bool GetAxis(OVRInput.Controller controller, VRInputDevice.VRControl axis, out float value) + bool GetAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl axis, out float value) { switch (axis) { case VRInputDevice.VRControl.Trigger1: - value = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, controller); + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Trigger"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Trigger"); return true; case VRInputDevice.VRControl.Trigger2: - value = OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, controller); + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Grip"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Grip"); return true; case VRInputDevice.VRControl.LeftStickX: - value = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, controller).x; + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Horizontal"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Horizontal"); return true; case VRInputDevice.VRControl.LeftStickY: - value = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, controller).y; + if (hand == VRInputDevice.Handedness.Left) + value = -1f * UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Vertical"); + else + value = -1f * UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Vertical"); return true; } @@ -79,14 +92,14 @@ private bool GetAxis(OVRInput.Controller controller, VRInputDevice.VRControl axi return false; } - private void SendAxisEvents(OVRInput.Controller controller, int ovrIndex, int deviceIndex) + void SendAxisEvents(VRInputDevice.Handedness hand, int deviceIndex) { for (var axis = 0; axis < k_AxisCount; ++axis) { float value; - if (GetAxis(controller, (VRInputDevice.VRControl)axis, out value)) + if (GetAxis(hand, (VRInputDevice.VRControl)axis, out value)) { - if (Mathf.Approximately(m_LastAxisValues[ovrIndex, axis], value)) + if (Mathf.Approximately(m_LastAxisValues[(int)hand, axis], value)) continue; if (Mathf.Abs(value) < k_DeadZone) @@ -98,64 +111,78 @@ private void SendAxisEvents(OVRInput.Controller controller, int ovrIndex, int de inputEvent.controlIndex = axis; inputEvent.value = value; - m_LastAxisValues[ovrIndex, axis] = inputEvent.value; + m_LastAxisValues[(int)hand, axis] = inputEvent.value; InputSystem.QueueEvent(inputEvent); } } } - private int GetButtonIndex(OVRInput.Button button) + string GetButtonAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl button) { switch (button) { - case OVRInput.Button.One: - return (int)VRInputDevice.VRControl.Action1; - - case OVRInput.Button.Two: - return (int)VRInputDevice.VRControl.Action2; - - case OVRInput.Button.PrimaryThumbstick: - return (int)VRInputDevice.VRControl.LeftStickButton; + case VRInputDevice.VRControl.Action1: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_PrimaryButton"; + else + return "XRI_Right_PrimaryButton"; + + case VRInputDevice.VRControl.Action2: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_SecondaryButton"; + else + return "XRI_Right_SecondaryButton"; + + case VRInputDevice.VRControl.LeftStickButton: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_Primary2DAxisClick"; + else + return "XRI_Right_Primary2DAxisClick"; } // Not all buttons are currently mapped - return -1; + return null; } - private void SendButtonEvents(OVRInput.Controller ovrController, int deviceIndex) + void SendButtonEvents(VRInputDevice.Handedness hand, int deviceIndex) { - foreach (OVRInput.Button button in k_Buttons) + foreach (VRInputDevice.VRControl button in k_Buttons) { - int buttonIndex = GetButtonIndex(button); - if (buttonIndex >= 0) + var axis = GetButtonAxis(hand, button); + + bool isDown = UnityEngine.Input.GetButtonDown(axis); + bool isUp = UnityEngine.Input.GetButtonUp(axis); + + if (isDown || isUp) { - bool isDown = OVRInput.GetDown(button, ovrController); - bool isUp = OVRInput.GetUp(button, ovrController); - - if (isDown || isUp) - { - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.controlIndex = buttonIndex; - inputEvent.value = isDown ? 1.0f : 0.0f; - - InputSystem.QueueEvent(inputEvent); - } + var inputEvent = InputSystem.CreateEvent(); + inputEvent.deviceType = typeof(VRInputDevice); + inputEvent.deviceIndex = deviceIndex; + inputEvent.controlIndex = (int)button; + inputEvent.value = isDown ? 1.0f : 0.0f; + + InputSystem.QueueEvent(inputEvent); } } } - private void SendTrackingEvents(OVRInput.Controller ovrController, int ovrIndex, int deviceIndex) + void SendTrackingEvents(VRInputDevice.Handedness hand, int deviceIndex) { - if (!OVRInput.GetControllerPositionTracked(ovrController)) - return; + XRNode node = hand == VRInputDevice.Handedness.Left ? XRNode.LeftHand : XRNode.RightHand; + + InputTracking.GetNodeStates(m_NodeStates); + + foreach (var nodeState in m_NodeStates) + { + if (nodeState.nodeType == node && !nodeState.tracked) + return; + } - var localPosition = OVRInput.GetLocalControllerPosition(ovrController); - var localRotation = OVRInput.GetLocalControllerRotation(ovrController); + var localPosition = InputTracking.GetLocalPosition(node); + var localRotation = InputTracking.GetLocalRotation(node); - if (localPosition == m_LastPositionValues[ovrIndex] && localRotation == m_LastRotationValues[ovrIndex]) + if (localPosition == m_LastPositionValues[(int)hand] && localRotation == m_LastRotationValues[(int)hand]) return; var inputEvent = InputSystem.CreateEvent(); @@ -164,11 +191,11 @@ private void SendTrackingEvents(OVRInput.Controller ovrController, int ovrIndex, inputEvent.localPosition = localPosition; inputEvent.localRotation = localRotation; - m_LastPositionValues[ovrIndex] = inputEvent.localPosition; - m_LastRotationValues[ovrIndex] = inputEvent.localRotation; + m_LastPositionValues[(int)hand] = inputEvent.localPosition; + m_LastRotationValues[(int)hand] = inputEvent.localRotation; InputSystem.QueueEvent(inputEvent); } -#endif } } +#endif \ No newline at end of file From d05977db027b290ce26f7468af7f5a54ee2c5103 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 10:45:34 -0700 Subject: [PATCH 06/75] Use built-in UserPresenceState --- Scripts/Core/VRView.cs | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 2069ed870..9ca99f288 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -524,17 +524,7 @@ void UpdateHMDStatus() internal static bool GetIsUserPresent() { -#if UNITY_2017_2_OR_NEWER -#if ENABLE_OVR_INPUT - if (XRSettings.loadedDeviceName == "Oculus") - return OVRPlugin.userPresent; -#endif -#if ENABLE_STEAMVR_INPUT - if (XRSettings.loadedDeviceName == "OpenVR") - return OpenVR.System.GetTrackedDeviceActivityLevel(0) == EDeviceActivityLevel.k_EDeviceActivityLevel_UserInteraction; -#endif -#endif - return false; + return XRDevice.userPresence == UserPresenceState.Present; } void SetGameViewsAutoRepaint(bool enabled) From 3effef5f5220f2f8e0e4834722305d1380600b42 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 10:47:00 -0700 Subject: [PATCH 07/75] Remove partner SDK warning --- Scripts/Core/EditorVR.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 4cb91adf7..3c7f8dafd 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -126,10 +126,6 @@ static void HandleInitialization() if (!PlayerSettings.virtualRealitySupported) Debug.Log("EditorXR requires VR support. Please check Virtual Reality Supported in Edit->Project Settings->Player->XR Settings"); #endif - -#if !ENABLE_OVR_INPUT && !ENABLE_STEAMVR_INPUT && !ENABLE_SIXENSE_INPUT - Debug.Log("EditorVR requires at least one partner (e.g. Oculus, Vive) SDK to be installed for input. You can download these from the Asset Store or from the partner's website"); -#endif } // Add EVR tags and layers if they don't exist From bf9d6869a12924a4216a9dc2e0cc1ae00be1c4a7 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 10:47:51 -0700 Subject: [PATCH 08/75] Replace OVRInput haptics with built-in (WIP) --- .../Modules/HapticsModule/HapticsModule.cs | 61 ++++++++++++++++++- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index 54188e56f..fd45416a6 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -1,6 +1,8 @@ using System; +using System.IO; using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; +using UnityEngine.XR; namespace UnityEditor.Experimental.EditorVR.Modules { @@ -22,6 +24,10 @@ sealed class HapticsModule : MonoBehaviour, ISystemModule OVRHaptics.OVRHapticsChannel m_LHapticsChannel; OVRHaptics.OVRHapticsChannel m_RHapticsChannel; OVRHapticsClip m_GeneratedHapticClip; +#else + InputDevice m_LeftHand; + InputDevice m_RightHand; + MemoryStream m_GeneratedHapticClip; #endif /// @@ -35,6 +41,18 @@ void Start() m_LHapticsChannel = OVRHaptics.LeftChannel; m_RHapticsChannel = OVRHaptics.RightChannel; m_GeneratedHapticClip = new OVRHapticsClip(); +#else + m_LeftHand = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand); + m_RightHand = InputDevices.GetDeviceAtXRNode(XRNode.RightHand); + HapticCapabilities caps; + m_LeftHand.TryGetHapticCapabilities(out caps); + Debug.Log(caps.numChannels); + Debug.Log(caps.supportsBuffer); + Debug.Log(caps.supportsImpulse); + Debug.Log(caps.bufferMaxSize); + Debug.Log(caps.bufferFrequencyHz); + Debug.Log(caps.bufferOptimalSize); + m_GeneratedHapticClip = new MemoryStream(); #endif } @@ -62,6 +80,10 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = #if ENABLE_OVR_INPUT m_GeneratedHapticClip.Reset(); +#else + m_GeneratedHapticClip.Seek(0, SeekOrigin.Begin); + m_GeneratedHapticClip.SetLength(0); +#endif var duration = hapticPulse.duration * durationMultiplier; var intensity = hapticPulse.intensity * intensityMultiplier; @@ -94,7 +116,12 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = else if (fadeOut && i > durationFadeOutPosition) sampleShaped = Mathf.Lerp(0, intensity, (duration - i) / fadeOutSampleCount); - m_GeneratedHapticClip.WriteSample(Convert.ToByte(sampleShaped)); + var sampleByte = Convert.ToByte(sampleShaped); +#if ENABLE_OVR_INPUT + m_GeneratedHapticClip.WriteSample(sampleByte); +#else + m_GeneratedHapticClip.WriteByte(sampleByte); +#endif } const float kMaxSimultaneousClipDuration = 0.25f; @@ -103,6 +130,7 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = { // Prevent multiple long clips from playing back simultaneously // If the new clip has a long duration, stop playback of any existing clips in order to prevent haptic feedback noise +#if ENABLE_OVR_INPUT if (channel != null) { channel.Preempt(m_GeneratedHapticClip); @@ -112,7 +140,21 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = m_RHapticsChannel.Preempt(m_GeneratedHapticClip); m_LHapticsChannel.Preempt(m_GeneratedHapticClip); } +#else + StopPulses(); + var buffer = m_GeneratedHapticClip.GetBuffer(); + if (node == Node.None) + { + m_LeftHand.SendHapticBuffer(0, buffer); + m_RightHand.SendHapticBuffer(0, buffer); + } + else + { + channel.SendHapticBuffer(0, buffer); + } +#endif } +#if ENABLE_OVR_INPUT else { // Allow multiple short clips to play simultaneously @@ -131,12 +173,14 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = public void StopPulses(Node node) { -#if ENABLE_OVR_INPUT var channel = GetTargetChannel(node); +#if ENABLE_OVR_INPUT if (channel != null) channel.Clear(); else Debug.LogWarning("Only null, or valid ray origins can stop pulse playback."); +#else + channel.StopHaptics(); #endif } @@ -145,6 +189,9 @@ public void StopPulses() #if ENABLE_OVR_INPUT m_RHapticsChannel.Clear(); m_LHapticsChannel.Clear(); +#else + m_LeftHand.StopHaptics(); + m_RightHand.StopHaptics(); #endif } @@ -170,6 +217,16 @@ OVRHaptics.OVRHapticsChannel GetTargetChannel(Node node) return channel; } +#else + InputDevice GetTargetChannel(Node node) + { + if (node == Node.LeftHand) + return m_LeftHand; + if (node == Node.RightHand) + return m_RightHand; + + return default(InputDevice); + } #endif } } From cf8b1f750e7196eed99e03e6658e201af46cf897 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 13:34:48 -0700 Subject: [PATCH 09/75] Fix compiler errors; Use [SettingsProvider] instead of [PreferenceItem] (deprecated) --- .../Core/Contexts/EditingContextManager.cs | 71 +++++++++++-------- .../Modules/HapticsModule/HapticsModule.cs | 2 - 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index 029b0b767..dab84bbac 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -149,48 +149,57 @@ static void EditProjectSettings() Selection.activeObject = settings; } - [PreferenceItem("EditorXR")] - static void PreferencesGUI() + [SettingsProvider] + static SettingsProvider CreateSettingsProvider() { - EditorGUILayout.LabelField("Context Manager", EditorStyles.boldLabel); - - // Auto open an EditorXR context + var provider = new SettingsProvider("Project/EditorXR", SettingsScope.Project) { - const string title = "Auto open"; - const string tooltip = "Automatically open an EditorXR context when the HMD is being worn"; - - using (var change = new EditorGUI.ChangeCheckScope()) + label = "EditorXR", + guiHandler = (searchContext) => { - autoOpen = EditorGUILayout.Toggle(new GUIContent(title, tooltip), autoOpen); + EditorGUILayout.LabelField("Context Manager", EditorStyles.boldLabel); + + // Auto open an EditorXR context + { + const string title = "Auto open"; + const string tooltip = "Automatically open an EditorXR context when the HMD is being worn"; - if (change.changed) - OnAutoOpenStateChanged(); + using (var change = new EditorGUI.ChangeCheckScope()) + { + autoOpen = EditorGUILayout.Toggle(new GUIContent(title, tooltip), autoOpen); + + if (change.changed) + OnAutoOpenStateChanged(); + + if (s_EnableXRFailed) + { + const float retryButtonWidth = 70f; + EditorGUILayout.HelpBox("Failed to initialize XR session. Check that your device and platform software are working properly.", MessageType.Warning); + if (GUILayout.Button("Retry", GUILayout.Width(retryButtonWidth))) + { + s_EnableXRFailed = false; + OnAutoOpenStateChanged(); + } + } + } + } - if (s_EnableXRFailed) + var contextTypes = ObjectUtils.GetImplementationsOfInterface(typeof(IEditingContext)); + foreach (var contextType in contextTypes) { - const float retryButtonWidth = 70f; - EditorGUILayout.HelpBox("Failed to initialize XR session. Check that your device and platform software are working properly.", MessageType.Warning); - if (GUILayout.Button("Retry", GUILayout.Width(retryButtonWidth))) + var preferencesGUIMethod = contextType.GetMethod("PreferencesGUI", BindingFlags.Static | BindingFlags.NonPublic); + if (preferencesGUIMethod != null) { - s_EnableXRFailed = false; - OnAutoOpenStateChanged(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.LabelField(contextType.Name.Replace("Context", string.Empty), EditorStyles.boldLabel); + preferencesGUIMethod.Invoke(null, null); } } } - } + }; - var contextTypes = ObjectUtils.GetImplementationsOfInterface(typeof(IEditingContext)); - foreach (var contextType in contextTypes) - { - var preferencesGUIMethod = contextType.GetMethod("PreferencesGUI", BindingFlags.Static | BindingFlags.NonPublic); - if (preferencesGUIMethod != null) - { - EditorGUILayout.Space(); - EditorGUILayout.Space(); - EditorGUILayout.LabelField(contextType.Name.Replace("Context", string.Empty), EditorStyles.boldLabel); - preferencesGUIMethod.Invoke(null, null); - } - } + return provider; } static void OnAutoOpenStateChanged() diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index fd45416a6..8c1a8916b 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -49,9 +49,7 @@ void Start() Debug.Log(caps.numChannels); Debug.Log(caps.supportsBuffer); Debug.Log(caps.supportsImpulse); - Debug.Log(caps.bufferMaxSize); Debug.Log(caps.bufferFrequencyHz); - Debug.Log(caps.bufferOptimalSize); m_GeneratedHapticClip = new MemoryStream(); #endif } From 771353180d0415ef3b6e43f9d1888bdad80440de Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 15:29:55 -0700 Subject: [PATCH 10/75] Create BaseVRInputToEvents base class; Remove SteamVR dependencies --- EXR.asmdef | 12 +- Scripts/Core/VRView.cs | 3 - Scripts/Input/BaseInputToEvents.cs | 2 +- Scripts/Input/BaseVRInputToEvents.cs | 200 ++++++++++++++++++ Scripts/Input/BaseVRInputToEvents.cs.meta | 12 ++ Scripts/Input/OVRTouchInputToEvents.cs | 189 +---------------- Scripts/Input/ViveInputToEvents.cs | 192 +++-------------- .../Modules/HapticsModule/HapticsModule.cs | 80 +------ libs/input-prototype | 2 +- 9 files changed, 255 insertions(+), 437 deletions(-) create mode 100644 Scripts/Input/BaseVRInputToEvents.cs create mode 100644 Scripts/Input/BaseVRInputToEvents.cs.meta diff --git a/EXR.asmdef b/EXR.asmdef index a6cedf673..e1f45cae7 100644 --- a/EXR.asmdef +++ b/EXR.asmdef @@ -2,15 +2,19 @@ "name": "EXR", "references": [ "EXR-Dependencies", - "SteamVR", "input-prototype", "VRLR", "Unity.TextMeshPro", - "PolyToolkit", - "Oculus.VR" + "UnityEngine.SpatialTracking", + "PolyToolkit" ], "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], - "allowUnsafeCode": false + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [] } \ No newline at end of file diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 9ca99f288..e5ce5086a 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -10,9 +10,6 @@ using UnityEngine.XR; using InputTracking = UnityEngine.XR.InputTracking; using TrackingSpaceType = UnityEngine.XR.TrackingSpaceType; -#if ENABLE_STEAMVR_INPUT -using Valve.VR; -#endif namespace UnityEditor.Experimental.EditorVR.Core { diff --git a/Scripts/Input/BaseInputToEvents.cs b/Scripts/Input/BaseInputToEvents.cs index e55d68134..897ca4cdd 100644 --- a/Scripts/Input/BaseInputToEvents.cs +++ b/Scripts/Input/BaseInputToEvents.cs @@ -3,7 +3,7 @@ namespace UnityEditor.Experimental.EditorVR.Input { - class BaseInputToEvents : MonoBehaviour, IInputToEvents + abstract class BaseInputToEvents : MonoBehaviour, IInputToEvents { public bool active { diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs new file mode 100644 index 000000000..762841e27 --- /dev/null +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.InputNew; +using UnityEngine.XR; + +namespace UnityEditor.Experimental.EditorVR.Input +{ + abstract class BaseVRInputToEvents : BaseInputToEvents + { + protected virtual string DeviceName + { + get { return "Unknown VR Device"; } + } + + const uint k_ControllerCount = 2; + const int k_AxisCount = (int)VRInputDevice.VRControl.Analog9 + 1; + const float k_DeadZone = 0.05f; + + List m_NodeStates = new List(); + + float[,] m_LastAxisValues = new float[k_ControllerCount, k_AxisCount]; + Vector3[] m_LastPositionValues = new Vector3[k_ControllerCount]; + Quaternion[] m_LastRotationValues = new Quaternion[k_ControllerCount]; + static readonly VRInputDevice.VRControl[] k_Buttons = + { + VRInputDevice.VRControl.Action1, + VRInputDevice.VRControl.Action2, + VRInputDevice.VRControl.LeftStickButton + }; + + public void Update() + { + active = false; + foreach (var device in UnityEngine.Input.GetJoystickNames()) + { + if (device.IndexOf(DeviceName, StringComparison.OrdinalIgnoreCase) >= 0) + { + active = true; + break; + } + } + + if (!active) + return; + + for (VRInputDevice.Handedness hand = VRInputDevice.Handedness.Left; + (int)hand <= (int)VRInputDevice.Handedness.Right; + hand++) + { + int deviceIndex = hand == VRInputDevice.Handedness.Left ? 3 : 4; + + // TODO change 3 and 4 based on virtual devices defined in InputDeviceManager (using actual hardware available) + SendButtonEvents(hand, deviceIndex); + SendAxisEvents(hand, deviceIndex); + SendTrackingEvents(hand, deviceIndex); + } + } + + bool GetAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl axis, out float value) + { + switch (axis) + { + case VRInputDevice.VRControl.Trigger1: + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Trigger"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Trigger"); + return true; + case VRInputDevice.VRControl.Trigger2: + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Grip"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Grip"); + return true; + case VRInputDevice.VRControl.LeftStickX: + if (hand == VRInputDevice.Handedness.Left) + value = UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Horizontal"); + else + value = UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Horizontal"); + return true; + case VRInputDevice.VRControl.LeftStickY: + if (hand == VRInputDevice.Handedness.Left) + value = -1f * UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Vertical"); + else + value = -1f * UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Vertical"); + return true; + } + + value = 0f; + return false; + } + + void SendAxisEvents(VRInputDevice.Handedness hand, int deviceIndex) + { + for (var axis = 0; axis < k_AxisCount; ++axis) + { + float value; + if (GetAxis(hand, (VRInputDevice.VRControl)axis, out value)) + { + if (Mathf.Approximately(m_LastAxisValues[(int)hand, axis], value)) + continue; + + if (Mathf.Abs(value) < k_DeadZone) + value = 0; + + var inputEvent = InputSystem.CreateEvent(); + inputEvent.deviceType = typeof(VRInputDevice); + inputEvent.deviceIndex = deviceIndex; + inputEvent.controlIndex = axis; + inputEvent.value = value; + + m_LastAxisValues[(int)hand, axis] = inputEvent.value; + + InputSystem.QueueEvent(inputEvent); + } + } + } + + protected virtual string GetButtonAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl button) + { + switch (button) + { + case VRInputDevice.VRControl.Action1: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_PrimaryButton"; + else + return "XRI_Right_PrimaryButton"; + + case VRInputDevice.VRControl.Action2: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_SecondaryButton"; + else + return "XRI_Right_SecondaryButton"; + + case VRInputDevice.VRControl.LeftStickButton: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_Primary2DAxisClick"; + else + return "XRI_Right_Primary2DAxisClick"; + } + + // Not all buttons are currently mapped + return null; + } + + void SendButtonEvents(VRInputDevice.Handedness hand, int deviceIndex) + { + foreach (VRInputDevice.VRControl button in k_Buttons) + { + var axis = GetButtonAxis(hand, button); + + bool isDown = UnityEngine.Input.GetButtonDown(axis); + bool isUp = UnityEngine.Input.GetButtonUp(axis); + + if (isDown || isUp) + { + var inputEvent = InputSystem.CreateEvent(); + inputEvent.deviceType = typeof(VRInputDevice); + inputEvent.deviceIndex = deviceIndex; + inputEvent.controlIndex = (int)button; + inputEvent.value = isDown ? 1.0f : 0.0f; + + InputSystem.QueueEvent(inputEvent); + } + } + } + + void SendTrackingEvents(VRInputDevice.Handedness hand, int deviceIndex) + { + XRNode node = hand == VRInputDevice.Handedness.Left ? XRNode.LeftHand : XRNode.RightHand; + + InputTracking.GetNodeStates(m_NodeStates); + +// foreach (var nodeState in m_NodeStates) +// { +// if (nodeState.nodeType == node && !nodeState.tracked) +// return; +// } + + var localPosition = InputTracking.GetLocalPosition(node); + var localRotation = InputTracking.GetLocalRotation(node); + + if (localPosition == m_LastPositionValues[(int)hand] && localRotation == m_LastRotationValues[(int)hand]) + return; + + var inputEvent = InputSystem.CreateEvent(); + inputEvent.deviceType = typeof(VRInputDevice); + inputEvent.deviceIndex = deviceIndex; + inputEvent.localPosition = localPosition; + inputEvent.localRotation = localRotation; + + m_LastPositionValues[(int)hand] = inputEvent.localPosition; + m_LastRotationValues[(int)hand] = inputEvent.localRotation; + + InputSystem.QueueEvent(inputEvent); + } + } +} diff --git a/Scripts/Input/BaseVRInputToEvents.cs.meta b/Scripts/Input/BaseVRInputToEvents.cs.meta new file mode 100644 index 000000000..cd173e759 --- /dev/null +++ b/Scripts/Input/BaseVRInputToEvents.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ad8ea9da1084be44ca7547705f4ae91d +timeCreated: 1487123775 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/Input/OVRTouchInputToEvents.cs b/Scripts/Input/OVRTouchInputToEvents.cs index 74f1f1897..f695d71e0 100644 --- a/Scripts/Input/OVRTouchInputToEvents.cs +++ b/Scripts/Input/OVRTouchInputToEvents.cs @@ -7,194 +7,11 @@ namespace UnityEditor.Experimental.EditorVR.Input { - /// - /// Sends events to the input system based on native Oculus SDK calls - /// - sealed class OVRTouchInputToEvents : BaseInputToEvents + sealed class OVRTouchInputToEvents : BaseVRInputToEvents { - const uint k_ControllerCount = 2; - const int k_AxisCount = (int)VRInputDevice.VRControl.Analog9 + 1; - const float k_DeadZone = 0.05f; - - List m_NodeStates = new List(); - - float[,] m_LastAxisValues = new float[k_ControllerCount, k_AxisCount]; - Vector3[] m_LastPositionValues = new Vector3[k_ControllerCount]; - Quaternion[] m_LastRotationValues = new Quaternion[k_ControllerCount]; - - - static readonly VRInputDevice.VRControl[] k_Buttons = - { - VRInputDevice.VRControl.Action1, - VRInputDevice.VRControl.Action2, - VRInputDevice.VRControl.LeftStickButton - }; - - public void Update() - { - active = false; - foreach (var device in UnityEngine.Input.GetJoystickNames()) - { - if (device.IndexOf("Oculus Touch Controller", StringComparison.OrdinalIgnoreCase) >= 0) - { - active = true; - break; - } - } - - if (!active) - return; - - for (VRInputDevice.Handedness hand = VRInputDevice.Handedness.Left; - (int)hand <= (int)VRInputDevice.Handedness.Right; - hand++) - { - int deviceIndex = hand == VRInputDevice.Handedness.Left ? 3 : 4; - - // TODO change 3 and 4 based on virtual devices defined in InputDeviceManager (using actual hardware available) - SendButtonEvents(hand, deviceIndex); - SendAxisEvents(hand, deviceIndex); - SendTrackingEvents(hand, deviceIndex); - } - } - - bool GetAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl axis, out float value) - { - switch (axis) - { - case VRInputDevice.VRControl.Trigger1: - if (hand == VRInputDevice.Handedness.Left) - value = UnityEngine.Input.GetAxis("XRI_Left_Trigger"); - else - value = UnityEngine.Input.GetAxis("XRI_Right_Trigger"); - return true; - case VRInputDevice.VRControl.Trigger2: - if (hand == VRInputDevice.Handedness.Left) - value = UnityEngine.Input.GetAxis("XRI_Left_Grip"); - else - value = UnityEngine.Input.GetAxis("XRI_Right_Grip"); - return true; - case VRInputDevice.VRControl.LeftStickX: - if (hand == VRInputDevice.Handedness.Left) - value = UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Horizontal"); - else - value = UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Horizontal"); - return true; - case VRInputDevice.VRControl.LeftStickY: - if (hand == VRInputDevice.Handedness.Left) - value = -1f * UnityEngine.Input.GetAxis("XRI_Left_Primary2DAxis_Vertical"); - else - value = -1f * UnityEngine.Input.GetAxis("XRI_Right_Primary2DAxis_Vertical"); - return true; - } - - value = 0f; - return false; - } - - void SendAxisEvents(VRInputDevice.Handedness hand, int deviceIndex) - { - for (var axis = 0; axis < k_AxisCount; ++axis) - { - float value; - if (GetAxis(hand, (VRInputDevice.VRControl)axis, out value)) - { - if (Mathf.Approximately(m_LastAxisValues[(int)hand, axis], value)) - continue; - - if (Mathf.Abs(value) < k_DeadZone) - value = 0; - - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.controlIndex = axis; - inputEvent.value = value; - - m_LastAxisValues[(int)hand, axis] = inputEvent.value; - - InputSystem.QueueEvent(inputEvent); - } - } - } - - string GetButtonAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl button) + protected override string DeviceName { - switch (button) - { - case VRInputDevice.VRControl.Action1: - if (hand == VRInputDevice.Handedness.Left) - return "XRI_Left_PrimaryButton"; - else - return "XRI_Right_PrimaryButton"; - - case VRInputDevice.VRControl.Action2: - if (hand == VRInputDevice.Handedness.Left) - return "XRI_Left_SecondaryButton"; - else - return "XRI_Right_SecondaryButton"; - - case VRInputDevice.VRControl.LeftStickButton: - if (hand == VRInputDevice.Handedness.Left) - return "XRI_Left_Primary2DAxisClick"; - else - return "XRI_Right_Primary2DAxisClick"; - } - - // Not all buttons are currently mapped - return null; - } - - void SendButtonEvents(VRInputDevice.Handedness hand, int deviceIndex) - { - foreach (VRInputDevice.VRControl button in k_Buttons) - { - var axis = GetButtonAxis(hand, button); - - bool isDown = UnityEngine.Input.GetButtonDown(axis); - bool isUp = UnityEngine.Input.GetButtonUp(axis); - - if (isDown || isUp) - { - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.controlIndex = (int)button; - inputEvent.value = isDown ? 1.0f : 0.0f; - - InputSystem.QueueEvent(inputEvent); - } - } - } - - void SendTrackingEvents(VRInputDevice.Handedness hand, int deviceIndex) - { - XRNode node = hand == VRInputDevice.Handedness.Left ? XRNode.LeftHand : XRNode.RightHand; - - InputTracking.GetNodeStates(m_NodeStates); - - foreach (var nodeState in m_NodeStates) - { - if (nodeState.nodeType == node && !nodeState.tracked) - return; - } - - var localPosition = InputTracking.GetLocalPosition(node); - var localRotation = InputTracking.GetLocalRotation(node); - - if (localPosition == m_LastPositionValues[(int)hand] && localRotation == m_LastRotationValues[(int)hand]) - return; - - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.localPosition = localPosition; - inputEvent.localRotation = localRotation; - - m_LastPositionValues[(int)hand] = inputEvent.localPosition; - m_LastRotationValues[(int)hand] = inputEvent.localRotation; - - InputSystem.QueueEvent(inputEvent); + get { return "Oculus Touch Controller"; } } } } diff --git a/Scripts/Input/ViveInputToEvents.cs b/Scripts/Input/ViveInputToEvents.cs index a3f529729..2a211226e 100644 --- a/Scripts/Input/ViveInputToEvents.cs +++ b/Scripts/Input/ViveInputToEvents.cs @@ -1,182 +1,44 @@ -using UnityEditor.Experimental.EditorVR; +using System; +using System.Collections.Generic; using UnityEngine; using UnityEngine.InputNew; using UnityEngine.XR; -#if ENABLE_STEAMVR_INPUT -using System; -using Valve.VR; -#endif - -[assembly: OptionalDependency("Valve.VR.IVRSystem", "ENABLE_STEAMVR_INPUT")] - namespace UnityEditor.Experimental.EditorVR.Input { - /// - /// Sends events to the input system based on native SteamVR SDK calls - /// - sealed class ViveInputToEvents : BaseInputToEvents + sealed class ViveInputToEvents : BaseVRInputToEvents { -#if ENABLE_STEAMVR_INPUT - enum XorY - { - X, - Y - } - - public int[] steamDevice - { - get { return steamDeviceIndices; } - } - - readonly int[] steamDeviceIndices = new int[] { -1, -1 }; - - const int k_ButtonCount = (int)EVRButtonId.k_EButton_Max + 1; - const int k_AxisCount = 10; // 5 axes in openVR, each with X and Y. - - float[,] m_LastAxisValues = new float[OpenVR.k_unMaxTrackedDeviceCount, k_AxisCount + k_ButtonCount]; - Vector3[] m_LastPositionValues = new Vector3[OpenVR.k_unMaxTrackedDeviceCount]; - Quaternion[] m_LastRotationValues = new Quaternion[OpenVR.k_unMaxTrackedDeviceCount]; - - static EVRButtonId[] s_EnumValues; - - static ViveInputToEvents() - { - s_EnumValues = (EVRButtonId[])Enum.GetValues(typeof(EVRButtonId)); - } - - public void Update() - { - var isActive = false; - TrackedDevicePose_t[] poses = null; - var compositor = OpenVR.Compositor; - if (compositor != null) - { - var render = SteamVR_Render.instance; - render.transform.parent = gameObject.transform; - compositor.GetLastPoses(render.poses, render.gamePoses); - poses = render.poses; - } - - var leftSteamDeviceIndex = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Leftmost); - var rightSteamDeviceIndex = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Rightmost); - - if (leftSteamDeviceIndex == -1 || rightSteamDeviceIndex == -1 || leftSteamDeviceIndex == rightSteamDeviceIndex) - return; - - // Oculus Touch on OpenVR should have fixed left/right hand device indices - if (XRDevice.model.IndexOf("oculus", StringComparison.OrdinalIgnoreCase) >= 0 - && leftSteamDeviceIndex > rightSteamDeviceIndex) - { - var swap = rightSteamDeviceIndex; - rightSteamDeviceIndex = leftSteamDeviceIndex; - leftSteamDeviceIndex = swap; - } - - for (VRInputDevice.Handedness hand = VRInputDevice.Handedness.Left; (int)hand <= (int)VRInputDevice.Handedness.Right; hand++) - { - var steamDeviceIndex = steamDeviceIndices[(int)hand]; - - if (steamDeviceIndex == -1) - { - steamDeviceIndices[(int)hand] = hand == VRInputDevice.Handedness.Left ? leftSteamDeviceIndex : rightSteamDeviceIndex; - steamDeviceIndex = steamDeviceIndices[(int)hand]; - } - - isActive = true; - - int deviceIndex = hand == VRInputDevice.Handedness.Left ? 3 : 4; // TODO change 3 and 4 based on virtual devices defined in InputDeviceManager (using actual hardware available) - SendButtonEvents(steamDeviceIndex, deviceIndex); - SendAxisEvents(steamDeviceIndex, deviceIndex); - SendTrackingEvents(steamDeviceIndex, deviceIndex, poses); - } - - if (active != isActive) - active = isActive; - } - - void SendAxisEvents(int steamDeviceIndex, int deviceIndex) + protected override string DeviceName { - int a = 0; - for (int axis = (int)EVRButtonId.k_EButton_Axis0; axis <= (int)EVRButtonId.k_EButton_Axis4; ++axis) - { - Vector2 axisVec = SteamVR_Controller.Input(steamDeviceIndex).GetAxis((EVRButtonId)axis); - for (XorY xy = XorY.X; (int)xy <= (int)XorY.Y; xy++, a++) - { - var value = xy == XorY.X ? axisVec.x : axisVec.y; - const float kDeadZone = 0.05f; - if (Mathf.Abs(value) < kDeadZone) - value = 0f; - - if (Mathf.Approximately(m_LastAxisValues[steamDeviceIndex, a], value)) - continue; - - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.controlIndex = a; - inputEvent.value = value; - - m_LastAxisValues[steamDeviceIndex, a] = inputEvent.value; - - InputSystem.QueueEvent(inputEvent); - } - } + get { return "OpenVR Controller"; } } - void SendButtonEvents(int steamDeviceIndex, int deviceIndex) + protected override string GetButtonAxis(VRInputDevice.Handedness hand, VRInputDevice.VRControl button) { - for (int i = 0; i < s_EnumValues.Length; i++) + // For some reason primary/secondary are swapped in OpenVR + switch (button) { - var button = s_EnumValues[i]; - - // Don't double count the trigger - if (button == EVRButtonId.k_EButton_SteamVR_Trigger) - continue; - - var isDown = SteamVR_Controller.Input(steamDeviceIndex).GetPressDown(button); - var isUp = SteamVR_Controller.Input(steamDeviceIndex).GetPressUp(button); - var value = isDown ? 1.0f : 0.0f; - var controlIndex = k_AxisCount + (int)button; - - if (Mathf.Approximately(m_LastAxisValues[steamDeviceIndex, controlIndex], value)) - continue; - - if (isDown || isUp) - { - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.controlIndex = controlIndex; - inputEvent.value = value; - - m_LastAxisValues[steamDeviceIndex, controlIndex] = value; - - InputSystem.QueueEvent(inputEvent); - } + case VRInputDevice.VRControl.Action1: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_SecondaryButton"; + else + return "XRI_Right_SecondaryButton"; + + case VRInputDevice.VRControl.Action2: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_PrimaryButton"; + else + return "XRI_Right_PrimaryButton"; + + case VRInputDevice.VRControl.LeftStickButton: + if (hand == VRInputDevice.Handedness.Left) + return "XRI_Left_Primary2DAxisClick"; + else + return "XRI_Right_Primary2DAxisClick"; } - } - - void SendTrackingEvents(int steamDeviceIndex, int deviceIndex, TrackedDevicePose_t[] poses) - { - var pose = new SteamVR_Utils.RigidTransform(poses[steamDeviceIndex].mDeviceToAbsoluteTracking); - var localPosition = pose.pos; - var localRotation = pose.rot; - - if (localPosition == m_LastPositionValues[steamDeviceIndex] && localRotation == m_LastRotationValues[steamDeviceIndex]) - return; - - var inputEvent = InputSystem.CreateEvent(); - inputEvent.deviceType = typeof(VRInputDevice); - inputEvent.deviceIndex = deviceIndex; - inputEvent.localPosition = localPosition; - inputEvent.localRotation = localRotation; - - m_LastPositionValues[steamDeviceIndex] = inputEvent.localPosition; - m_LastRotationValues[steamDeviceIndex] = inputEvent.localRotation; - InputSystem.QueueEvent(inputEvent); + // Not all buttons are currently mapped + return null; } -#endif } } diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index 8c1a8916b..4e080ad18 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -20,15 +20,9 @@ sealed class HapticsModule : MonoBehaviour, ISystemModule /// public float masterIntensity { set { m_MasterIntensity = Mathf.Clamp(value, 0f, 10f); } } -#if ENABLE_OVR_INPUT - OVRHaptics.OVRHapticsChannel m_LHapticsChannel; - OVRHaptics.OVRHapticsChannel m_RHapticsChannel; - OVRHapticsClip m_GeneratedHapticClip; -#else InputDevice m_LeftHand; InputDevice m_RightHand; MemoryStream m_GeneratedHapticClip; -#endif /// /// Allow for a single warning that informs the user of an attempted pulse with a length greater than 0.8f @@ -37,11 +31,6 @@ sealed class HapticsModule : MonoBehaviour, ISystemModule void Start() { -#if ENABLE_OVR_INPUT - m_LHapticsChannel = OVRHaptics.LeftChannel; - m_RHapticsChannel = OVRHaptics.RightChannel; - m_GeneratedHapticClip = new OVRHapticsClip(); -#else m_LeftHand = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand); m_RightHand = InputDevices.GetDeviceAtXRNode(XRNode.RightHand); HapticCapabilities caps; @@ -51,17 +40,8 @@ void Start() Debug.Log(caps.supportsImpulse); Debug.Log(caps.bufferFrequencyHz); m_GeneratedHapticClip = new MemoryStream(); -#endif } -#if ENABLE_OVR_INPUT - void LateUpdate() - { - // Perform a manual update of OVR haptics - OVRHaptics.Process(); - } -#endif - /// /// Pulse haptic feedback /// @@ -76,12 +56,9 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = if (Mathf.Approximately(m_MasterIntensity, 0)) return; -#if ENABLE_OVR_INPUT - m_GeneratedHapticClip.Reset(); -#else + // Reset buffer m_GeneratedHapticClip.Seek(0, SeekOrigin.Begin); m_GeneratedHapticClip.SetLength(0); -#endif var duration = hapticPulse.duration * durationMultiplier; var intensity = hapticPulse.intensity * intensityMultiplier; @@ -115,11 +92,7 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = sampleShaped = Mathf.Lerp(0, intensity, (duration - i) / fadeOutSampleCount); var sampleByte = Convert.ToByte(sampleShaped); -#if ENABLE_OVR_INPUT - m_GeneratedHapticClip.WriteSample(sampleByte); -#else m_GeneratedHapticClip.WriteByte(sampleByte); -#endif } const float kMaxSimultaneousClipDuration = 0.25f; @@ -128,29 +101,18 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = { // Prevent multiple long clips from playing back simultaneously // If the new clip has a long duration, stop playback of any existing clips in order to prevent haptic feedback noise -#if ENABLE_OVR_INPUT - if (channel != null) - { - channel.Preempt(m_GeneratedHapticClip); - } - else - { - m_RHapticsChannel.Preempt(m_GeneratedHapticClip); - m_LHapticsChannel.Preempt(m_GeneratedHapticClip); - } -#else - StopPulses(); var buffer = m_GeneratedHapticClip.GetBuffer(); if (node == Node.None) { + StopPulses(); m_LeftHand.SendHapticBuffer(0, buffer); m_RightHand.SendHapticBuffer(0, buffer); } else { + StopPulses(node); channel.SendHapticBuffer(0, buffer); } -#endif } #if ENABLE_OVR_INPUT else @@ -172,50 +134,15 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = public void StopPulses(Node node) { var channel = GetTargetChannel(node); -#if ENABLE_OVR_INPUT - if (channel != null) - channel.Clear(); - else - Debug.LogWarning("Only null, or valid ray origins can stop pulse playback."); -#else channel.StopHaptics(); -#endif } public void StopPulses() { -#if ENABLE_OVR_INPUT - m_RHapticsChannel.Clear(); - m_LHapticsChannel.Clear(); -#else m_LeftHand.StopHaptics(); m_RightHand.StopHaptics(); -#endif } -#if ENABLE_OVR_INPUT - OVRHaptics.OVRHapticsChannel GetTargetChannel(Node node) - { - OVRHaptics.OVRHapticsChannel channel = null; - if (node == Node.None) - return channel; - - switch (node) - { - case Node.LeftHand: - channel = m_LHapticsChannel; - break; - case Node.RightHand: - channel = m_RHapticsChannel; - break; - default: - Debug.LogWarning("Invalid node. Could not fetch haptics channel."); - break; - } - - return channel; - } -#else InputDevice GetTargetChannel(Node node) { if (node == Node.LeftHand) @@ -225,6 +152,5 @@ InputDevice GetTargetChannel(Node node) return default(InputDevice); } -#endif } } diff --git a/libs/input-prototype b/libs/input-prototype index 9281b6c64..cf3b21e7c 160000 --- a/libs/input-prototype +++ b/libs/input-prototype @@ -1 +1 @@ -Subproject commit 9281b6c643f187e101815b6f5865970bebed0891 +Subproject commit cf3b21e7ce9f43cbff7101bb1a0261a7d15feb1d From 2912004c5e1ce8d912b5d470c2f2129753c92c97 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 15:38:49 -0700 Subject: [PATCH 11/75] Make use of haptic impulses if buffers aren't supported --- .../Modules/HapticsModule/HapticsModule.cs | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index 4e080ad18..bbe9ab22b 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -23,6 +23,7 @@ sealed class HapticsModule : MonoBehaviour, ISystemModule InputDevice m_LeftHand; InputDevice m_RightHand; MemoryStream m_GeneratedHapticClip; + HapticCapabilities m_Capabilites; /// /// Allow for a single warning that informs the user of an attempted pulse with a length greater than 0.8f @@ -33,12 +34,7 @@ void Start() { m_LeftHand = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand); m_RightHand = InputDevices.GetDeviceAtXRNode(XRNode.RightHand); - HapticCapabilities caps; - m_LeftHand.TryGetHapticCapabilities(out caps); - Debug.Log(caps.numChannels); - Debug.Log(caps.supportsBuffer); - Debug.Log(caps.supportsImpulse); - Debug.Log(caps.bufferFrequencyHz); + m_LeftHand.TryGetHapticCapabilities(out m_Capabilites); m_GeneratedHapticClip = new MemoryStream(); } @@ -105,30 +101,26 @@ public void Pulse(Node node, HapticPulse hapticPulse, float durationMultiplier = if (node == Node.None) { StopPulses(); - m_LeftHand.SendHapticBuffer(0, buffer); - m_RightHand.SendHapticBuffer(0, buffer); + if (m_Capabilites.supportsBuffer) + { + m_LeftHand.SendHapticBuffer(0, buffer); + m_RightHand.SendHapticBuffer(0, buffer); + } + else + { + m_LeftHand.SendHapticImpulse(0, intensity, duration); + m_RightHand.SendHapticImpulse(0, intensity, duration); + } } else { StopPulses(node); - channel.SendHapticBuffer(0, buffer); + if (m_Capabilites.supportsBuffer) + channel.SendHapticBuffer(0, buffer); + else + channel.SendHapticImpulse(0, intensity, duration); } } -#if ENABLE_OVR_INPUT - else - { - // Allow multiple short clips to play simultaneously - if (channel != null) - { - channel.Mix(m_GeneratedHapticClip); - } - else - { - m_RHapticsChannel.Mix(m_GeneratedHapticClip); - m_LHapticsChannel.Mix(m_GeneratedHapticClip); - } - } -#endif } public void StopPulses(Node node) From 4f06bcf3179d7e3aaeb98def30cd1efee858226c Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 16:07:59 -0700 Subject: [PATCH 12/75] Automatically update input manager w/ cross-platform input axes if they don't exist --- Scripts/Core/EditorVR.cs | 3 + Scripts/Input/SeedXRInputBindings.cs | 722 ++++++++++++++++++++++ Scripts/Input/SeedXRInputBindings.cs.meta | 11 + 3 files changed, 736 insertions(+) create mode 100644 Scripts/Input/SeedXRInputBindings.cs create mode 100644 Scripts/Input/SeedXRInputBindings.cs.meta diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 3c7f8dafd..5e034225a 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -7,6 +7,7 @@ using UnityEditor.Experimental.EditorVR.Extensions; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Utilities; +using UnityEditor.Experimental.EditorXR.LegacyInputHelpers; using UnityEngine; using UnityEngine.InputNew; @@ -147,6 +148,8 @@ static void HandleInitialization() void Initialize() { + SeedXRInputBindings.UpdateInputManager(); + #if UNITY_EDITOR #if UNITY_2018_2_OR_NEWER DrivenRectTransformTracker.StopRecordingUndo(); diff --git a/Scripts/Input/SeedXRInputBindings.cs b/Scripts/Input/SeedXRInputBindings.cs new file mode 100644 index 000000000..66dd9bed7 --- /dev/null +++ b/Scripts/Input/SeedXRInputBindings.cs @@ -0,0 +1,722 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +// Copied from UnityEditor.XR.LegacyInputHelpers +namespace UnityEditor.Experimental.EditorXR.LegacyInputHelpers +{ + /// + /// The SeedXRInputBindings class is used to populate the Input Asset with the cross platform bindings published by Unity for most XR Devices. + /// + public class SeedXRInputBindings + { + #region InputAxisDataAndConfig + // Same as InputAxis.h + internal class InputAxis + { + public string name = ""; + public string descriptiveName = ""; + public string descriptiveNegativeName = ""; + public string negativeButton = ""; + public string positiveButton = ""; + public string altNegativeButton = ""; + public string altPositiveButton = ""; + public float gravity = 0.0f; + public float dead = 0.001f; + public float sensitivity = 1.0f; + public bool snap = false; + public bool invert = false; + public int type = 0; + public int axis = 0; + public int joyNum = 0; + } + + // + // NB: ALL AXIS VALUES WILL BE -1'd DURING PROCESSING, SO USE THE "REAL" AXIS VALUE + // + internal List axisList = new List + { + #region LeftHand + //###################################################################################################################################### + // Left Hand + //###################################################################################################################################### + // Axis Data + new InputAxis() + { + name = "XRI_Left_Primary2DAxis_Vertical", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 2, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_Primary2DAxis_Horizontal", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 1, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_Secondary2DAxis_Vertical", + descriptiveName = "Device joystick/touchpad horizontal motion.", + dead = 0.19f, + axis = 18, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_Secondary2DAxis_Horizontal", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 17, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_Trigger", + descriptiveName = "Device trigger axis", + axis = 9, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_Grip", + descriptiveName = "Device grip axis", + axis = 11, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_IndexTouch", + descriptiveName = "Device index finger proximity touch axis.", + dead = 0.19f, + axis = 13, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_ThumbTouch", + descriptiveName = "Device thumb proximity touch axis", + dead = 0.19f, + axis = 15, + type = 2, + }, + // Button Data + new InputAxis() + { + name = "XRI_Left_PrimaryButton", + descriptiveName = "Device primary button", + positiveButton = "joystick button 2", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_SecondaryButton", + descriptiveName = "Device secondary button", + positiveButton = "joystick button 3", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_PrimaryTouch", + descriptiveName = "Device primary touch", + positiveButton = "joystick button 12", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_SecondaryTouch", + descriptiveName = "Device secondary button", + positiveButton = "joystick button 13", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_GripButton", + descriptiveName = "Device grip button", + positiveButton = "joystick button 4", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_TriggerButton", + descriptiveName = "Device trigger button", + positiveButton = "joystick button 14", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_MenuButton", + descriptiveName = "Device menu button", + positiveButton = "joystick button 6", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_Primary2DAxisClick", + descriptiveName = "Device stick/touchpad click", + positiveButton = "joystick button 8", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_Primary2DAxisTouch", + descriptiveName = "Device stick/touchpad touch", + positiveButton = "joystick button 16", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Left_Thumbrest", + descriptiveName = "Device thumbrest", + positiveButton = "joystick button 18", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + #endregion + #region KnucklesLeft + //###################################################################################################################################### + // Knuckles Left + //###################################################################################################################################### + new InputAxis() + { + name = "XRI_Left_IndexFinger", + descriptiveName = "Left Index Finger for a Knuckles Style controller", + axis = 21, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_MiddleFinger", + descriptiveName = "Left Middle Finger for a Knuckles Style controller", + axis = 23, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_RingFinger", + descriptiveName = "Left Ring Finger for a Knuckles Style controller", + axis = 25, + type = 2, + }, + new InputAxis() + { + name = "XRI_Left_PinkyFinger", + descriptiveName = "Left Pinky Finger for a Knuckles Style controller", + axis = 27, + type = 2, + }, + #endregion + #region RightHand + //###################################################################################################################################### + // Right Hand + //###################################################################################################################################### + new InputAxis() + { + name = "XRI_Right_Primary2DAxis_Vertical", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 5, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_Primary2DAxis_Horizontal", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 4, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_Secondary2DAxis_Vertical", + descriptiveName = "Device joystick/touchpad horizontal motion.", + dead = 0.19f, + axis = 20, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_Secondary2DAxis_Horizontal", + descriptiveName = "Device joystick/touchpad horizontal motion", + dead = 0.19f, + axis = 19, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_Trigger", + descriptiveName = "Device trigger axis", + axis = 10, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_Grip", + descriptiveName = "Device grip axis", + axis = 12, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_IndexTouch", + descriptiveName = "Device index finger proximity touch axis.", + dead = 0.19f, + axis = 14, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_ThumbTouch", + descriptiveName = "Device thumb proximity touch axis", + dead = 0.19f, + axis = 16, + type = 2, + }, + // Button Data + new InputAxis() + { + name = "XRI_Right_PrimaryButton", + descriptiveName = "Device primary button", + positiveButton = "joystick button 0", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_SecondaryButton", + descriptiveName = "Device secondary button", + positiveButton = "joystick button 1", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_PrimaryTouch", + descriptiveName = "Device primary touch", + positiveButton = "joystick button 10", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_SecondaryTouch", + descriptiveName = "Device secondary button", + positiveButton = "joystick button 11", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_GripButton", + descriptiveName = "Device grip button", + positiveButton = "joystick button 5", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_TriggerButton", + descriptiveName = "Device trigger button", + positiveButton = "joystick button 15", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_MenuButton", + descriptiveName = "Device menu button", + positiveButton = "joystick button 7", + gravity = 1000.0f, + sensitivity = 1000.0f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_Primary2DAxisClick", + descriptiveName = "Device stick/touchpad click", + positiveButton = "joystick button 9", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_Primary2DAxisTouch", + descriptiveName = "Device stick/touchpad touch", + positiveButton = "joystick button 17", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "XRI_Right_Thumbrest", + descriptiveName = "Device thumbrest", + positiveButton = "joystick button 19", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + #endregion + #region KnucklesRight + //###################################################################################################################################### + // Knuckles Right + //###################################################################################################################################### + new InputAxis() + { + name = "XRI_Right_IndexFinger", + descriptiveName = "Right Index Finger for a Knuckles Style controller", + axis = 22, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_MiddleFinger", + descriptiveName = "Right Middle Finger for a Knuckles Style controller", + axis = 24, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_RingFinger", + descriptiveName = "Right Ring Finger for a Knuckles Style controller", + axis = 26, + type = 2, + }, + new InputAxis() + { + name = "XRI_Right_PinkyFinger", + descriptiveName = "Right Pinky Finger for a Knuckles Style controller", + axis = 28, + type = 2, + }, + #endregion + #region UGuiRequired + //###################################################################################################################################### + // UGui Required + //###################################################################################################################################### + new InputAxis() + { + name = "Submit", + descriptiveName = "Submit", + positiveButton = "joystick button 0", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "Cancel", + descriptiveName = "Cancel", + positiveButton = "joystick button 1", + gravity = 0.0f, + dead = 0.0f, + sensitivity = 0.1f, + type = 0, + }, + new InputAxis() + { + name = "Horizontal", + descriptiveName = "Horizontal", + dead = 0.19f, + axis = 4, + type = 2, + }, + new InputAxis() + { + name = "Vertical", + descriptiveName = "Vertical", + dead = 0.19f, + axis = 5, + type = 2, + }, + #endregion + //###################################################################################################################################### + // Combined Trigger + //###################################################################################################################################### + #region Combined + new InputAxis() + { + name = "XRI_Combined_Trigger", + descriptiveName = "Combined Trigger", + dead = 0.19f, + axis = 3, + type = 2, + }, + new InputAxis() + { + name = "XRI_DPad_Vertical", + descriptiveName = "Device directional pad. These values are replicated l/r", + axis = 7, + type = 2, + }, + new InputAxis() + { + name = "XRI_DPad_Horizontal", + descriptiveName = "Device directional pad. These values are replicated l/r", + axis = 6, + type = 2, + }, + #endregion + }; + + internal struct BindingData + { + public int newDataIndex; + public int inputManagerIndex; + public bool exists; + } + #endregion + + static public void UpdateInputManager() + { + SeedXRInputBindings sxrib = new SeedXRInputBindings(); + sxrib.GenerateXRBindings(); + } + + /// + /// Main entrypoint for generating the XR Bindings and adding them to the Input Asset. The Custom uGUI editor calls this function when the user wishes to + /// seed the Input Asset with XR bindings. + /// + public void GenerateXRBindings() + { + // seed map of axis data so we can whitewash against existing. + Dictionary axisMap = new Dictionary(); + for (int i = 0; i < axisList.Count; ++i) + { + axisMap.Add(axisList[i].name, new BindingData() { newDataIndex = i, exists = false, inputManagerIndex = -1 }); + if (axisList[i].axis > 0) + { + axisList[i].axis--; + } + } + + // load the input asset + var inputManagerAsset = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/InputManager.asset")[0]; + if (inputManagerAsset != null) + { + var serializedObject = new SerializedObject(inputManagerAsset); + var inputManagerCurrentData = serializedObject.FindProperty("m_Axes"); + + if (inputManagerCurrentData != null) + { + List currentInputData = new List(); + LoadExistingDataAndCheckAgainstNewData(inputManagerCurrentData, ref axisMap, ref currentInputData); + if (ApplyDataToInputManager(currentInputData, axisList, axisMap, ref inputManagerCurrentData)) + { + serializedObject.ApplyModifiedProperties(); + AssetDatabase.Refresh(); + } + } + } + + } + + #region InternalProcessingCode + + internal bool ApplyDataToInputManager(List inputManagerData, List newData, Dictionary newDataMap, ref SerializedProperty arrayRoot) + { + var inputManagerModified = false; + + // likely will be larger than we need, but that's ok. it'll be big enough for all the data which is worst case + arrayRoot.arraySize = inputManagerData.Count + newData.Count; + + int arrayIndex = inputManagerData.Count; + // write everything that doesn't clash from our new data + for (int i = 0; i < newData.Count; ++i) + { + BindingData bindingData; + if (newDataMap.TryGetValue(newData[i].name, out bindingData)) + { + if (bindingData.exists == true) + { + continue; + } + } + + var axisEntry = arrayRoot.GetArrayElementAtIndex(arrayIndex); + WriteDataToInputAxis(newData[i], ref axisEntry); + inputManagerModified = true; + arrayIndex++; + } + arrayRoot.arraySize = arrayIndex; + + return inputManagerModified; + } + + internal void WriteDataToInputAxis(InputAxis sourceData, ref SerializedProperty serializedProperty) + { + var iteratorProperty = serializedProperty.Copy(); + iteratorProperty.Next(true); + do + { + switch (iteratorProperty.name) + { + case "m_Name": + iteratorProperty.stringValue = sourceData.name; + break; + case "descriptiveName": + iteratorProperty.stringValue = sourceData.descriptiveName; + break; + case "descriptiveNegativeName": + iteratorProperty.stringValue = sourceData.descriptiveNegativeName; + break; + case "negativeButton": + iteratorProperty.stringValue = sourceData.negativeButton; + break; + case "positiveButton": + iteratorProperty.stringValue = sourceData.positiveButton; + break; + case "altNegativeButton": + iteratorProperty.stringValue = sourceData.altNegativeButton; + break; + case "altPositiveButton": + iteratorProperty.stringValue = sourceData.altPositiveButton; + break; + case "gravity": + iteratorProperty.floatValue = sourceData.gravity; + break; + case "dead": + iteratorProperty.floatValue = sourceData.dead; + break; + case "sensitivity": + iteratorProperty.floatValue = sourceData.sensitivity; + break; + case "snap": + iteratorProperty.boolValue = sourceData.snap; + break; + case "invert": + iteratorProperty.boolValue = sourceData.invert; + break; + case "type": + iteratorProperty.intValue = sourceData.type; + break; + case "axis": + iteratorProperty.intValue = sourceData.axis; + break; + case "joyNum": + iteratorProperty.intValue = sourceData.joyNum; + break; + + } + } while (iteratorProperty.Next(false)); + } + + internal void LoadExistingDataAndCheckAgainstNewData(SerializedProperty arrayRoot, ref Dictionary newDataMap, ref List existingData) + { + existingData.Clear(); + for (int i = 0; i < arrayRoot.arraySize; ++i) + { + InputAxis readData = new InputAxis(); + + var axisEntry = arrayRoot.GetArrayElementAtIndex(i); + var iteratorProperty = axisEntry.Copy(); + iteratorProperty.Next(true); + do + { + switch (iteratorProperty.name) + { + case "m_Name": + readData.name = iteratorProperty.stringValue; + BindingData bindingData; + if (newDataMap.TryGetValue(readData.name, out bindingData)) + { + // using TryGetElement returns a copy, not very useful. + bindingData.exists = true; + bindingData.inputManagerIndex = i; + newDataMap[readData.name] = bindingData; + } + break; + case "descriptiveName": + readData.descriptiveName = iteratorProperty.stringValue; + break; + case "descriptiveNegativeName": + readData.descriptiveNegativeName = iteratorProperty.stringValue; + break; + case "negativeButton": + readData.negativeButton = iteratorProperty.stringValue; + break; + case "positiveButton": + readData.positiveButton = iteratorProperty.stringValue; + break; + case "altNegativeButton": + readData.altNegativeButton = iteratorProperty.stringValue; + break; + case "altPositiveButton": + readData.altPositiveButton = iteratorProperty.stringValue; + break; + case "gravity": + readData.gravity = iteratorProperty.floatValue; + break; + case "dead": + readData.dead = iteratorProperty.floatValue; + break; + case "sensitivity": + readData.sensitivity = iteratorProperty.floatValue; + break; + case "snap": + readData.snap = iteratorProperty.boolValue; + break; + case "invert": + readData.invert = iteratorProperty.boolValue; + break; + case "type": + readData.type = iteratorProperty.intValue; + break; + case "axis": + readData.axis = iteratorProperty.intValue; + break; + case "joyNum": + readData.joyNum = iteratorProperty.intValue; + break; + } + } while (iteratorProperty.Next(false)); + existingData.Add(readData); + } + } + #endregion + } +} \ No newline at end of file diff --git a/Scripts/Input/SeedXRInputBindings.cs.meta b/Scripts/Input/SeedXRInputBindings.cs.meta new file mode 100644 index 000000000..562061aef --- /dev/null +++ b/Scripts/Input/SeedXRInputBindings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3699b452720e98a48b8a08d3b5089944 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From af6659ad531d58c15bddbc28a1ada0cd36f5ea5b Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 16:19:13 -0700 Subject: [PATCH 13/75] Bump minimum Unity version to 2018.3; Remove old, unnecessary conditionals --- Editor/BuildCallbacks.cs | 14 -------- Editor/ProxyFeedbackEditor.cs | 6 ++-- .../Core/Contexts/EditingContextManager.cs | 2 +- Scripts/Core/EditorVR.MiniWorlds.cs | 8 ----- Scripts/Core/EditorVR.cs | 13 ++------ Scripts/Core/VRView.cs | 33 ------------------- Scripts/Data/AssetData.cs | 8 ----- Scripts/Data/DefaultScriptReferences.cs | 4 --- Scripts/Modules/HierarchyModule.cs | 8 ----- .../VisibilityDetector.cs | 5 --- Scripts/Modules/ProjectFolderModule.cs | 8 ----- .../SelectionModule/SelectionModule.cs | 4 --- Scripts/Proxies/Vive/ViveProxy.cs | 2 -- Scripts/UI/NumericInputField.cs | 8 ----- Tests/Editor/BuildPlayerTest.cs | 8 ----- Tests/Editor/CompilationTest.cs | 2 +- .../Scripts/HierarchyListItem.cs | 4 --- .../InspectorWorkspace/InspectorWorkspace.cs | 4 --- 18 files changed, 6 insertions(+), 135 deletions(-) diff --git a/Editor/BuildCallbacks.cs b/Editor/BuildCallbacks.cs index 715af90a9..b0c9c5e8d 100644 --- a/Editor/BuildCallbacks.cs +++ b/Editor/BuildCallbacks.cs @@ -6,17 +6,11 @@ using UnityEditorInternal; using UnityEngine; -#if UNITY_2018_1_OR_NEWER using UnityEditor.Build.Reporting; -#endif namespace UnityEditor.Experimental.EditorVR { -#if UNITY_2018_1_OR_NEWER class BuildCallbacks : IPreprocessBuildWithReport, IPostprocessBuildWithReport -#else - class BuildCallbacks : IPreprocessBuild, IPostprocessBuild -#endif { [Serializable] class AssemblyDefinition @@ -78,11 +72,7 @@ static void ForEachAssembly(Action callback) } } -#if UNITY_2018_1_OR_NEWER public void OnPreprocessBuild(BuildReport report) -#else - public void OnPreprocessBuild(BuildTarget target, string path) -#endif { if (Core.EditorVR.includeInBuilds) return; @@ -103,11 +93,7 @@ public void OnPreprocessBuild(BuildTarget target, string path) AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport); } -#if UNITY_2018_1_OR_NEWER public void OnPostprocessBuild(BuildReport report) -#else - public void OnPostprocessBuild(BuildTarget target, string path) -#endif { OnPostprocessBuild(); } diff --git a/Editor/ProxyFeedbackEditor.cs b/Editor/ProxyFeedbackEditor.cs index 0e739d505..32632e914 100644 --- a/Editor/ProxyFeedbackEditor.cs +++ b/Editor/ProxyFeedbackEditor.cs @@ -1,5 +1,4 @@ -#if UNITY_2017_2_OR_NEWER -using System; +using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Proxies; @@ -141,5 +140,4 @@ void SaveData() Core.EditorVR.serializedPreferences = JsonUtility.ToJson(preferences); } } -} -#endif +} \ No newline at end of file diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index dab84bbac..41ebfb651 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -281,7 +281,7 @@ static void ReopenOnExitPlaymode() } #endif -#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER +#if UNITY_EDITOR static void OnPlayModeStateChanged(PlayModeStateChange stateChange) { if (stateChange == PlayModeStateChange.ExitingEditMode) diff --git a/Scripts/Core/EditorVR.MiniWorlds.cs b/Scripts/Core/EditorVR.MiniWorlds.cs index de2ace5e6..4cfad182f 100644 --- a/Scripts/Core/EditorVR.MiniWorlds.cs +++ b/Scripts/Core/EditorVR.MiniWorlds.cs @@ -188,11 +188,7 @@ public void UpdatePreview() public MiniWorlds() { #if UNITY_EDITOR -#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged += OnHierarchyChanged; -#else - EditorApplication.hierarchyWindowChanged += OnHierarchyChanged; -#endif #endif IIsInMiniWorldMethods.isInMiniWorld = IsInMiniWorld; } @@ -214,11 +210,7 @@ internal override void OnDestroy() { base.OnDestroy(); #if UNITY_EDITOR -#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged -= OnHierarchyChanged; -#else - EditorApplication.hierarchyWindowChanged -= OnHierarchyChanged; -#endif #endif } diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 5e034225a..306832921 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -12,11 +12,10 @@ using UnityEngine.InputNew; [assembly: OptionalDependency("PolyToolkit.PolyApi", "INCLUDE_POLY_TOOLKIT")] -[assembly: OptionalDependency("UnityEngine.DrivenRectTransformTracker+BlockUndoCCU", "UNDO_PATCH")] namespace UnityEditor.Experimental.EditorVR.Core { -#if UNITY_2017_2_OR_NEWER +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR [InitializeOnLoad] #endif @@ -151,11 +150,7 @@ void Initialize() SeedXRInputBindings.UpdateInputManager(); #if UNITY_EDITOR -#if UNITY_2018_2_OR_NEWER DrivenRectTransformTracker.StopRecordingUndo(); -#elif UNDO_PATCH - DrivenRectTransformTracker.BlockUndo = true; -#endif #endif Nested.evr = this; // Set this once for the convenience of all nested classes m_DefaultTools = DefaultTools; @@ -398,11 +393,7 @@ void OnDestroy() } #if UNITY_EDITOR -#if UNITY_2018_2_OR_NEWER DrivenRectTransformTracker.StartRecordingUndo(); -#elif UNDO_PATCH - DrivenRectTransformTracker.BlockUndo = false; -#endif #endif } @@ -564,7 +555,7 @@ static NoEditorVR() { if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) { - var message = "EditorVR requires Unity 2017.2 or above."; + var message = "EditorVR requires Unity 2018.3 or above."; var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); switch (result) { diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index e5ce5086a..d44b01b9c 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -114,11 +114,7 @@ public static Vector3 headCenteredOrigin { get { -#if UNITY_2017_2_OR_NEWER return XRDevice.GetTrackingSpaceType() == TrackingSpaceType.Stationary ? Vector3.up * HeadHeight : Vector3.zero; -#else - return Vector3.zero; -#endif } } @@ -246,9 +242,7 @@ public void OnEnable() // VRSettings.enabled latches the reference pose for the current camera var currentCamera = Camera.current; Camera.SetupCurrent(m_Camera); -#if UNITY_2017_2_OR_NEWER XRSettings.enabled = true; -#endif Camera.SetupCurrent(currentCamera); if (viewEnabled != null) @@ -285,9 +279,7 @@ public void OnDisable() if (viewDisabled != null) viewDisabled(); -#if UNITY_2017_2_OR_NEWER XRSettings.enabled = false; -#endif EditorPrefs.SetBool(k_ShowDeviceView, m_ShowDeviceView); EditorPrefs.SetBool(k_UseCustomPreviewCamera, m_UseCustomPreviewCamera); @@ -310,10 +302,8 @@ void UpdateCameraTransform() return; var cameraTransform = m_Camera.transform; -#if UNITY_2017_2_OR_NEWER cameraTransform.localPosition = InputTracking.GetLocalPosition(XRNode.Head); cameraTransform.localRotation = InputTracking.GetLocalRotation(XRNode.Head); -#endif } public void CreateCameraTargetTexture(ref RenderTexture renderTexture, Rect cameraRect, bool hdr) @@ -430,21 +420,8 @@ void OnGUI() { if (e.type == EventType.Repaint) { - // Legacy fix for dark colors in device view in Linear color space -#if !UNITY_2018_3_OR_NEWER -#if UNITY_2018_1_OR_NEWER - GL.sRGBWrite = false; -#else - GL.sRGBWrite = (QualitySettings.activeColorSpace == ColorSpace.Linear); -#endif -#endif - var renderTexture = customPreviewCamera && customPreviewCamera.targetTexture ? customPreviewCamera.targetTexture : m_TargetTexture; GUI.DrawTexture(guiRect, renderTexture, ScaleMode.StretchToFill, false); - -#if !UNITY_2018_3_OR_NEWER - GL.sRGBWrite = false; -#endif } } @@ -468,14 +445,8 @@ void DoDrawCamera(Rect rect) if (!m_Camera.gameObject.activeInHierarchy) return; -#if UNITY_2017_2_OR_NEWER if (!XRDevice.isPresent) return; -#endif - -#if UNITY_2018_1_OR_NEWER && !UNITY_2018_3_OR_NEWER - GL.sRGBWrite = (QualitySettings.activeColorSpace == ColorSpace.Linear); -#endif UnityEditor.Handles.DrawCamera(rect, m_Camera, m_RenderMode); if (Event.current.type == EventType.Repaint) @@ -483,10 +454,6 @@ void DoDrawCamera(Rect rect) GUI.matrix = Matrix4x4.identity; // Need to push GUI matrix back to GPU after camera rendering RenderTexture.active = null; // Clean up after DrawCamera } - -#if UNITY_2018_1_OR_NEWER && !UNITY_2018_3_OR_NEWER - GL.sRGBWrite = false; -#endif } private void Update() diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index 034ee8027..7f97de4bd 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -45,17 +45,9 @@ void UpdateType() if (type == "GameObject") { #if UNITY_EDITOR -#if UNITY_2018_3_OR_NEWER switch (PrefabUtility.GetPrefabAssetType(asset)) -#else - switch (PrefabUtility.GetPrefabType(asset)) -#endif { -#if UNITY_2018_3_OR_NEWER case PrefabAssetType.Model: -#else - case PrefabType.ModelPrefab: -#endif type = ModelTypeString; break; default: diff --git a/Scripts/Data/DefaultScriptReferences.cs b/Scripts/Data/DefaultScriptReferences.cs index 385471b23..1cdb66a37 100644 --- a/Scripts/Data/DefaultScriptReferences.cs +++ b/Scripts/Data/DefaultScriptReferences.cs @@ -104,11 +104,7 @@ static void UpdateScriptReferences() if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); -#if UNITY_2018_3_OR_NEWER defaultScriptReferences.m_ScriptPrefab = PrefabUtility.SaveAsPrefabAsset(prefabsRoot, Path.ChangeExtension(k_Path, "prefab")); -#else - defaultScriptReferences.m_ScriptPrefab = PrefabUtility.CreatePrefab(Path.ChangeExtension(k_Path, "prefab"), prefabsRoot); -#endif defaultScriptReferences.m_EditingContexts = EditingContextManager.GetEditingContextAssets().ConvertAll(ec => (ScriptableObject)ec); AssetDatabase.CreateAsset(defaultScriptReferences, k_Path); diff --git a/Scripts/Modules/HierarchyModule.cs b/Scripts/Modules/HierarchyModule.cs index bcd0d4b65..939793b03 100644 --- a/Scripts/Modules/HierarchyModule.cs +++ b/Scripts/Modules/HierarchyModule.cs @@ -40,11 +40,7 @@ void Awake() void OnEnable() { #if UNITY_EDITOR -#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged += UpdateHierarchyData; -#else - EditorApplication.hierarchyWindowChanged += UpdateHierarchyData; -#endif #endif UpdateHierarchyData(); } @@ -52,11 +48,7 @@ void OnEnable() void OnDisable() { #if UNITY_EDITOR -#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged -= UpdateHierarchyData; -#else - EditorApplication.hierarchyWindowChanged -= UpdateHierarchyData; -#endif #endif } diff --git a/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs b/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs index fa0ca0f0b..4482613bd 100644 --- a/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs +++ b/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs @@ -10,7 +10,6 @@ class VisibilityDetector : MonoBehaviour float m_FOVReduction = 0.75f; readonly Vector3[] m_Corners = new Vector3[4]; - // Should be readonly, but needs to be set by CalculateFrustumPlanes in 2017.2 Plane[] m_Planes = new Plane[6]; readonly HashSet m_Visibles = new HashSet(); readonly List m_WillRenders = new List(); @@ -31,11 +30,7 @@ void OnWillRenderCanvases() var projection = Matrix4x4.Perspective(camera.fieldOfView * m_FOVReduction, camera.aspect, camera.nearClipPlane, camera.farClipPlane); var worldToProjection = projection * camera.worldToCameraMatrix; -#if UNITY_2017_3_OR_NEWER GeometryUtility.CalculateFrustumPlanes(worldToProjection, m_Planes); -#else - m_Planes = GeometryUtility.CalculateFrustumPlanes(worldToProjection); -#endif m_WillRenders.Clear(); GetComponentsInChildren(m_WillRenders); diff --git a/Scripts/Modules/ProjectFolderModule.cs b/Scripts/Modules/ProjectFolderModule.cs index 20f285d52..5bded981e 100644 --- a/Scripts/Modules/ProjectFolderModule.cs +++ b/Scripts/Modules/ProjectFolderModule.cs @@ -27,21 +27,13 @@ sealed class ProjectFolderModule : MonoBehaviour, ISystemModule void OnEnable() { -#if UNITY_2018_1_OR_NEWER EditorApplication.projectChanged += UpdateProjectFolders; -#else - EditorApplication.projectWindowChanged += UpdateProjectFolders; -#endif UpdateProjectFolders(); } void OnDisable() { -#if UNITY_2018_1_OR_NEWER EditorApplication.projectChanged -= UpdateProjectFolders; -#else - EditorApplication.projectWindowChanged -= UpdateProjectFolders; -#endif } public void AddConsumer(IUsesProjectFolderData consumer) diff --git a/Scripts/Modules/SelectionModule/SelectionModule.cs b/Scripts/Modules/SelectionModule/SelectionModule.cs index 55fa775b4..a8256026a 100644 --- a/Scripts/Modules/SelectionModule/SelectionModule.cs +++ b/Scripts/Modules/SelectionModule/SelectionModule.cs @@ -137,11 +137,7 @@ GameObject GetGroupRoot(GameObject hoveredObject) return groupParent; #if UNITY_EDITOR -#if UNITY_2018_3_OR_NEWER var groupRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(hoveredObject); -#else - var groupRoot = PrefabUtility.FindPrefabRoot(hoveredObject); -#endif if (groupRoot) return groupRoot; diff --git a/Scripts/Proxies/Vive/ViveProxy.cs b/Scripts/Proxies/Vive/ViveProxy.cs index d40442f6f..2b994dd97 100644 --- a/Scripts/Proxies/Vive/ViveProxy.cs +++ b/Scripts/Proxies/Vive/ViveProxy.cs @@ -24,9 +24,7 @@ sealed class ViveProxy : TwoHandedProxyBase protected override void Awake() { -#if UNITY_2017_2_OR_NEWER m_IsOculus = XRDevice.model.IndexOf("oculus", StringComparison.OrdinalIgnoreCase) >= 0; -#endif if (m_IsOculus) { diff --git a/Scripts/UI/NumericInputField.cs b/Scripts/UI/NumericInputField.cs index 51f56162c..912ea74a2 100644 --- a/Scripts/UI/NumericInputField.cs +++ b/Scripts/UI/NumericInputField.cs @@ -249,11 +249,7 @@ void ParseNumberField() if (!float.TryParse(m_Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out floatVal)) { #if UNITY_EDITOR -#if UNITY_2018_3_OR_NEWER ExpressionEvaluator.Evaluate(m_Text, out floatVal); -#elif UNITY_2017_2_OR_NEWER - floatVal = ExpressionEvaluator.Evaluate(m_Text); -#endif #endif } @@ -268,12 +264,8 @@ void ParseNumberField() if (!int.TryParse(m_Text, out intVal)) { #if UNITY_EDITOR -#if UNITY_2018_3_OR_NEWER ExpressionEvaluator.Evaluate(m_Text, out intVal); m_Text = intVal.ToString(k_IntFieldFormatString); -#elif UNITY_2017_2_OR_NEWER - m_Text = ExpressionEvaluator.Evaluate(m_Text).ToString(k_IntFieldFormatString); -#endif #endif } } diff --git a/Tests/Editor/BuildPlayerTest.cs b/Tests/Editor/BuildPlayerTest.cs index 4eee1a660..340a18a3d 100644 --- a/Tests/Editor/BuildPlayerTest.cs +++ b/Tests/Editor/BuildPlayerTest.cs @@ -34,7 +34,6 @@ public void StandaloneWindows64() static void TestBuildPlayer(BuildTarget target) { -#if UNITY_2018_1_OR_NEWER var output = BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, "Temp/" + target, target, BuildOptions.BuildScriptsOnly); if (output.steps.Length > 0) { @@ -49,13 +48,6 @@ static void TestBuildPlayer(BuildTarget target) } Assert.AreEqual(0, output.summary.totalErrors); -# else - string output = BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, "Temp/" + target, target, BuildOptions.BuildScriptsOnly); - if (output.Contains("target is not supported")) - Assert.Inconclusive("Target platform {0} not installed", target); - - Assert.IsFalse(output.Contains("error")); -#endif } [TearDown] diff --git a/Tests/Editor/CompilationTest.cs b/Tests/Editor/CompilationTest.cs index 87a3ee814..6fca8f431 100644 --- a/Tests/Editor/CompilationTest.cs +++ b/Tests/Editor/CompilationTest.cs @@ -30,7 +30,7 @@ public void NoCCUDefines() public void NoEditorVR() { var defines = EditorUserBuildSettings.activeScriptCompilationDefines.ToList(); - defines.Remove("UNITY_2017_2_OR_NEWER"); + defines.Remove("UNITY_2018_3_OR_NEWER"); TestCompile(defines.ToArray()); } diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index 4ef850cd5..0527655f0 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -243,11 +243,7 @@ public void UpdateSelf(float width, int depth, bool? expanded, bool selected, bo UpdateArrow(expanded); #if UNITY_EDITOR -#if UNITY_2018_3_OR_NEWER var isPrefab = gameObject && PrefabUtility.GetPrefabInstanceStatus(gameObject) == PrefabInstanceStatus.Connected; -#else - var isPrefab = gameObject && PrefabUtility.GetPrefabType(gameObject) == PrefabType.PrefabInstance; -#endif #else var isPrefab = false; #endif diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index 768ec3665..3df8ed721 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -368,11 +368,7 @@ protected override void OnDestroy() { Undo.postprocessModifications -= OnPostprocessModifications; Undo.undoRedoPerformed -= UpdateCurrentObject; -#if UNITY_2018_1_OR_NEWER EditorApplication.hierarchyChanged -= UpdateCurrentObject; -#else - EditorApplication.hierarchyWindowChanged -= UpdateCurrentObject; -#endif base.OnDestroy(); } #endif From d8a602c64c4c350d0b7feaf22b2bc45562409677 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 16:21:31 -0700 Subject: [PATCH 14/75] Remove old patches; Update asmdef dependencies (only includes PolyToolkit) for 2018.3 --- Patches/Dependencies_asmdef.unitypackage | 4 ++-- Patches/UnityEngine.CoreModule_2017.2.0p1.zip | 3 --- Patches/UnityEngine.CoreModule_2017.2.0p1.zip.meta | 9 --------- Patches/UnityEngine.CoreModule_2017.3.0f3.zip | 3 --- Patches/UnityEngine.CoreModule_2017.3.0f3.zip.meta | 9 --------- Patches/UnityEngine.CoreModule_2018.1.0f1.zip | 3 --- Patches/UnityEngine.CoreModule_2018.1.0f1.zip.meta | 7 ------- 7 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 Patches/UnityEngine.CoreModule_2017.2.0p1.zip delete mode 100644 Patches/UnityEngine.CoreModule_2017.2.0p1.zip.meta delete mode 100644 Patches/UnityEngine.CoreModule_2017.3.0f3.zip delete mode 100644 Patches/UnityEngine.CoreModule_2017.3.0f3.zip.meta delete mode 100644 Patches/UnityEngine.CoreModule_2018.1.0f1.zip delete mode 100644 Patches/UnityEngine.CoreModule_2018.1.0f1.zip.meta diff --git a/Patches/Dependencies_asmdef.unitypackage b/Patches/Dependencies_asmdef.unitypackage index 3b1e0e11c..8740ceb35 100644 --- a/Patches/Dependencies_asmdef.unitypackage +++ b/Patches/Dependencies_asmdef.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:092e4b91f8c63c3ebfff3ada0cfa246a52a26f9aa0d16250ce892a59367ac91c -size 1087 +oid sha256:c95796c81b73fb5b48068a67840e8fd253f20110c933c84e4c9c107d44529d27 +size 770 diff --git a/Patches/UnityEngine.CoreModule_2017.2.0p1.zip b/Patches/UnityEngine.CoreModule_2017.2.0p1.zip deleted file mode 100644 index c9a2dbe90..000000000 --- a/Patches/UnityEngine.CoreModule_2017.2.0p1.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:263509d40ec2fe536344bfaf6e74c421d384466634e67e6b46039f96931a5834 -size 248879 diff --git a/Patches/UnityEngine.CoreModule_2017.2.0p1.zip.meta b/Patches/UnityEngine.CoreModule_2017.2.0p1.zip.meta deleted file mode 100644 index d53a7177e..000000000 --- a/Patches/UnityEngine.CoreModule_2017.2.0p1.zip.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 91ff1c9c19344e04b814821f72db55a8 -timeCreated: 1512465425 -licenseType: Pro -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Patches/UnityEngine.CoreModule_2017.3.0f3.zip b/Patches/UnityEngine.CoreModule_2017.3.0f3.zip deleted file mode 100644 index 2926aa898..000000000 --- a/Patches/UnityEngine.CoreModule_2017.3.0f3.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6a46d5bf31dce47c7ee1ad2dfed11d55404a345d2765cca42c3a6e1fbfd09c8 -size 252144 diff --git a/Patches/UnityEngine.CoreModule_2017.3.0f3.zip.meta b/Patches/UnityEngine.CoreModule_2017.3.0f3.zip.meta deleted file mode 100644 index 299152db2..000000000 --- a/Patches/UnityEngine.CoreModule_2017.3.0f3.zip.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 2e3ecd8506adfe04d914aa1be5940268 -timeCreated: 1515110681 -licenseType: Pro -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Patches/UnityEngine.CoreModule_2018.1.0f1.zip b/Patches/UnityEngine.CoreModule_2018.1.0f1.zip deleted file mode 100644 index 67191debb..000000000 --- a/Patches/UnityEngine.CoreModule_2018.1.0f1.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8d9513545da50953d25b746421560d08d8c393d74a5755f7ebfa4d900b7d23b -size 277009 diff --git a/Patches/UnityEngine.CoreModule_2018.1.0f1.zip.meta b/Patches/UnityEngine.CoreModule_2018.1.0f1.zip.meta deleted file mode 100644 index cf20e2513..000000000 --- a/Patches/UnityEngine.CoreModule_2018.1.0f1.zip.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 63c9661d6e3f4804dbfd9b637c7df5ab -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From 935365e6518dbab3ba39693f297706302db2a41d Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 16:32:48 -0700 Subject: [PATCH 15/75] Fix exception; Remove one more unnecessary conditional --- Scripts/Core/EditorVR.Tools.cs | 6 +++++- Scripts/Core/VRView.cs | 2 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Scripts/Core/EditorVR.Tools.cs b/Scripts/Core/EditorVR.Tools.cs index b5536ece1..478d39070 100644 --- a/Scripts/Core/EditorVR.Tools.cs +++ b/Scripts/Core/EditorVR.Tools.cs @@ -78,7 +78,11 @@ public void DisconnectInterface(object target, object userData = null) bool IsSharedUpdater(ILinkedObject linkedObject) { var type = linkedObject.GetType(); - return m_LinkedObjects[type].IndexOf(linkedObject) == 0; + List list; + if (m_LinkedObjects.TryGetValue(type, out list)) + return m_LinkedObjects[type].IndexOf(linkedObject) == 0; + + return false; } internal static bool IsDefaultTool(Type type) diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index d44b01b9c..4d22cb457 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -351,9 +351,7 @@ void PrepareCameraTargetTexture(Rect cameraRect) // Always render camera into a RT CreateCameraTargetTexture(ref m_TargetTexture, cameraRect, false); m_Camera.targetTexture = m_TargetTexture; -#if UNITY_2017_2_OR_NEWER XRSettings.showDeviceView = !customPreviewCamera && m_ShowDeviceView; -#endif } void OnGUI() From 493ef844e1a7a5a1400ba14e7d49287394d015bc Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 17:09:24 -0700 Subject: [PATCH 16/75] Update asmdef dependencies to have a placeholder for SpatialTracking (no longer included in the engine in 2019.1) --- Patches/Dependencies_asmdef.unitypackage | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Patches/Dependencies_asmdef.unitypackage b/Patches/Dependencies_asmdef.unitypackage index 8740ceb35..37df10eea 100644 --- a/Patches/Dependencies_asmdef.unitypackage +++ b/Patches/Dependencies_asmdef.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c95796c81b73fb5b48068a67840e8fd253f20110c933c84e4c9c107d44529d27 -size 770 +oid sha256:ff5efccb5edb9bfe42f5b022b177795e53296cb0c2c333ecd6d5943d124c0e6d +size 1007 From fe359650166f595d5df634a8622f6084c9e10472 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 18:44:48 -0700 Subject: [PATCH 17/75] Fix controller device initialization --- Scripts/Input/BaseVRInputToEvents.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index 762841e27..e7577514a 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -32,16 +32,17 @@ protected virtual string DeviceName public void Update() { - active = false; + var deviceActive = false; foreach (var device in UnityEngine.Input.GetJoystickNames()) { if (device.IndexOf(DeviceName, StringComparison.OrdinalIgnoreCase) >= 0) { - active = true; + deviceActive = true; break; } } + active = deviceActive; if (!active) return; From b7b4d697a6870dbb8d9338e2370392705e629dbf Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sat, 16 Mar 2019 19:48:18 -0700 Subject: [PATCH 18/75] Fix shader error; Destroy materials in classes where they are instantiated --- Menus/RadialMenu/Shaders/RadialFrame.shader | 2 ++ Menus/ToolsMenu/ToolsMenuButton/ToolsMenuButton.cs | 5 ++--- Scripts/UI/GradientButton.cs | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Menus/RadialMenu/Shaders/RadialFrame.shader b/Menus/RadialMenu/Shaders/RadialFrame.shader index 66b699826..6b410c03e 100644 --- a/Menus/RadialMenu/Shaders/RadialFrame.shader +++ b/Menus/RadialMenu/Shaders/RadialFrame.shader @@ -35,6 +35,8 @@ Shader "EditorVR/RadialMenu/RadialFrame" _DetailNormalMapScale("Scale", Float) = 1.0 _DetailNormalMap("Normal Map", 2D) = "bump" {} + [Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0 + [HideInInspector] _Mode ("__mode", Float) = 0.0 [HideInInspector] _SrcBlend ("__src", Float) = 1.0 [HideInInspector] _DstBlend ("__dst", Float) = 0.0 diff --git a/Menus/ToolsMenu/ToolsMenuButton/ToolsMenuButton.cs b/Menus/ToolsMenu/ToolsMenuButton/ToolsMenuButton.cs index 12a317e5b..e2bb50373 100644 --- a/Menus/ToolsMenu/ToolsMenuButton/ToolsMenuButton.cs +++ b/Menus/ToolsMenu/ToolsMenuButton/ToolsMenuButton.cs @@ -478,11 +478,10 @@ void Start() void OnDestroy() { - ObjectUtils.Destroy(m_InsetMaterial); + ObjectUtils.Destroy(m_FrameMaterial); ObjectUtils.Destroy(m_IconMaterial); - ObjectUtils.Destroy(m_CloseInsetMaterial); + ObjectUtils.Destroy(m_MaskMaterial); ObjectUtils.Destroy(m_CloseButtonMaskMaterial); - ObjectUtils.Destroy(m_FrameMaterial); this.StopCoroutine(ref m_PositionCoroutine); this.StopCoroutine(ref m_VisibilityCoroutine); diff --git a/Scripts/UI/GradientButton.cs b/Scripts/UI/GradientButton.cs index 15a4dc288..b0165b91b 100644 --- a/Scripts/UI/GradientButton.cs +++ b/Scripts/UI/GradientButton.cs @@ -263,6 +263,11 @@ void Awake() #endif } + void OnDestroy() + { + ObjectUtils.Destroy(m_ButtonMaterial); + } + void OnEnable() { m_ContentContainer.gameObject.SetActive(true); From 06f945decc06e41b95c412473893666049fbd0ca Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Wed, 27 Mar 2019 16:14:56 -0700 Subject: [PATCH 19/75] Add tech / halo risk description; Clean up language --- .github/pull_request_template.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4aec231b0..e1345bbe6 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,15 +1,27 @@ ### Purpose of this PR -[Desc of feature/change. Links to screenshots, design docs, user docs, etc. Remember reviewers may be outside your team, and not know your feature/area that should be explained more.] +[Description of the feature/changes. Links to screenshots, design docs, user docs, etc. as necessary. Consider which reviewers may be outside of your team and how much of the feature/area should be explained more.] ### Testing status -[Explanation of what’s tested, how tested and existing or new automation tests. Can include manual testing by self and/or QA. Specify test plans. Rarely acceptable to have no testing.] +[Explanation of what’s been tested, how it was tested, and existing or new automation tests. Can include manual testing by self and/or QA. Specify test plans. Rarely acceptable to have no testing.] -### Technical risk +### Technical / Halo risk -[Overall product level assessment of risk of change. Need technical risk & halo effect.] +[Overall product level assessment of the risk of the changes using the following criteria: + +Tech Risk (not Tech Correctness, which is deferred to the reviewers) +* **0** could be just zero impact changes, removals but no logic changes +* **1** low impact, simple logic changes +* **2** is anything between 1 and 3 +* **3** are extremely likely to introduce bugs + +Halo Risk (Externality risk) +* **0** local change with no risk to other areas +* **1** neighbors could be affected +* **2** anything between 1 and 3 +* **3** things might break everywhere] ### Comments to reviewers -[Info per person for what to focus on, or historical info to understand who have previously reviewed and coverage. Help them get context.] +[Per person info for what to focus on or historical info for a new reviewer to understand who may have previously reviewed and what their coverage was. Provide context.] From 1e29bf40f2c50b6b1c4ffd7bf73b80e36d1b1c5f Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Wed, 27 Mar 2019 16:22:46 -0700 Subject: [PATCH 20/75] Minor change --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e1345bbe6..714c96e1f 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,7 +4,7 @@ ### Testing status -[Explanation of what’s been tested, how it was tested, and existing or new automation tests. Can include manual testing by self and/or QA. Specify test plans. Rarely acceptable to have no testing.] +[Explanation of what’s been tested, how it was tested, and changes to existing or new automation tests. Testing can include manual testing by self and/or QA. Specify test plans; Rarely acceptable to have no testing.] ### Technical / Halo risk From 31f36baabb304b6700113280064ada12e926e9e9 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Wed, 10 Apr 2019 10:45:00 -0700 Subject: [PATCH 21/75] Add error message if using a 2018.3 minor version prior to 12f1 --- Scripts/Input/BaseVRInputToEvents.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index e7577514a..66c40b0c0 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; +using System.Text.RegularExpressions; using UnityEngine; -using UnityEngine.EventSystems; using UnityEngine.InputNew; using UnityEngine.XR; @@ -30,6 +30,19 @@ protected virtual string DeviceName VRInputDevice.VRControl.LeftStickButton }; +#if UNITY_2018_3 + void Awake() + { + var match = Regex.Match(Application.unityVersion, @"([.](\d+))+"); + if (match.Groups.Count > 0) + { + var group = match.Groups[2]; + if (int.TryParse(group.Value, out var minor) && minor < 12) + Debug.LogError($"Unity 2018.3.12f1 or greater is required to have full input capabilities"); + } + } +#endif + public void Update() { var deviceActive = false; From a0641ed86f97594f282d957a8d50bb51f935ce7f Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 03:33:23 -0700 Subject: [PATCH 22/75] Update readme to reflect dependency on legacyinputhelpers --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b004c42ff..4502a946e 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,8 @@ If you're a developer, we recommend that you take a look at the [Getting Started ### Project Asset Dependencies - [Textmesh Pro](https://docs.unity3d.com/Packages/com.unity.textmeshpro@1.2/manual/index.html#installation) +- [Legacy Input Helpers](https://docs.unity3d.com/Packages/com.unity.xr.legacyinputhelpers@1.0/manual/index.html#installing-comunityxrlegacyinputhelpers) + - Users of 2018.3 will need to manaully add `"com.unity.xr.legacyinputhelpers": "1.0.3"` to `Packages/manifest.json` ### Cloning 1. Create a new Unity project or use an existing one @@ -46,9 +48,9 @@ If you plan on making changes to EditorXR and/or contributing back, then you'll ### Assembly Definitions In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. The EditorXR assembly definition must reference both platform SDK packages (SteamVR or Oculus VR) from the Asset Store. These packages do not include assembly definitions in their current forms, so after importing EditorXR, you must add them. -For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing these assembly definitions in the locations they are likely to be needed. This package also contains an assembly definition for the PolyToolkit, which is also referenced by EditorXR. +For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing an assembly definition for the PolyToolkit, which is also referenced by EditorXR. -This is not required for Unity versions 2019.1 and above. +This is not required for Unity versions 2019.1 and above, though you will need an assembly definition in order to reference PolyToolkit. ## All contributions are subject to the [Unity Contribution Agreement (UCA)](https://unity3d.com/legal/licenses/Unity_Contribution_Agreement) By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions. From ea2f0a23a0433cc5a7e02e369935db549a5281c1 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 04:21:32 -0700 Subject: [PATCH 23/75] Move SeedXRInputBindings to Editor assembly; Use readonly for planes array in VisibilityDetector --- EXR.asmdef | 2 +- {Scripts/Input => Editor}/SeedXRInputBindings.cs | 13 ++++++++----- .../Input => Editor}/SeedXRInputBindings.cs.meta | 0 Scripts/Core/EditorVR.cs | 5 +++-- Scripts/Input/OVRTouchInputToEvents.cs | 10 +--------- .../MultipleRayInputModule/VisibilityDetector.cs | 2 +- 6 files changed, 14 insertions(+), 18 deletions(-) rename {Scripts/Input => Editor}/SeedXRInputBindings.cs (99%) rename {Scripts/Input => Editor}/SeedXRInputBindings.cs.meta (100%) diff --git a/EXR.asmdef b/EXR.asmdef index e1f45cae7..4f9ca7e42 100644 --- a/EXR.asmdef +++ b/EXR.asmdef @@ -17,4 +17,4 @@ "autoReferenced": true, "defineConstraints": [], "versionDefines": [] -} \ No newline at end of file +} diff --git a/Scripts/Input/SeedXRInputBindings.cs b/Editor/SeedXRInputBindings.cs similarity index 99% rename from Scripts/Input/SeedXRInputBindings.cs rename to Editor/SeedXRInputBindings.cs index 66dd9bed7..d058d5fb7 100644 --- a/Scripts/Input/SeedXRInputBindings.cs +++ b/Editor/SeedXRInputBindings.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using UnityEngine; +using System.Collections.Generic; // Copied from UnityEditor.XR.LegacyInputHelpers namespace UnityEditor.Experimental.EditorXR.LegacyInputHelpers @@ -8,8 +6,13 @@ namespace UnityEditor.Experimental.EditorXR.LegacyInputHelpers /// /// The SeedXRInputBindings class is used to populate the Input Asset with the cross platform bindings published by Unity for most XR Devices. /// + [InitializeOnLoad] public class SeedXRInputBindings { + static SeedXRInputBindings() + { + EditorVR.Core.EditorVR.UpdateInputManager = UpdateInputManager; + } #region InputAxisDataAndConfig // Same as InputAxis.h internal class InputAxis @@ -511,7 +514,7 @@ internal struct BindingData } #endregion - static public void UpdateInputManager() + public static void UpdateInputManager() { SeedXRInputBindings sxrib = new SeedXRInputBindings(); sxrib.GenerateXRBindings(); @@ -719,4 +722,4 @@ internal void LoadExistingDataAndCheckAgainstNewData(SerializedProperty arrayRoo } #endregion } -} \ No newline at end of file +} diff --git a/Scripts/Input/SeedXRInputBindings.cs.meta b/Editor/SeedXRInputBindings.cs.meta similarity index 100% rename from Scripts/Input/SeedXRInputBindings.cs.meta rename to Editor/SeedXRInputBindings.cs.meta diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 306832921..35edabf64 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -7,7 +7,6 @@ using UnityEditor.Experimental.EditorVR.Extensions; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Utilities; -using UnityEditor.Experimental.EditorXR.LegacyInputHelpers; using UnityEngine; using UnityEngine.InputNew; @@ -81,6 +80,7 @@ internal static string serializedPreferences internal static Type DefaultMenu { private get; set; } internal static Type DefaultAlternateMenu { private get; set; } internal static Type[] HiddenTypes { private get; set; } + internal static Action UpdateInputManager { private get; set; } class DeviceData { @@ -147,7 +147,8 @@ static void HandleInitialization() void Initialize() { - SeedXRInputBindings.UpdateInputManager(); + if (UpdateInputManager != null) + UpdateInputManager(); #if UNITY_EDITOR DrivenRectTransformTracker.StopRecordingUndo(); diff --git a/Scripts/Input/OVRTouchInputToEvents.cs b/Scripts/Input/OVRTouchInputToEvents.cs index f695d71e0..752b6addf 100644 --- a/Scripts/Input/OVRTouchInputToEvents.cs +++ b/Scripts/Input/OVRTouchInputToEvents.cs @@ -1,11 +1,4 @@ -#if UNITY_EDITOR -using System; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.InputNew; -using UnityEngine.XR; - -namespace UnityEditor.Experimental.EditorVR.Input +namespace UnityEditor.Experimental.EditorVR.Input { sealed class OVRTouchInputToEvents : BaseVRInputToEvents { @@ -15,4 +8,3 @@ protected override string DeviceName } } } -#endif \ No newline at end of file diff --git a/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs b/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs index 4482613bd..1731c4a83 100644 --- a/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs +++ b/Scripts/Modules/MultipleRayInputModule/VisibilityDetector.cs @@ -10,7 +10,7 @@ class VisibilityDetector : MonoBehaviour float m_FOVReduction = 0.75f; readonly Vector3[] m_Corners = new Vector3[4]; - Plane[] m_Planes = new Plane[6]; + readonly Plane[] m_Planes = new Plane[6]; readonly HashSet m_Visibles = new HashSet(); readonly List m_WillRenders = new List(); From a8f878b378c6f16fb40f6f11453fe4894c3e7bdb Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 14:42:16 -0700 Subject: [PATCH 24/75] Fix tests --- Scripts/Core/EditorVR.cs | 3 +++ Scripts/Input/BaseVRInputToEvents.cs | 3 ++- Tests/Editor/Unit/Core/EditingContextManagerTests.cs | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 35edabf64..ff6c9c423 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -392,6 +392,9 @@ void OnDestroy() { nested.OnDestroy(); } + + // Suppress MissingReferenceException in tests + EditorApplication.delayCall -= OnSelectionChanged; #if UNITY_EDITOR DrivenRectTransformTracker.StartRecordingUndo(); diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index 66c40b0c0..fc55caee7 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -36,8 +36,9 @@ void Awake() var match = Regex.Match(Application.unityVersion, @"([.](\d+))+"); if (match.Groups.Count > 0) { + int minor; var group = match.Groups[2]; - if (int.TryParse(group.Value, out var minor) && minor < 12) + if (int.TryParse(group.Value, out minor) && minor < 12) Debug.LogError($"Unity 2018.3.12f1 or greater is required to have full input capabilities"); } } diff --git a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs index 184e8f956..8bfdc05ab 100644 --- a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs +++ b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs @@ -31,6 +31,7 @@ public void Setup() context.m_DefaultToolStack = new List(); context.m_DefaultToolStack.Add(MonoScript.FromMonoBehaviour(transformTool)); context.m_DefaultToolStack.Add(MonoScript.FromMonoBehaviour(createPrimitiveTool)); + ObjectUtils.Destroy(go); context2 = ScriptableObject.CreateInstance(); context2.name = "Yet Another Context"; @@ -161,10 +162,10 @@ public void SaveUserSettings_UpdatesUserSettingsFile() [OneTimeTearDown] public void Cleanup() { - ObjectUtils.Destroy(go); manager.SetEditingContext(EditingContextManager.defaultContext); ObjectUtils.Destroy(context); ObjectUtils.Destroy(context2); + VRView.activeView.Close(); } } From 06416de8d99c19fc89bf771f8991c4b3bb134af5 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 17:05:51 -0700 Subject: [PATCH 25/75] Fix compile errors in 2018.1 --- Editor/BuildCallbacks.cs | 4 +++- Editor/HapticPulsesEditor.cs | 4 +++- Editor/ProxyFeedbackEditor.cs | 6 ++++-- Editor/SeedXRInputBindings.cs | 4 +++- Scripts/Core/Contexts/EditingContextManager.cs | 2 ++ Scripts/Core/Contexts/EditorXRContext.cs | 4 +++- Scripts/Core/EditorVR.DirectSelection.cs | 2 ++ Scripts/Core/EditorVR.Interfaces.cs | 2 ++ Scripts/Core/EditorVR.Menus.cs | 2 ++ Scripts/Core/EditorVR.MiniWorlds.cs | 2 ++ Scripts/Core/EditorVR.Rays.cs | 2 ++ Scripts/Core/EditorVR.Tools.cs | 2 ++ Scripts/Core/EditorVR.ToolsMenu.cs | 2 ++ Scripts/Core/EditorVR.UI.cs | 2 ++ Scripts/Core/EditorVR.Vacuumables.cs | 2 ++ Scripts/Core/EditorVR.Viewer.cs | 2 ++ Scripts/Core/EditorVR.cs | 8 ++++---- .../Core/InterfaceConnectors/ActionsModuleConnector.cs | 4 +++- .../AdaptivePositionModuleConnector.cs | 4 +++- .../InterfaceConnectors/DeviceInputModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/FeedbackModuleConnector.cs | 4 +++- .../InterfaceConnectors/GazeDivergenceModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/HapticsModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/HierarchyModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/HighlightModuleConnector.cs | 4 +++- .../InterfaceConnectors/IntersectionModuleConnector.cs | 2 ++ Scripts/Core/InterfaceConnectors/LockModuleConnector.cs | 4 +++- .../MultipleRayInputModuleConnector.cs | 4 +++- Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs | 2 ++ .../InterfaceConnectors/ProjectFolderModuleConnector.cs | 4 +++- .../InterfaceConnectors/SceneObjectModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/SelectionModuleConnector.cs | 4 +++- .../SerializedPreferencesModuleConnector.cs | 5 +++-- .../Core/InterfaceConnectors/SnappingModuleConnector.cs | 4 +++- .../InterfaceConnectors/SpatialHashModuleConnector.cs | 4 +++- .../InterfaceConnectors/SpatialHintModuleConnector.cs | 4 +++- .../InterfaceConnectors/SpatialScrollModuleConnector.cs | 4 +++- .../Core/InterfaceConnectors/TooltipModuleConnector.cs | 4 +++- Scripts/Core/InterfaceConnectors/WebModuleConnector.cs | 2 ++ .../Core/InterfaceConnectors/WorkspaceModuleConnector.cs | 4 +++- Scripts/Data/AssetData.cs | 2 ++ Scripts/Data/DefaultScriptReferences.cs | 2 ++ Scripts/Modules/HapticsModule/HapticsModule.cs | 4 +++- Scripts/Modules/SelectionModule/SelectionModule.cs | 2 ++ Scripts/UI/NumericInputField.cs | 4 ++++ Tests/Editor/Unit/Core/EditingContextManagerTests.cs | 4 +++- .../HierarchyWorkspace/Scripts/HierarchyListItem.cs | 2 +- 47 files changed, 125 insertions(+), 34 deletions(-) diff --git a/Editor/BuildCallbacks.cs b/Editor/BuildCallbacks.cs index b0c9c5e8d..baeed2643 100644 --- a/Editor/BuildCallbacks.cs +++ b/Editor/BuildCallbacks.cs @@ -1,4 +1,5 @@ -using System; +#if UNITY_2018_3_OR_NEWER +using System; using System.Collections.Generic; using System.IO; using UnityEditor.Build; @@ -121,3 +122,4 @@ void CheckBuildComplete() } } } +#endif diff --git a/Editor/HapticPulsesEditor.cs b/Editor/HapticPulsesEditor.cs index 90a6ecfda..d460c18ee 100644 --- a/Editor/HapticPulsesEditor.cs +++ b/Editor/HapticPulsesEditor.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +#if UNITY_2018_3_OR_NEWER +using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Core; using UnityEditor.Experimental.EditorVR.Modules; using UnityEngine; @@ -134,3 +135,4 @@ void OnProjectChange() } } } +#endif diff --git a/Editor/ProxyFeedbackEditor.cs b/Editor/ProxyFeedbackEditor.cs index 32632e914..d7860d43a 100644 --- a/Editor/ProxyFeedbackEditor.cs +++ b/Editor/ProxyFeedbackEditor.cs @@ -1,4 +1,5 @@ -using System; +#if UNITY_2018_3_OR_NEWER +using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Proxies; @@ -140,4 +141,5 @@ void SaveData() Core.EditorVR.serializedPreferences = JsonUtility.ToJson(preferences); } } -} \ No newline at end of file +} +#endif diff --git a/Editor/SeedXRInputBindings.cs b/Editor/SeedXRInputBindings.cs index d058d5fb7..f9a64a9c5 100644 --- a/Editor/SeedXRInputBindings.cs +++ b/Editor/SeedXRInputBindings.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +#if UNITY_2018_3_OR_NEWER +using System.Collections.Generic; // Copied from UnityEditor.XR.LegacyInputHelpers namespace UnityEditor.Experimental.EditorXR.LegacyInputHelpers @@ -723,3 +724,4 @@ internal void LoadExistingDataAndCheckAgainstNewData(SerializedProperty arrayRoo #endregion } } +#endif diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index 41ebfb651..da64a16d5 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -149,6 +149,7 @@ static void EditProjectSettings() Selection.activeObject = settings; } +#if UNITY_2018_3_OR_NEWER [SettingsProvider] static SettingsProvider CreateSettingsProvider() { @@ -201,6 +202,7 @@ static SettingsProvider CreateSettingsProvider() return provider; } +#endif static void OnAutoOpenStateChanged() { diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index 7aee45e06..3100296e2 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -1,4 +1,5 @@ -using System; +#if UNITY_2018_3_OR_NEWER +using System; using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Utilities; @@ -168,3 +169,4 @@ static void PreferencesGUI() #endif } } +#endif diff --git a/Scripts/Core/EditorVR.DirectSelection.cs b/Scripts/Core/EditorVR.DirectSelection.cs index bd0647ddb..a9efbcaa4 100644 --- a/Scripts/Core/EditorVR.DirectSelection.cs +++ b/Scripts/Core/EditorVR.DirectSelection.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections.Generic; using System.Linq; @@ -262,3 +263,4 @@ void ResetDirectSelectionState() } } } +#endif diff --git a/Scripts/Core/EditorVR.Interfaces.cs b/Scripts/Core/EditorVR.Interfaces.cs index c3028f0a2..b66109fb6 100644 --- a/Scripts/Core/EditorVR.Interfaces.cs +++ b/Scripts/Core/EditorVR.Interfaces.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections.Generic; @@ -47,3 +48,4 @@ void DisconnectInterfaces(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/EditorVR.Menus.cs b/Scripts/Core/EditorVR.Menus.cs index 61e3592d4..1820729b9 100644 --- a/Scripts/Core/EditorVR.Menus.cs +++ b/Scripts/Core/EditorVR.Menus.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections.Generic; using System.Linq; @@ -624,3 +625,4 @@ static bool IsMainMenuVisible(Transform rayOrigin) } } } +#endif diff --git a/Scripts/Core/EditorVR.MiniWorlds.cs b/Scripts/Core/EditorVR.MiniWorlds.cs index 4cfad182f..fb1168d1f 100644 --- a/Scripts/Core/EditorVR.MiniWorlds.cs +++ b/Scripts/Core/EditorVR.MiniWorlds.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Extensions; @@ -647,3 +648,4 @@ void OnObjectsTransferred(Transform sourceRayOrigin, Transform destinationRayOri } } } +#endif diff --git a/Scripts/Core/EditorVR.Rays.cs b/Scripts/Core/EditorVR.Rays.cs index 72000a6ff..d22ec5a2b 100644 --- a/Scripts/Core/EditorVR.Rays.cs +++ b/Scripts/Core/EditorVR.Rays.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Helpers; @@ -550,3 +551,4 @@ static Color GetDefaultRayColor(Transform rayOrigin) } } } +#endif diff --git a/Scripts/Core/EditorVR.Tools.cs b/Scripts/Core/EditorVR.Tools.cs index 478d39070..34e846865 100644 --- a/Scripts/Core/EditorVR.Tools.cs +++ b/Scripts/Core/EditorVR.Tools.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections.Generic; using System.Linq; @@ -463,3 +464,4 @@ internal static void UpdatePlayerHandleMaps(List maps) } } } +#endif diff --git a/Scripts/Core/EditorVR.ToolsMenu.cs b/Scripts/Core/EditorVR.ToolsMenu.cs index 2582f965f..83d37a092 100644 --- a/Scripts/Core/EditorVR.ToolsMenu.cs +++ b/Scripts/Core/EditorVR.ToolsMenu.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Linq; using UnityEngine; @@ -55,3 +56,4 @@ static void OnMainMenuActivatorSelected(Transform rayOrigin) } } } +#endif diff --git a/Scripts/Core/EditorVR.UI.cs b/Scripts/Core/EditorVR.UI.cs index 3e92dafda..25548cb68 100644 --- a/Scripts/Core/EditorVR.UI.cs +++ b/Scripts/Core/EditorVR.UI.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.UI; @@ -155,3 +156,4 @@ byte RequestStencilRef() } } } +#endif diff --git a/Scripts/Core/EditorVR.Vacuumables.cs b/Scripts/Core/EditorVR.Vacuumables.cs index 172c35f3f..509cec53c 100644 --- a/Scripts/Core/EditorVR.Vacuumables.cs +++ b/Scripts/Core/EditorVR.Vacuumables.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System.Collections.Generic; namespace UnityEditor.Experimental.EditorVR.Core @@ -22,3 +23,4 @@ internal void OnWorkspaceDestroyed(IWorkspace workspace) } } } +#endif diff --git a/Scripts/Core/EditorVR.Viewer.cs b/Scripts/Core/EditorVR.Viewer.cs index 787af689c..c0844ef29 100644 --- a/Scripts/Core/EditorVR.Viewer.cs +++ b/Scripts/Core/EditorVR.Viewer.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections; using System.Collections.Generic; @@ -354,3 +355,4 @@ void SetViewerScale(float scale) } } } +#endif diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index ff6c9c423..22109f33e 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -14,10 +14,10 @@ namespace UnityEditor.Experimental.EditorVR.Core { -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR [InitializeOnLoad] #endif +#if UNITY_2018_3_OR_NEWER [RequiresTag(k_VRPlayerTag)] sealed partial class EditorVR : MonoBehaviour, IEditor, IConnectInterfaces { @@ -392,9 +392,9 @@ void OnDestroy() { nested.OnDestroy(); } - + // Suppress MissingReferenceException in tests - EditorApplication.delayCall -= OnSelectionChanged; + EditorApplication.delayCall -= OnSelectionChanged; #if UNITY_EDITOR DrivenRectTransformTracker.StartRecordingUndo(); @@ -551,7 +551,7 @@ static EditorVR() #endif } #else - internal class NoEditorVR + class NoEditorVR { const string k_ShowCustomEditorWarning = "EditorVR.ShowCustomEditorWarning"; diff --git a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs index 82768a5f1..5f85dae09 100644 --- a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -62,3 +63,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs index d1526cd77..b896318b3 100644 --- a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -28,3 +29,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs index 861262ff3..8db7b9d6f 100644 --- a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -26,3 +27,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs index 9b116ccab..647fc1483 100644 --- a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs @@ -1,4 +1,5 @@ -namespace UnityEditor.Experimental.EditorVR.Core +#if UNITY_2018_3_OR_NEWER +namespace UnityEditor.Experimental.EditorVR.Core { partial class EditorVR { @@ -20,3 +21,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs index 09432ede5..43a03070b 100644 --- a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(GazeDivergenceModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs index bd3072c5c..26cf890db 100644 --- a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(HapticsModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs index 05e953294..8af92341d 100644 --- a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs @@ -1,4 +1,5 @@ -#if UNITY_EDITOR +#if UNITY_2018_3_OR_NEWER +#if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core @@ -38,3 +39,4 @@ public void DisconnectInterface(object target, object userData = null) } } #endif +#endif diff --git a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs index 8cc98ed02..deeb8209c 100644 --- a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -28,3 +29,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs index 9112ea8d9..30eacf311 100644 --- a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core @@ -28,3 +29,4 @@ public void DisconnectInterface(object target, object userData = null) { } } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs index f335c7afe..b435c3dee 100644 --- a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(LockModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs index 5f1cb2499..886ddbfbe 100644 --- a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(MultipleRayInputModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs index daf320367..409166027 100644 --- a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using UnityEditor.Experimental.EditorVR; using UnityEditor.Experimental.EditorVR.Modules; @@ -18,3 +19,4 @@ public void LateBindInterfaceMethods(PolyModule provider) } } #endif +#endif diff --git a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs index e14f8e832..f61c1f7e9 100644 --- a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs @@ -1,4 +1,5 @@ -#if UNITY_EDITOR +#if UNITY_2018_3_OR_NEWER +#if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core @@ -38,3 +39,4 @@ public void DisconnectInterface(object target, object userData = null) } } #endif +#endif diff --git a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs index 27008bc30..0ff3bc7a1 100644 --- a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -15,3 +16,4 @@ public void LateBindInterfaceMethods(SceneObjectModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs index 85c2a9ea0..594c67cf7 100644 --- a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -30,3 +31,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs index c9ec49bec..69b5834ab 100644 --- a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -22,4 +23,4 @@ public void DisconnectInterface(object target, object userData = null) } } } - +#endif diff --git a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs index 393bf0e4c..ed0789fa1 100644 --- a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -15,3 +16,4 @@ public void LateBindInterfaceMethods(SnappingModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs index 12d90a76c..9ee9762f2 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(SpatialHashModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs index de4769ec5..76a57e2df 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -20,3 +21,4 @@ public void LateBindInterfaceMethods(SpatialHintModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs index 9f86474c8..4c6290701 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(SpatialScrollModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs index e249c5ed3..549bd85fb 100644 --- a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core { @@ -14,3 +15,4 @@ public void LateBindInterfaceMethods(TooltipModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs index 5aa8a3fe0..25e0c9cc0 100644 --- a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core @@ -15,3 +16,4 @@ public void LateBindInterfaceMethods(WebModule provider) } } } +#endif diff --git a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs index b2274b29a..7c43233ea 100644 --- a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs @@ -1,4 +1,5 @@ -using UnityEditor.Experimental.EditorVR.Modules; +#if UNITY_2018_3_OR_NEWER +using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Workspaces; namespace UnityEditor.Experimental.EditorVR.Core @@ -38,3 +39,4 @@ public void DisconnectInterface(object target, object userData = null) } } } +#endif diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index 7f97de4bd..5b40615e3 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -44,6 +44,7 @@ void UpdateType() { if (type == "GameObject") { +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR switch (PrefabUtility.GetPrefabAssetType(asset)) { @@ -54,6 +55,7 @@ void UpdateType() type = PrefabTypeString; break; } +#endif #endif } } diff --git a/Scripts/Data/DefaultScriptReferences.cs b/Scripts/Data/DefaultScriptReferences.cs index 1cdb66a37..871a0e3c6 100644 --- a/Scripts/Data/DefaultScriptReferences.cs +++ b/Scripts/Data/DefaultScriptReferences.cs @@ -62,6 +62,7 @@ void Awake() } } +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR [MenuItem("Assets/Create/EditorXR/Default Script References")] static void UpdateScriptReferences() @@ -113,6 +114,7 @@ static void UpdateScriptReferences() AssetDatabase.SaveAssets(); } +#endif #endif } } diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index bbe9ab22b..c3417f135 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -1,4 +1,5 @@ -using System; +#if UNITY_2018_3_OR_NEWER +using System; using System.IO; using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; @@ -146,3 +147,4 @@ InputDevice GetTargetChannel(Node node) } } } +#endif diff --git a/Scripts/Modules/SelectionModule/SelectionModule.cs b/Scripts/Modules/SelectionModule/SelectionModule.cs index a8256026a..3fccd2e25 100644 --- a/Scripts/Modules/SelectionModule/SelectionModule.cs +++ b/Scripts/Modules/SelectionModule/SelectionModule.cs @@ -136,11 +136,13 @@ GameObject GetGroupRoot(GameObject hoveredObject) if (m_GroupMap.TryGetValue(hoveredObject, out groupParent)) return groupParent; +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR var groupRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(hoveredObject); if (groupRoot) return groupRoot; +#endif #endif return null; diff --git a/Scripts/UI/NumericInputField.cs b/Scripts/UI/NumericInputField.cs index 912ea74a2..f3f304bec 100644 --- a/Scripts/UI/NumericInputField.cs +++ b/Scripts/UI/NumericInputField.cs @@ -248,8 +248,10 @@ void ParseNumberField() if (!float.TryParse(m_Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out floatVal)) { +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR ExpressionEvaluator.Evaluate(m_Text, out floatVal); +#endif #endif } @@ -263,9 +265,11 @@ void ParseNumberField() int intVal; if (!int.TryParse(m_Text, out intVal)) { +#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR ExpressionEvaluator.Evaluate(m_Text, out intVal); m_Text = intVal.ToString(k_IntFieldFormatString); +#endif #endif } } diff --git a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs index 8bfdc05ab..bdd4b2087 100644 --- a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs +++ b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +#if UNITY_2018_3_OR_NEWER +using NUnit.Framework; using System.Collections.Generic; using System.IO; using System.Threading; @@ -173,3 +174,4 @@ class SetEditingContextImplementor : ISetEditingContext { } } +#endif diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index 0527655f0..a27eb0ed6 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -242,7 +242,7 @@ public void UpdateSelf(float width, int depth, bool? expanded, bool selected, bo UpdateArrow(expanded); -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_3_OR_NEWER var isPrefab = gameObject && PrefabUtility.GetPrefabInstanceStatus(gameObject) == PrefabInstanceStatus.Connected; #else var isPrefab = false; From 688635807488b784c61dafd23518e8ce2fe700a6 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 17:44:44 -0700 Subject: [PATCH 26/75] Fix compile errors in 2017.4 --- Scripts/Modules/HierarchyModule.cs | 4 +++- Scripts/Modules/ProjectFolderModule.cs | 2 ++ Tests/Editor/BuildPlayerTest.cs | 4 +++- Workspaces/InspectorWorkspace/InspectorWorkspace.cs | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Scripts/Modules/HierarchyModule.cs b/Scripts/Modules/HierarchyModule.cs index 939793b03..a8f3e852d 100644 --- a/Scripts/Modules/HierarchyModule.cs +++ b/Scripts/Modules/HierarchyModule.cs @@ -1,4 +1,5 @@ -using System; +#if UNITY_2018_3_OR_NEWER +using System; using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Core; @@ -258,3 +259,4 @@ sealed class HierarchyModule : MonoBehaviour } #endif } +#endif diff --git a/Scripts/Modules/ProjectFolderModule.cs b/Scripts/Modules/ProjectFolderModule.cs index 5bded981e..2cd3593ce 100644 --- a/Scripts/Modules/ProjectFolderModule.cs +++ b/Scripts/Modules/ProjectFolderModule.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System; using System.Collections; using System.Collections.Generic; @@ -186,3 +187,4 @@ sealed class ProjectFolderModule : MonoBehaviour } #endif } +#endif diff --git a/Tests/Editor/BuildPlayerTest.cs b/Tests/Editor/BuildPlayerTest.cs index 340a18a3d..4d0849740 100644 --- a/Tests/Editor/BuildPlayerTest.cs +++ b/Tests/Editor/BuildPlayerTest.cs @@ -1,4 +1,5 @@ -#if !UNITY_CLOUD_BUILD +#if UNITY_2018_3_OR_NEWER +#if !UNITY_CLOUD_BUILD using NUnit.Framework; namespace UnityEditor.Experimental.EditorVR.Tests @@ -59,3 +60,4 @@ public void TearDown() } } #endif +#endif diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index 3df8ed721..9a891d921 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_3_OR_NEWER using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Handles; @@ -397,3 +398,4 @@ sealed class InspectorWorkspace : Workspace } #endif } +#endif From dadaf26b4a44c4680fba1404a937192285619bba Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 18:01:21 -0700 Subject: [PATCH 27/75] Update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4502a946e..971dad04a 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ If you're a developer, we recommend that you take a look at the [Getting Started ### Project Asset Dependencies - [Textmesh Pro](https://docs.unity3d.com/Packages/com.unity.textmeshpro@1.2/manual/index.html#installation) -- [Legacy Input Helpers](https://docs.unity3d.com/Packages/com.unity.xr.legacyinputhelpers@1.0/manual/index.html#installing-comunityxrlegacyinputhelpers) - - Users of 2018.3 will need to manaully add `"com.unity.xr.legacyinputhelpers": "1.0.3"` to `Packages/manifest.json` +- [Legacy Input Helpers](https://docs.unity3d.com/Packages/com.unity.xr.legacyinputhelpers@1.0/manual/index.html#installing-comunityxrlegacyinputhelpers) (2019.1+) + - Users of 2018.3 do not need Legacy Input Helpers ### Cloning 1. Create a new Unity project or use an existing one @@ -46,7 +46,7 @@ Optionally, you could add a [git hook for post-checkout](https://ttboj.wordpress If you plan on making changes to EditorXR and/or contributing back, then you'll need to set the `Asset Serialization` property under Edit->Project Settings->Editor to `Force Text`. ### Assembly Definitions -In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. The EditorXR assembly definition must reference both platform SDK packages (SteamVR or Oculus VR) from the Asset Store. These packages do not include assembly definitions in their current forms, so after importing EditorXR, you must add them. +In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. Some of EditorXR's dependencies do not include assembly definitions in their current forms, so after importing EditorXR (in Unity 2018.3 and below), you must add them. For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing an assembly definition for the PolyToolkit, which is also referenced by EditorXR. From 995f0b8cadd10de8bf743932d6bdc28162a4daf3 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 20:06:53 -0700 Subject: [PATCH 28/75] Tweak readme; Remove unused usings --- Editor/BuildCallbacks.cs | 3 +-- README.md | 4 ++-- Scripts/Core/VRView.cs | 1 - Scripts/Input/ViveInputToEvents.cs | 4 ---- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/Editor/BuildCallbacks.cs b/Editor/BuildCallbacks.cs index baeed2643..e73e0d039 100644 --- a/Editor/BuildCallbacks.cs +++ b/Editor/BuildCallbacks.cs @@ -3,12 +3,11 @@ using System.Collections.Generic; using System.IO; using UnityEditor.Build; +using UnityEditor.Build.Reporting; using UnityEditor.Compilation; using UnityEditorInternal; using UnityEngine; -using UnityEditor.Build.Reporting; - namespace UnityEditor.Experimental.EditorVR { class BuildCallbacks : IPreprocessBuildWithReport, IPostprocessBuildWithReport diff --git a/README.md b/README.md index 971dad04a..fbdb01036 100644 --- a/README.md +++ b/README.md @@ -48,9 +48,9 @@ If you plan on making changes to EditorXR and/or contributing back, then you'll ### Assembly Definitions In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. Some of EditorXR's dependencies do not include assembly definitions in their current forms, so after importing EditorXR (in Unity 2018.3 and below), you must add them. -For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing an assembly definition for the PolyToolkit, which is also referenced by EditorXR. +For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing an assembly definition for the PolyToolkit and UnityEngine.SpatialTracking, which are referenced by EditorXR. Simply import it via Assets > Import Package > Custom Package... -This is not required for Unity versions 2019.1 and above, though you will need an assembly definition in order to reference PolyToolkit. +This is not required for Unity versions 2019.1 and above, though you will need to add an assembly definition in order to reference PolyToolkit. ## All contributions are subject to the [Unity Contribution Agreement (UCA)](https://unity3d.com/legal/licenses/Unity_Contribution_Agreement) By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions. diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 4d22cb457..3dd1ab726 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Linq; using System.Reflection; using UnityEditor.Experimental.EditorVR.Helpers; diff --git a/Scripts/Input/ViveInputToEvents.cs b/Scripts/Input/ViveInputToEvents.cs index 2a211226e..ee2cca4ec 100644 --- a/Scripts/Input/ViveInputToEvents.cs +++ b/Scripts/Input/ViveInputToEvents.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using UnityEngine; using UnityEngine.InputNew; -using UnityEngine.XR; namespace UnityEditor.Experimental.EditorVR.Input { From 3852f61df502c483bde6caa180c8836306ad40f0 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 20:21:50 -0700 Subject: [PATCH 29/75] Update minimum version message --- Scripts/Core/EditorVR.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 22109f33e..f533ec7f8 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -559,7 +559,7 @@ static NoEditorVR() { if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) { - var message = "EditorVR requires Unity 2018.3 or above."; + var message = "EditorVR requires Unity 2018.3.12 or above."; var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); switch (result) { From d5c3b621edc1389957f7d38549fe45f71413790c Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 15 Apr 2019 21:41:39 -0700 Subject: [PATCH 30/75] Fix multi-select action on Vive by not blocking left stick input in UndoMenu --- Menus/UndoMenu/UndoMenu.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Menus/UndoMenu/UndoMenu.cs b/Menus/UndoMenu/UndoMenu.cs index 162a0a5a8..eaf4aba02 100644 --- a/Menus/UndoMenu/UndoMenu.cs +++ b/Menus/UndoMenu/UndoMenu.cs @@ -113,7 +113,9 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (!(engage.wasJustPressed || !m_TrackpadController && (engage.isHeld || m_StillEngagedAfterStickRelease))) return; - consumeControl(engage); + if (!m_TrackpadController) + consumeControl(engage); + m_UndoMenuUI.engaged = true; var navigateXControl = undoMenuInput.navigateX; From 2ed24ab2b19df135b2b397686d91fbf5fad77e28 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 17 Apr 2019 02:19:59 -0700 Subject: [PATCH 31/75] Extract EditorXR-specific ListView modifications --- Scripts/Data/FolderData.cs | 5 +- Scripts/Data/HierarchyData.cs | 5 +- Scripts/Data/InspectorData.cs | 5 +- Scripts/ListView/Core.meta | 8 ++ .../ListView/{ => Core}/ListViewController.cs | 93 +------------ .../{ => Core}/ListViewController.cs.meta | 0 .../{ => Core}/ListViewControllerBase.cs | 10 +- .../{ => Core}/ListViewControllerBase.cs.meta | 0 Scripts/ListView/{ => Core}/ListViewItem.cs | 8 -- .../ListView/{ => Core}/ListViewItem.cs.meta | 24 ++-- .../ListView/{ => Core}/ListViewItemData.cs | 0 .../{ => Core}/ListViewItemData.cs.meta | 0 .../{ => Core}/ListViewItemNestedData.cs | 0 .../{ => Core}/ListViewItemNestedData.cs.meta | 0 .../{ => Core}/ListViewItemTemplate.cs | 0 .../{ => Core}/ListViewItemTemplate.cs.meta | 0 .../ListView/{ => Core}/ListViewScroller.cs | 0 .../{ => Core}/ListViewScroller.cs.meta | 0 .../Core}/NestedListViewController.cs | 0 .../Core}/NestedListViewController.cs.meta | 0 .../ListView/EditorXRListViewController.cs | 123 +++++++++++++++++ .../EditorXRListViewController.cs.meta | 11 ++ Scripts/ListView/EditorXRListViewItem.cs | 16 +++ Scripts/ListView/EditorXRListViewItem.cs.meta | 12 ++ .../EditorXRListViewItemNestedData.cs | 15 +++ .../EditorXRListViewItemNestedData.cs.meta | 12 ++ .../EditorXRNestedListViewController.cs | 124 ++++++++++++++++++ .../EditorXRNestedListViewController.cs.meta | 11 ++ .../Common/Scripts/DraggableListItem.cs | 2 +- .../Scripts/HierarchyListViewController.cs | 5 +- .../Scripts/InspectorListViewController.cs | 2 +- .../Scripts/PolyGridViewController.cs | 3 +- .../Scripts/AssetGridViewController.cs | 3 +- .../Scripts/FolderListItem.cs | 5 +- .../Scripts/FolderListViewController.cs | 3 +- 35 files changed, 364 insertions(+), 141 deletions(-) create mode 100644 Scripts/ListView/Core.meta rename Scripts/ListView/{ => Core}/ListViewController.cs (61%) rename Scripts/ListView/{ => Core}/ListViewController.cs.meta (100%) rename Scripts/ListView/{ => Core}/ListViewControllerBase.cs (96%) rename Scripts/ListView/{ => Core}/ListViewControllerBase.cs.meta (100%) rename Scripts/ListView/{ => Core}/ListViewItem.cs (60%) rename Scripts/ListView/{ => Core}/ListViewItem.cs.meta (95%) rename Scripts/ListView/{ => Core}/ListViewItemData.cs (100%) rename Scripts/ListView/{ => Core}/ListViewItemData.cs.meta (100%) rename Scripts/ListView/{ => Core}/ListViewItemNestedData.cs (100%) rename Scripts/ListView/{ => Core}/ListViewItemNestedData.cs.meta (100%) rename Scripts/ListView/{ => Core}/ListViewItemTemplate.cs (100%) rename Scripts/ListView/{ => Core}/ListViewItemTemplate.cs.meta (100%) rename Scripts/ListView/{ => Core}/ListViewScroller.cs (100%) rename Scripts/ListView/{ => Core}/ListViewScroller.cs.meta (100%) rename {Workspaces/Common/Scripts => Scripts/ListView/Core}/NestedListViewController.cs (100%) rename {Workspaces/Common/Scripts => Scripts/ListView/Core}/NestedListViewController.cs.meta (100%) create mode 100644 Scripts/ListView/EditorXRListViewController.cs create mode 100644 Scripts/ListView/EditorXRListViewController.cs.meta create mode 100644 Scripts/ListView/EditorXRListViewItem.cs create mode 100644 Scripts/ListView/EditorXRListViewItem.cs.meta create mode 100644 Scripts/ListView/EditorXRListViewItemNestedData.cs create mode 100644 Scripts/ListView/EditorXRListViewItemNestedData.cs.meta create mode 100644 Scripts/ListView/EditorXRNestedListViewController.cs create mode 100644 Scripts/ListView/EditorXRNestedListViewController.cs.meta diff --git a/Scripts/Data/FolderData.cs b/Scripts/Data/FolderData.cs index 7abc8436d..fc66fbcbd 100644 --- a/Scripts/Data/FolderData.cs +++ b/Scripts/Data/FolderData.cs @@ -1,9 +1,8 @@ -using ListView; -using System.Collections.Generic; +using System.Collections.Generic; namespace UnityEditor.Experimental.EditorVR.Data { - sealed class FolderData : ListViewItemNestedData + sealed class FolderData : EditorXRListViewItemNestedData { const string k_TemplateName = "FolderListItem"; diff --git a/Scripts/Data/HierarchyData.cs b/Scripts/Data/HierarchyData.cs index 7be270058..c8bf82e61 100644 --- a/Scripts/Data/HierarchyData.cs +++ b/Scripts/Data/HierarchyData.cs @@ -1,5 +1,4 @@ -using ListView; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; #if !UNITY_EDITOR @@ -25,7 +24,7 @@ public void Next() { } namespace UnityEditor.Experimental.EditorVR { - sealed class HierarchyData : ListViewItemNestedData + sealed class HierarchyData : EditorXRListViewItemNestedData { const string k_TemplateName = "HierarchyListItem"; diff --git a/Scripts/Data/InspectorData.cs b/Scripts/Data/InspectorData.cs index 7b02fb042..0b5bc0acf 100644 --- a/Scripts/Data/InspectorData.cs +++ b/Scripts/Data/InspectorData.cs @@ -1,9 +1,8 @@ -using ListView; -using System.Collections.Generic; +using System.Collections.Generic; namespace UnityEditor.Experimental.EditorVR.Data { - class InspectorData : ListViewItemNestedData + class InspectorData : EditorXRListViewItemNestedData { public SerializedObject serializedObject { get; private set; } diff --git a/Scripts/ListView/Core.meta b/Scripts/ListView/Core.meta new file mode 100644 index 000000000..a0216914a --- /dev/null +++ b/Scripts/ListView/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0160d77aeea569d448cbb376e386b4f3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/ListViewController.cs b/Scripts/ListView/Core/ListViewController.cs similarity index 61% rename from Scripts/ListView/ListViewController.cs rename to Scripts/ListView/Core/ListViewController.cs index dbc1d488e..6f096cec5 100644 --- a/Scripts/ListView/ListViewController.cs +++ b/Scripts/ListView/Core/ListViewController.cs @@ -1,40 +1,16 @@ using System.Collections.Generic; -using UnityEditor.Experimental.EditorVR; -using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; namespace ListView { - public abstract class ListViewController : ListViewControllerBase, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode + public abstract class ListViewController : ListViewControllerBase where TData : ListViewItemData where TItem : ListViewItem { -#pragma warning disable 649 - [Header("Unassigned haptic pulses will not be performed")] - [SerializeField] - HapticPulse m_ItemClickPulse; - - [SerializeField] - HapticPulse m_ItemHoverStartPulse; - - [SerializeField] - HapticPulse m_ItemHoverEndPulse; - - [SerializeField] - HapticPulse m_ItemDragStartPulse; - - [SerializeField] - HapticPulse m_ItemDraggingPulse; - - [SerializeField] - HapticPulse m_ItemDragEndPulse; -#pragma warning restore 649 - protected List m_Data; protected readonly Dictionary> m_TemplateDictionary = new Dictionary>(); protected readonly Dictionary m_ListItems = new Dictionary(); - protected readonly Dictionary m_GrabbedRows = new Dictionary(); public virtual List data { @@ -97,9 +73,6 @@ protected override void UpdateItems() protected virtual void Recycle(TIndex index) { - if (m_GrabbedRows.ContainsKey(index)) - return; - TItem item; if (m_ListItems.TryGetValue(index, out item)) { @@ -130,24 +103,6 @@ protected virtual void UpdateVisibleItem(TData data, int order, float offset, re UpdateItem(item.transform, order, offset, ref doneSettling); } - protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) - { - if (grabbed) - m_GrabbedRows[index] = rayOrigin; - else - m_GrabbedRows.Remove(index); - } - - protected virtual TItem GetGrabbedRow(Transform rayOrigin) - { - foreach (var row in m_GrabbedRows) - { - if (row.Value == rayOrigin) - return GetListItem(row.Key); - } - return null; - } - protected TItem GetListItem(TIndex index) { TItem item; @@ -179,17 +134,8 @@ protected virtual TItem GetItem(TData data) } else { - item = this.InstantiateUI(m_TemplateDictionary[data.template].prefab, transform, false).GetComponent(); - this.ConnectInterfaces(item); + item = InstantiateItem(data); item.Setup(data); - - // Hookup input events for new items. - item.hoverStart += OnItemHoverStart; - item.hoverEnd += OnItemHoverEnd; - item.dragStart += OnItemDragStart; - item.dragging += OnItemDragging; - item.dragEnd += OnItemDragEnd; - item.click += OnItemClicked; } m_ListItems[data.index] = item; @@ -201,40 +147,9 @@ protected virtual TItem GetItem(TData data) return item; } - public void OnItemHoverStart(Node node) - { - if (m_ItemHoverStartPulse) - this.Pulse(node, m_ItemHoverStartPulse); - } - - public void OnItemHoverEnd(Node node) - { - if (m_ItemHoverEndPulse) - this.Pulse(node, m_ItemHoverEndPulse); - } - - public void OnItemDragStart(Node node) - { - if (m_ItemDragStartPulse) - this.Pulse(node, m_ItemDragStartPulse); - } - - public void OnItemDragging(Node node) - { - if (m_ItemDraggingPulse) - this.Pulse(node, m_ItemDraggingPulse); - } - - public void OnItemDragEnd(Node node) - { - if (m_ItemDragEndPulse) - this.Pulse(node, m_ItemDragEndPulse); - } - - public void OnItemClicked(Node node) + protected virtual TItem InstantiateItem(TData data) { - if (m_ItemClickPulse) - this.Pulse(node, m_ItemClickPulse); + return Instantiate(m_TemplateDictionary[data.template].prefab, transform, false).GetComponent(); } } } diff --git a/Scripts/ListView/ListViewController.cs.meta b/Scripts/ListView/Core/ListViewController.cs.meta similarity index 100% rename from Scripts/ListView/ListViewController.cs.meta rename to Scripts/ListView/Core/ListViewController.cs.meta diff --git a/Scripts/ListView/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs similarity index 96% rename from Scripts/ListView/ListViewControllerBase.cs rename to Scripts/ListView/Core/ListViewControllerBase.cs index f84d17e7e..4b85f5f9a 100644 --- a/Scripts/ListView/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -1,12 +1,10 @@ using System; -using UnityEditor.Experimental.EditorVR; -using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; using UnityEngine.EventSystems; namespace ListView { - public abstract class ListViewControllerBase : MonoBehaviour, IScrollHandler, IControlHaptics + public abstract class ListViewControllerBase : MonoBehaviour, IScrollHandler { #pragma warning disable 649 [Tooltip("Distance (in meters) we have scrolled from initial position")] @@ -29,9 +27,6 @@ public abstract class ListViewControllerBase : MonoBehaviour, IScrollHandler, IC [SerializeField] protected GameObject[] m_Templates; - [SerializeField] - HapticPulse m_ScrollPulse; - [SerializeField] protected float m_SettleSpeed = 0.4f; @@ -97,9 +92,6 @@ void Start() void Update() { UpdateView(); - - if (m_Scrolling) - this.Pulse(Node.None, m_ScrollPulse); } protected abstract void Setup(); diff --git a/Scripts/ListView/ListViewControllerBase.cs.meta b/Scripts/ListView/Core/ListViewControllerBase.cs.meta similarity index 100% rename from Scripts/ListView/ListViewControllerBase.cs.meta rename to Scripts/ListView/Core/ListViewControllerBase.cs.meta diff --git a/Scripts/ListView/ListViewItem.cs b/Scripts/ListView/Core/ListViewItem.cs similarity index 60% rename from Scripts/ListView/ListViewItem.cs rename to Scripts/ListView/Core/ListViewItem.cs index 74bc980da..bca33ea56 100644 --- a/Scripts/ListView/ListViewItem.cs +++ b/Scripts/ListView/Core/ListViewItem.cs @@ -1,5 +1,4 @@ using System; -using UnityEditor.Experimental.EditorVR; using UnityEngine; namespace ListView @@ -11,13 +10,6 @@ public class ListViewItem : MonoBehaviour where TData : ListViewI public Action endSettling { protected get; set; } public Func> getListItem { protected get; set; } - public Action click { get; set; } - public Action hoverStart { get; set; } - public Action hoverEnd { get; set; } - public Action dragStart { get; set; } - public Action dragging { get; set; } - public Action dragEnd { get; set; } - public virtual void Setup(TData data) { this.data = data; diff --git a/Scripts/ListView/ListViewItem.cs.meta b/Scripts/ListView/Core/ListViewItem.cs.meta similarity index 95% rename from Scripts/ListView/ListViewItem.cs.meta rename to Scripts/ListView/Core/ListViewItem.cs.meta index 4f2d91092..3f4a5d82d 100644 --- a/Scripts/ListView/ListViewItem.cs.meta +++ b/Scripts/ListView/Core/ListViewItem.cs.meta @@ -1,12 +1,12 @@ -fileFormatVersion: 2 -guid: ed2552c8cbe6f364498c1061a98fa856 -timeCreated: 1467071852 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +fileFormatVersion: 2 +guid: ed2552c8cbe6f364498c1061a98fa856 +timeCreated: 1467071852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/ListViewItemData.cs b/Scripts/ListView/Core/ListViewItemData.cs similarity index 100% rename from Scripts/ListView/ListViewItemData.cs rename to Scripts/ListView/Core/ListViewItemData.cs diff --git a/Scripts/ListView/ListViewItemData.cs.meta b/Scripts/ListView/Core/ListViewItemData.cs.meta similarity index 100% rename from Scripts/ListView/ListViewItemData.cs.meta rename to Scripts/ListView/Core/ListViewItemData.cs.meta diff --git a/Scripts/ListView/ListViewItemNestedData.cs b/Scripts/ListView/Core/ListViewItemNestedData.cs similarity index 100% rename from Scripts/ListView/ListViewItemNestedData.cs rename to Scripts/ListView/Core/ListViewItemNestedData.cs diff --git a/Scripts/ListView/ListViewItemNestedData.cs.meta b/Scripts/ListView/Core/ListViewItemNestedData.cs.meta similarity index 100% rename from Scripts/ListView/ListViewItemNestedData.cs.meta rename to Scripts/ListView/Core/ListViewItemNestedData.cs.meta diff --git a/Scripts/ListView/ListViewItemTemplate.cs b/Scripts/ListView/Core/ListViewItemTemplate.cs similarity index 100% rename from Scripts/ListView/ListViewItemTemplate.cs rename to Scripts/ListView/Core/ListViewItemTemplate.cs diff --git a/Scripts/ListView/ListViewItemTemplate.cs.meta b/Scripts/ListView/Core/ListViewItemTemplate.cs.meta similarity index 100% rename from Scripts/ListView/ListViewItemTemplate.cs.meta rename to Scripts/ListView/Core/ListViewItemTemplate.cs.meta diff --git a/Scripts/ListView/ListViewScroller.cs b/Scripts/ListView/Core/ListViewScroller.cs similarity index 100% rename from Scripts/ListView/ListViewScroller.cs rename to Scripts/ListView/Core/ListViewScroller.cs diff --git a/Scripts/ListView/ListViewScroller.cs.meta b/Scripts/ListView/Core/ListViewScroller.cs.meta similarity index 100% rename from Scripts/ListView/ListViewScroller.cs.meta rename to Scripts/ListView/Core/ListViewScroller.cs.meta diff --git a/Workspaces/Common/Scripts/NestedListViewController.cs b/Scripts/ListView/Core/NestedListViewController.cs similarity index 100% rename from Workspaces/Common/Scripts/NestedListViewController.cs rename to Scripts/ListView/Core/NestedListViewController.cs diff --git a/Workspaces/Common/Scripts/NestedListViewController.cs.meta b/Scripts/ListView/Core/NestedListViewController.cs.meta similarity index 100% rename from Workspaces/Common/Scripts/NestedListViewController.cs.meta rename to Scripts/ListView/Core/NestedListViewController.cs.meta diff --git a/Scripts/ListView/EditorXRListViewController.cs b/Scripts/ListView/EditorXRListViewController.cs new file mode 100644 index 000000000..7ef802e1b --- /dev/null +++ b/Scripts/ListView/EditorXRListViewController.cs @@ -0,0 +1,123 @@ +using ListView; +using System.Collections.Generic; +using UnityEditor.Experimental.EditorVR.Core; +using UnityEngine; + +namespace UnityEditor.Experimental.EditorVR +{ + public abstract class EditorXRListViewController : ListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode + where TData : ListViewItemData + where TItem : EditorXRListViewItem + { +#pragma warning disable 649 + [SerializeField] + HapticPulse m_ScrollPulse; + + [Header("Unassigned haptic pulses will not be performed")] + [SerializeField] + HapticPulse m_ItemClickPulse; + + [SerializeField] + HapticPulse m_ItemHoverStartPulse; + + [SerializeField] + HapticPulse m_ItemHoverEndPulse; + + [SerializeField] + HapticPulse m_ItemDragStartPulse; + + [SerializeField] + HapticPulse m_ItemDraggingPulse; + + [SerializeField] + HapticPulse m_ItemDragEndPulse; +#pragma warning restore 649 + + protected readonly Dictionary m_GrabbedRows = new Dictionary(); + + protected override void Recycle(TIndex index) + { + if (m_GrabbedRows.ContainsKey(index)) + return; + + base.Recycle(index); + } + + protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) + { + if (grabbed) + m_GrabbedRows[index] = rayOrigin; + else + m_GrabbedRows.Remove(index); + } + + protected virtual TItem GetGrabbedRow(Transform rayOrigin) + { + foreach (var row in m_GrabbedRows) + { + if (row.Value == rayOrigin) + return GetListItem(row.Key); + } + return null; + } + + protected override void UpdateView() + { + base.UpdateView(); + + if (m_Scrolling) + this.Pulse(Node.None, m_ScrollPulse); + } + + protected override TItem InstantiateItem(TData data) + { + var item = this.InstantiateUI(m_TemplateDictionary[data.template].prefab, transform, false).GetComponent(); + this.ConnectInterfaces(item); + + // Hookup input events for new items. + item.hoverStart += OnItemHoverStart; + item.hoverEnd += OnItemHoverEnd; + item.dragStart += OnItemDragStart; + item.dragging += OnItemDragging; + item.dragEnd += OnItemDragEnd; + item.click += OnItemClicked; + return item; + } + + public void OnItemHoverStart(Node node) + { + if (m_ItemHoverStartPulse) + this.Pulse(node, m_ItemHoverStartPulse); + } + + public void OnItemHoverEnd(Node node) + { + if (m_ItemHoverEndPulse) + this.Pulse(node, m_ItemHoverEndPulse); + } + + public void OnItemDragStart(Node node) + { + if (m_ItemDragStartPulse) + this.Pulse(node, m_ItemDragStartPulse); + } + + public void OnItemDragging(Node node) + { + if (m_ItemDraggingPulse) + this.Pulse(node, m_ItemDraggingPulse); + } + + public void OnItemDragEnd(Node node) + { + if (m_ItemDragEndPulse) + this.Pulse(node, m_ItemDragEndPulse); + } + + public void OnItemClicked(Node node) + { + if (m_ItemClickPulse) + this.Pulse(node, m_ItemClickPulse); + } + } +} diff --git a/Scripts/ListView/EditorXRListViewController.cs.meta b/Scripts/ListView/EditorXRListViewController.cs.meta new file mode 100644 index 000000000..89e1ab4b1 --- /dev/null +++ b/Scripts/ListView/EditorXRListViewController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f801d99995b2b5042817bc3538ff4fee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/EditorXRListViewItem.cs b/Scripts/ListView/EditorXRListViewItem.cs new file mode 100644 index 000000000..f9259169f --- /dev/null +++ b/Scripts/ListView/EditorXRListViewItem.cs @@ -0,0 +1,16 @@ +using System; +using ListView; +using UnityEngine; + +namespace UnityEditor.Experimental.EditorVR +{ + public class EditorXRListViewItem : ListViewItem where TData : ListViewItemData + { + public Action click { get; set; } + public Action hoverStart { get; set; } + public Action hoverEnd { get; set; } + public Action dragStart { get; set; } + public Action dragging { get; set; } + public Action dragEnd { get; set; } + } +} diff --git a/Scripts/ListView/EditorXRListViewItem.cs.meta b/Scripts/ListView/EditorXRListViewItem.cs.meta new file mode 100644 index 000000000..e1aec0fe8 --- /dev/null +++ b/Scripts/ListView/EditorXRListViewItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bbe2d6246867c254b89a5a7999f3e13d +timeCreated: 1467071852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/EditorXRListViewItemNestedData.cs b/Scripts/ListView/EditorXRListViewItemNestedData.cs new file mode 100644 index 000000000..30a438cd7 --- /dev/null +++ b/Scripts/ListView/EditorXRListViewItemNestedData.cs @@ -0,0 +1,15 @@ +using ListView; +using System; + +namespace UnityEditor.Experimental.EditorVR +{ + abstract class EditorXRListViewItemNestedData : ListViewItemNestedData + { + public Action click { get; set; } + public Action hoverStart { get; set; } + public Action hoverEnd { get; set; } + public Action dragStart { get; set; } + public Action dragging { get; set; } + public Action dragEnd { get; set; } + } +} diff --git a/Scripts/ListView/EditorXRListViewItemNestedData.cs.meta b/Scripts/ListView/EditorXRListViewItemNestedData.cs.meta new file mode 100644 index 000000000..b483b1bfb --- /dev/null +++ b/Scripts/ListView/EditorXRListViewItemNestedData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cf1208bcc184f73418bcebe1782c67b6 +timeCreated: 1472783144 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/EditorXRNestedListViewController.cs b/Scripts/ListView/EditorXRNestedListViewController.cs new file mode 100644 index 000000000..86f05597e --- /dev/null +++ b/Scripts/ListView/EditorXRNestedListViewController.cs @@ -0,0 +1,124 @@ +using ListView; +using System.Collections.Generic; +using UnityEditor.Experimental.EditorVR.Core; +using UnityEngine; + +namespace UnityEditor.Experimental.EditorVR +{ + abstract class EditorXRNestedListViewController : NestedListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode + where TData : ListViewItemNestedData + where TItem : EditorXRListViewItem + { +#pragma warning disable 649 + [SerializeField] + HapticPulse m_ScrollPulse; + + [Header("Unassigned haptic pulses will not be performed")] + + [SerializeField] + HapticPulse m_ItemClickPulse; + + [SerializeField] + HapticPulse m_ItemHoverStartPulse; + + [SerializeField] + HapticPulse m_ItemHoverEndPulse; + + [SerializeField] + HapticPulse m_ItemDragStartPulse; + + [SerializeField] + HapticPulse m_ItemDraggingPulse; + + [SerializeField] + HapticPulse m_ItemDragEndPulse; +#pragma warning restore 649 + + protected readonly Dictionary m_GrabbedRows = new Dictionary(); + + protected override void Recycle(TIndex index) + { + if (m_GrabbedRows.ContainsKey(index)) + return; + + base.Recycle(index); + } + + protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) + { + if (grabbed) + m_GrabbedRows[index] = rayOrigin; + else + m_GrabbedRows.Remove(index); + } + + protected virtual TItem GetGrabbedRow(Transform rayOrigin) + { + foreach (var row in m_GrabbedRows) + { + if (row.Value == rayOrigin) + return GetListItem(row.Key); + } + return null; + } + + protected override void UpdateView() + { + base.UpdateView(); + + if (m_Scrolling) + this.Pulse(Node.None, m_ScrollPulse); + } + + protected override TItem InstantiateItem(TData data) + { + var item = this.InstantiateUI(m_TemplateDictionary[data.template].prefab, transform, false).GetComponent(); + this.ConnectInterfaces(item); + + // Hookup input events for new items. + item.hoverStart += OnItemHoverStart; + item.hoverEnd += OnItemHoverEnd; + item.dragStart += OnItemDragStart; + item.dragging += OnItemDragging; + item.dragEnd += OnItemDragEnd; + item.click += OnItemClicked; + return item; + } + + public void OnItemHoverStart(Node node) + { + if (m_ItemHoverStartPulse) + this.Pulse(node, m_ItemHoverStartPulse); + } + + public void OnItemHoverEnd(Node node) + { + if (m_ItemHoverEndPulse) + this.Pulse(node, m_ItemHoverEndPulse); + } + + public void OnItemDragStart(Node node) + { + if (m_ItemDragStartPulse) + this.Pulse(node, m_ItemDragStartPulse); + } + + public void OnItemDragging(Node node) + { + if (m_ItemDraggingPulse) + this.Pulse(node, m_ItemDraggingPulse); + } + + public void OnItemDragEnd(Node node) + { + if (m_ItemDragEndPulse) + this.Pulse(node, m_ItemDragEndPulse); + } + + public void OnItemClicked(Node node) + { + if (m_ItemClickPulse) + this.Pulse(node, m_ItemClickPulse); + } + } +} diff --git a/Scripts/ListView/EditorXRNestedListViewController.cs.meta b/Scripts/ListView/EditorXRNestedListViewController.cs.meta new file mode 100644 index 000000000..fe3d0251d --- /dev/null +++ b/Scripts/ListView/EditorXRNestedListViewController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a3ce54082d227184481bc56b7a79155d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Workspaces/Common/Scripts/DraggableListItem.cs b/Workspaces/Common/Scripts/DraggableListItem.cs index 94e4d464a..9d03abd8a 100644 --- a/Workspaces/Common/Scripts/DraggableListItem.cs +++ b/Workspaces/Common/Scripts/DraggableListItem.cs @@ -9,7 +9,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - class DraggableListItem : ListViewItem, IGetPreviewOrigin, IUsesViewerScale, IRayToNode + class DraggableListItem : EditorXRListViewItem, IGetPreviewOrigin, IUsesViewerScale, IRayToNode where TData : ListViewItemData { const float k_MagnetizeDuration = 0.5f; diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs index a562cff4f..4727df553 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs @@ -1,5 +1,4 @@ -using ListView; -using System; +using System; using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Handles; @@ -8,7 +7,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - sealed class HierarchyListViewController : NestedListViewController, IUsesGameObjectLocking, ISetHighlight + sealed class HierarchyListViewController : EditorXRNestedListViewController, IUsesGameObjectLocking, ISetHighlight { const float k_ClipMargin = 0.001f; // Give the cubes a margin so that their sides don't get clipped diff --git a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs index a542ccd2f..c333c32b3 100644 --- a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs +++ b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs @@ -8,7 +8,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { #if UNITY_EDITOR - sealed class InspectorListViewController : NestedListViewController, IUsesGameObjectLocking, IUsesStencilRef + sealed class InspectorListViewController : EditorXRNestedListViewController, IUsesGameObjectLocking, IUsesStencilRef { const string k_MaterialStencilRef = "_StencilRef"; const float k_ClipMargin = 0.001f; // Give the cubes a margin so that their sides don't get clipped diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs index 3b6b69364..3a4aea203 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs @@ -1,4 +1,3 @@ -using ListView; using UnityEngine; #if INCLUDE_POLY_TOOLKIT @@ -7,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - class PolyGridViewController : ListViewController, IPoly + class PolyGridViewController : EditorXRListViewController, IPoly { const int k_RequestSize = 100; diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs index f75846c07..d34922bf1 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs @@ -1,4 +1,3 @@ -using ListView; using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Data; @@ -7,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - sealed class AssetGridViewController : ListViewController + sealed class AssetGridViewController : EditorXRListViewController { const float k_PositionFollow = 0.4f; diff --git a/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs b/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs index 6e26a93df..6fa34fd1f 100644 --- a/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs +++ b/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs @@ -1,5 +1,4 @@ -using ListView; -using System; +using System; using TMPro; using UnityEditor.Experimental.EditorVR.Handles; using UnityEditor.Experimental.EditorVR.Utilities; @@ -7,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR.Data { - sealed class FolderListItem : ListViewItem + sealed class FolderListItem : EditorXRListViewItem { const float k_Margin = 0.01f; const float k_Indent = 0.02f; diff --git a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs index 60bcc3b9a..74b9fc18a 100644 --- a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs @@ -1,14 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using ListView; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; namespace UnityEditor.Experimental.EditorVR.Workspaces { - sealed class FolderListViewController : NestedListViewController + sealed class FolderListViewController : EditorXRNestedListViewController { const float k_ClipMargin = 0.001f; // Give the cubes a margin so that their sides don't get clipped From 0db073d00160919add6cb93127f03bff4c574bd1 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 18 Apr 2019 01:25:26 -0700 Subject: [PATCH 32/75] Update to latest state of list view package --- Scripts/Data/AssetData.cs | 2 +- Scripts/Data/FolderData.cs | 13 +- Scripts/Data/HierarchyData.cs | 18 +- Scripts/Data/InspectorData.cs | 3 +- Scripts/Data/PropertyData.cs | 6 +- Scripts/ListView/Core/Interfaces.meta | 10 + .../ListView/Core/Interfaces/IListViewItem.cs | 25 + .../Core/Interfaces/IListViewItem.cs.meta | 13 + .../Core/Interfaces/IListViewItemData.cs | 8 + .../Core/Interfaces/IListViewItemData.cs.meta | 11 + .../Core/Interfaces/INestedListViewItem.cs | 15 + .../Interfaces/INestedListViewItem.cs.meta | 12 + .../Interfaces/INestedListViewItemData.cs | 11 + .../INestedListViewItemData.cs.meta | 13 + Scripts/ListView/Core/ListViewController.cs | 142 +- .../ListView/Core/ListViewControllerBase.cs | 105 +- Scripts/ListView/Core/ListViewItem.cs | 46 +- Scripts/ListView/Core/ListViewItemData.cs | 6 +- .../ListView/Core/ListViewItemData.cs.meta | 5 +- Scripts/ListView/Core/ListViewItemTemplate.cs | 6 +- Scripts/ListView/Core/ListViewScroller.cs | 47 +- .../ListView/Core/ListViewScroller.cs.meta | 4 +- .../ListView/Core/NestedListViewController.cs | 128 +- .../Core/NestedListViewController.cs.meta | 4 +- Scripts/ListView/Core/NestedListViewItem.cs | 16 + .../ListView/Core/NestedListViewItem.cs.meta | 12 + ...estedData.cs => NestedListViewItemData.cs} | 10 +- ...cs.meta => NestedListViewItemData.cs.meta} | 0 .../ListView/EditorXRListViewController.cs | 25 +- Scripts/ListView/EditorXRListViewItem.cs | 5 +- .../EditorXRListViewItemNestedData.cs | 15 - .../EditorXRNestedListViewController.cs | 27 +- .../ListView/EditorXRNestedListViewItem.cs | 17 + ...eta => EditorXRNestedListViewItem.cs.meta} | 0 .../Common/Scripts/DraggableListItem.cs | 4 +- .../Common/Scripts/NestedDraggableListItem.cs | 18 + .../Scripts/NestedDraggableListItem.cs.meta | 12 + .../HierarchyWorkspace/HierarchyWorkspace.cs | 2 +- .../Scripts/HierarchyListItem.cs | 13 +- .../Scripts/HierarchyListViewController.cs | 92 +- .../InspectorWorkspace/InspectorWorkspace.cs | 2 +- .../Prefabs/InspectorHeaderItem.prefab | 7369 +++++++++-------- .../Scripts/InspectorListViewController.cs | 71 +- .../Scripts/ListItems/InspectorBoolItem.cs | 4 +- .../Scripts/ListItems/InspectorBoundsItem.cs | 4 +- .../Scripts/ListItems/InspectorColorItem.cs | 4 +- .../ListItems/InspectorComponentItem.cs | 4 +- .../ListItems/InspectorDropDownItem.cs | 11 +- .../Scripts/ListItems/InspectorHeaderItem.cs | 6 +- .../Scripts/ListItems/InspectorListItem.cs | 22 +- .../Scripts/ListItems/InspectorNumberItem.cs | 4 +- .../ListItems/InspectorObjectFieldItem.cs | 4 +- .../ListItems/InspectorPropertyItem.cs | 4 +- .../Scripts/ListItems/InspectorRectItem.cs | 4 +- .../Scripts/ListItems/InspectorStringItem.cs | 4 +- .../ListItems/InspectorUnimplementedItem.cs | 4 +- .../Scripts/ListItems/InspectorVectorItem.cs | 4 +- Workspaces/PolyWorkspace/PolyWorkspace.cs | 2 +- .../PolyWorkspace/Scripts/PolyGridAsset.cs | 4 +- .../PolyWorkspace/Scripts/PolyGridItem.cs | 9 +- .../Scripts/PolyGridViewController.cs | 28 +- .../ProjectWorkspace/ProjectWorkspace.cs | 4 +- .../ProjectWorkspace/Scripts/AssetGridItem.cs | 4 +- .../Scripts/AssetGridViewController.cs | 37 +- .../Scripts/FolderListItem.cs | 17 +- .../Scripts/FolderListViewController.cs | 45 +- 66 files changed, 4556 insertions(+), 4040 deletions(-) create mode 100644 Scripts/ListView/Core/Interfaces.meta create mode 100644 Scripts/ListView/Core/Interfaces/IListViewItem.cs create mode 100644 Scripts/ListView/Core/Interfaces/IListViewItem.cs.meta create mode 100644 Scripts/ListView/Core/Interfaces/IListViewItemData.cs create mode 100644 Scripts/ListView/Core/Interfaces/IListViewItemData.cs.meta create mode 100644 Scripts/ListView/Core/Interfaces/INestedListViewItem.cs create mode 100644 Scripts/ListView/Core/Interfaces/INestedListViewItem.cs.meta create mode 100644 Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs create mode 100644 Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs.meta create mode 100644 Scripts/ListView/Core/NestedListViewItem.cs create mode 100644 Scripts/ListView/Core/NestedListViewItem.cs.meta rename Scripts/ListView/Core/{ListViewItemNestedData.cs => NestedListViewItemData.cs} (59%) rename Scripts/ListView/Core/{ListViewItemNestedData.cs.meta => NestedListViewItemData.cs.meta} (100%) delete mode 100644 Scripts/ListView/EditorXRListViewItemNestedData.cs create mode 100644 Scripts/ListView/EditorXRNestedListViewItem.cs rename Scripts/ListView/{EditorXRListViewItemNestedData.cs.meta => EditorXRNestedListViewItem.cs.meta} (100%) create mode 100644 Workspaces/Common/Scripts/NestedDraggableListItem.cs create mode 100644 Workspaces/Common/Scripts/NestedDraggableListItem.cs.meta diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index 5b40615e3..a2079ea06 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -1,4 +1,4 @@ -using ListView; +using Unity.Labs.ListView; using UnityEngine; using Object = UnityEngine.Object; diff --git a/Scripts/Data/FolderData.cs b/Scripts/Data/FolderData.cs index fc66fbcbd..b80a3be20 100644 --- a/Scripts/Data/FolderData.cs +++ b/Scripts/Data/FolderData.cs @@ -1,20 +1,17 @@ using System.Collections.Generic; +using Unity.Labs.ListView; namespace UnityEditor.Experimental.EditorVR.Data { - sealed class FolderData : EditorXRListViewItemNestedData + sealed class FolderData : NestedListViewItemData { const string k_TemplateName = "FolderListItem"; - public string name { get; private set; } - - public List assets - { - get { return m_Assets; } - } - readonly List m_Assets; + public string name { get; private set; } + public List assets { get { return m_Assets; } } + public FolderData(string name, List children, List assets, int guid) { template = k_TemplateName; diff --git a/Scripts/Data/HierarchyData.cs b/Scripts/Data/HierarchyData.cs index c8bf82e61..2697b71a9 100644 --- a/Scripts/Data/HierarchyData.cs +++ b/Scripts/Data/HierarchyData.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Unity.Labs.ListView; using UnityEngine; #if !UNITY_EDITOR @@ -24,7 +25,7 @@ public void Next() { } namespace UnityEditor.Experimental.EditorVR { - sealed class HierarchyData : EditorXRListViewItemNestedData + sealed class HierarchyData : NestedListViewItemData { const string k_TemplateName = "HierarchyListItem"; @@ -33,25 +34,16 @@ sealed class HierarchyData : EditorXRListViewItemNestedData public HashSet types { get; set; } #if UNITY_EDITOR - public override int index - { - get { return instanceID; } - } - - public int instanceID { private get; set; } - - public GameObject gameObject { get { return (GameObject)EditorUtility.InstanceIDToObject(instanceID); } } + public GameObject gameObject { get { return (GameObject)EditorUtility.InstanceIDToObject(index); } } public HierarchyData(HierarchyProperty property) { template = k_TemplateName; name = property.name; - instanceID = property.instanceID; + // TODO: Hierarchy indices at runtime + index = property.instanceID; } #else - // TODO: Hierarchy indices at runtime - public override int index { get; protected set; } - public GameObject gameObject { get { return null; } } #endif } diff --git a/Scripts/Data/InspectorData.cs b/Scripts/Data/InspectorData.cs index 0b5bc0acf..637a96e87 100644 --- a/Scripts/Data/InspectorData.cs +++ b/Scripts/Data/InspectorData.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; +using Unity.Labs.ListView; namespace UnityEditor.Experimental.EditorVR.Data { - class InspectorData : EditorXRListViewItemNestedData + class InspectorData : NestedListViewItemData { public SerializedObject serializedObject { get; private set; } diff --git a/Scripts/Data/PropertyData.cs b/Scripts/Data/PropertyData.cs index 6203decfc..bd398a24d 100644 --- a/Scripts/Data/PropertyData.cs +++ b/Scripts/Data/PropertyData.cs @@ -12,15 +12,11 @@ sealed class PropertyData : InspectorData { public SerializedProperty property { get; private set; } - public override int index - { - get { return property.GetHashCode(); } - } - public PropertyData(string template, SerializedObject serializedObject, List children, SerializedProperty property) : base(template, serializedObject, children) { this.property = property; + index = property.GetHashCode(); } } } diff --git a/Scripts/ListView/Core/Interfaces.meta b/Scripts/ListView/Core/Interfaces.meta new file mode 100644 index 000000000..280675282 --- /dev/null +++ b/Scripts/ListView/Core/Interfaces.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: efa39bf2a622aed4c9cde61f03736228 +folderAsset: yes +timeCreated: 1522049477 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/Interfaces/IListViewItem.cs b/Scripts/ListView/Core/Interfaces/IListViewItem.cs new file mode 100644 index 000000000..dd55139c7 --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/IListViewItem.cs @@ -0,0 +1,25 @@ +using System; +using UnityEngine; + +namespace Unity.Labs.ListView +{ + public interface IListViewItem + { + Vector3 localPosition { get; set; } + Quaternion localRotation { get; set; } + + Action startSettling { set; } + Action endSettling { set; } + + void SetActive(bool active); + void SetSiblingIndex(int index); + } + + public interface IListViewItem : IListViewItem where TData : IListViewItemData + { + TData data { get; set; } + Func> getListItem { set; } + + void Setup(TData datum, bool firstTime); + } +} diff --git a/Scripts/ListView/Core/Interfaces/IListViewItem.cs.meta b/Scripts/ListView/Core/Interfaces/IListViewItem.cs.meta new file mode 100644 index 000000000..4e029eadb --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/IListViewItem.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 0df14e6303d16e542b606c817bf9641b +timeCreated: 1522032308 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/Interfaces/IListViewItemData.cs b/Scripts/ListView/Core/Interfaces/IListViewItemData.cs new file mode 100644 index 000000000..57e83c2df --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/IListViewItemData.cs @@ -0,0 +1,8 @@ +namespace Unity.Labs.ListView +{ + public interface IListViewItemData + { + TIndex index { get; } + string template { get; } + } +} diff --git a/Scripts/ListView/Core/Interfaces/IListViewItemData.cs.meta b/Scripts/ListView/Core/Interfaces/IListViewItemData.cs.meta new file mode 100644 index 000000000..db6f040e3 --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/IListViewItemData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2784e52804a6b934391c094e1c605aed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs b/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs new file mode 100644 index 000000000..6a46e762d --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs @@ -0,0 +1,15 @@ +using System; + +namespace Unity.Labs.ListView +{ + public interface INestedListViewItem : IListViewItem + { + void ToggleExpanded(); + } + + public interface INestedListViewItem : INestedListViewItem, IListViewItem + where TData : IListViewItemData + { + event Action toggleExpanded; + } +} diff --git a/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs.meta b/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs.meta new file mode 100644 index 000000000..24ef1ac7d --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/INestedListViewItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6148cd7d95c908a4f9732154c7f00aa6 +timeCreated: 1467071852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs b/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs new file mode 100644 index 000000000..18c2fcc8b --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; + +namespace Unity.Labs.ListView +{ + public interface INestedListViewItemData : IListViewItemData + { + List children { get; } + event Action, List> childrenChanging; + } +} diff --git a/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs.meta b/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs.meta new file mode 100644 index 000000000..9bd27e63e --- /dev/null +++ b/Scripts/ListView/Core/Interfaces/INestedListViewItemData.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 17b07916c1665cb4193ae7eb3e739126 +timeCreated: 1522032308 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/ListViewController.cs b/Scripts/ListView/Core/ListViewController.cs index 6f096cec5..0716bd6f4 100644 --- a/Scripts/ListView/Core/ListViewController.cs +++ b/Scripts/ListView/Core/ListViewController.cs @@ -1,16 +1,24 @@ +using System; using System.Collections.Generic; using UnityEngine; -namespace ListView +namespace Unity.Labs.ListView { public abstract class ListViewController : ListViewControllerBase - where TData : ListViewItemData - where TItem : ListViewItem + where TData : IListViewItemData + where TItem : IListViewItem { protected List m_Data; + IListViewItem m_LastUpdatedItemItem; protected readonly Dictionary> m_TemplateDictionary = new Dictionary>(); protected readonly Dictionary m_ListItems = new Dictionary(); + protected readonly Dictionary m_GrabbedRows = new Dictionary(); + + // Local method use only -- created here to reduce garbage collection + Action m_StartSettling; + Action m_EndSettling; + Func> m_GetListItem; public virtual List data { @@ -19,8 +27,9 @@ public virtual List data { if (m_Data != null) { - foreach (var item in m_ListItems.Values) // Clear out visuals for old data + foreach (var kvp in m_ListItems) { + var item = kvp.Value; RecycleItem(item.data.template, item); } @@ -32,21 +41,33 @@ public virtual List data } } - protected override float listHeight { get { return m_Data.Count * itemSize.z; } } + protected override float listHeight + { + get { return m_Data == null ? 0 : m_Data.Count * m_ItemSize.z; } + } - protected override void Setup() + protected override void Awake() { + base.Awake(); + + m_StartSettling = StartSettling; + m_EndSettling = EndSettling; + m_GetListItem = index => GetListItem(index); + } + + protected virtual void Start() + { + m_TemplateDictionary.Clear(); if (m_Templates.Length < 1) - { Debug.LogError("No templates!"); - } foreach (var template in m_Templates) { - if (m_TemplateDictionary.ContainsKey(template.name)) + var templateName = template.name; + if (m_TemplateDictionary.ContainsKey(templateName)) Debug.LogError("Two templates cannot have the same name"); - m_TemplateDictionary[template.name] = new ListViewItemTemplate(template); + m_TemplateDictionary[templateName] = new ListViewItemTemplate(template); } } @@ -56,15 +77,19 @@ protected override void UpdateItems() var offset = 0f; var order = 0; - for (int i = 0; i < m_Data.Count; i++) + var itemWidth = m_ItemSize.z; + var listWidth = m_Size.z; + var count = m_Data.Count; + for (var i = 0; i < count; i++) { var datum = m_Data[i]; - if (offset + scrollOffset + itemSize.z < 0 || offset + scrollOffset > m_Size.z) + var localOffset = offset + scrollOffset; + if (localOffset + itemWidth < 0 || localOffset > listWidth) Recycle(datum.index); else - UpdateVisibleItem(datum, order++, i * itemSize.z + m_ScrollOffset, ref doneSettling); + UpdateVisibleItem(datum, order++, localOffset, ref doneSettling); - offset += itemSize.z; + offset += itemWidth; } if (m_Settling && doneSettling) @@ -73,6 +98,9 @@ protected override void UpdateItems() protected virtual void Recycle(TIndex index) { + if (m_GrabbedRows.ContainsKey(index)) + return; + TItem item; if (m_ListItems.TryGetValue(index, out item)) { @@ -86,65 +114,93 @@ protected virtual void RecycleItem(string template, TItem item) if (item == null || template == null) return; - m_TemplateDictionary[template].pool.Add(item); - item.gameObject.SetActive(false); + m_TemplateDictionary[template].pool.Enqueue(item); + item.SetActive(false); } - protected virtual void UpdateVisibleItem(TData data, int order, float offset, ref bool doneSettling) + protected virtual void UpdateVisibleItem(TData datum, int order, float offset, ref bool doneSettling) { TItem item; - var index = data.index; + var index = datum.index; if (!m_ListItems.TryGetValue(index, out item)) + GetNewItem(datum, out item); + + m_LastUpdatedItemItem = item; + UpdateItem(item, order, offset, ref doneSettling); + } + + protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) + { + if (grabbed) + m_GrabbedRows[index] = rayOrigin; + else + m_GrabbedRows.Remove(index); + } + + protected virtual TItem GetGrabbedRow(Transform rayOrigin) + { + foreach (var row in m_GrabbedRows) { - item = GetItem(data); - m_ListItems[index] = item; + if (row.Value == rayOrigin) + return GetListItem(row.Key); } - UpdateItem(item.transform, order, offset, ref doneSettling); + return default(TItem); } protected TItem GetListItem(TIndex index) { TItem item; - return m_ListItems.TryGetValue(index, out item) ? item : null; + return m_ListItems.TryGetValue(index, out item) ? item : default(TItem); } - protected virtual TItem GetItem(TData data) + /// + /// Get a view item for a given datum, either from its template's pool, or by creating a new one + /// + /// The datum for the desired view item + /// The view item + /// True if a new item was instantiated, false if the view item came from the item pool + protected virtual bool GetNewItem(TData datum, out TItem item) { - if (data == null) + if (datum == null) { - Debug.LogWarning("Tried to get item with null data"); - return null; + Debug.LogWarning("Tried to get item with null datum"); + item = default(TItem); + return false; } - if (!m_TemplateDictionary.ContainsKey(data.template)) + var templateName = datum.template; + ListViewItemTemplate template; + if (!m_TemplateDictionary.TryGetValue(templateName, out template)) { - Debug.LogWarning("Cannot get item, template " + data.template + " doesn't exist"); - return null; + Debug.LogWarning(string.Format("Cannot get item, template {0} doesn't exist", templateName)); + item = default(TItem); + return false; } - TItem item; - if (m_TemplateDictionary[data.template].pool.Count > 0) + var pool = template.pool; + var pooled = pool.Count > 0; + if (pooled) { - item = m_TemplateDictionary[data.template].pool[0]; - m_TemplateDictionary[data.template].pool.RemoveAt(0); - - item.gameObject.SetActive(true); - item.Setup(data); + item = pool.Dequeue(); + item.SetActive(true); + item.Setup(datum, false); } else { - item = InstantiateItem(data); - item.Setup(data); + item = InstantiateItem(datum); + item.Setup(datum, true); + item.startSettling = m_StartSettling; + item.endSettling = m_EndSettling; + item.getListItem = m_GetListItem; } - m_ListItems[data.index] = item; + m_ListItems[datum.index] = item; - item.startSettling = StartSettling; - item.endSettling = EndSettling; - item.getListItem = GetListItem; + if (m_LastUpdatedItemItem != null) + item.localPosition = m_LastUpdatedItemItem.localPosition; - return item; + return !pooled; } protected virtual TItem InstantiateItem(TData data) diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index 4b85f5f9a..bf7105985 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -2,11 +2,10 @@ using UnityEngine; using UnityEngine.EventSystems; -namespace ListView +namespace Unity.Labs.ListView { public abstract class ListViewControllerBase : MonoBehaviour, IScrollHandler { -#pragma warning disable 649 [Tooltip("Distance (in meters) we have scrolled from initial position")] [SerializeField] protected float m_ScrollOffset; @@ -23,29 +22,32 @@ public abstract class ListViewControllerBase : MonoBehaviour, IScrollHandler [SerializeField] float m_MaxMomentum = 2f; - [Tooltip("Item template prefabs (at least one is required)")] - [SerializeField] - protected GameObject[] m_Templates; - [SerializeField] protected float m_SettleSpeed = 0.4f; [SerializeField] float m_ScrollSpeed = 0.3f; -#pragma warning restore 649 - event Action settlingCompleted; + [Tooltip("Item template prefabs (at least one is required)")] + [SerializeField] + protected GameObject[] m_Templates; + + [Tooltip("Whether to interpolate item positions")] + [SerializeField] + protected bool m_EnableSettling = true; + + float m_LastScrollOffset; protected bool m_Settling; + event Action settlingCompleted; - protected Vector3? m_ItemSize; + protected Vector3 m_ItemSize; protected Vector3 m_StartPosition; protected bool m_Scrolling; protected float m_ScrollReturn = float.MaxValue; protected float m_ScrollDelta; - protected float m_LastScrollOffset; protected Vector3 m_Size; protected Vector3 m_Extents; @@ -66,13 +68,7 @@ public float scrollSpeed public Vector3 itemSize { - get - { - if (!m_ItemSize.HasValue && m_Templates.Length > 0) - m_ItemSize = GetObjectSize(m_Templates[0]); - - return m_ItemSize ?? Vector3.zero; - } + get { return m_ItemSize; } } public virtual Vector3 size @@ -84,18 +80,19 @@ public virtual Vector3 size } } - void Start() + protected virtual void Awake() { - Setup(); + if (m_Templates.Length > 0) + m_ItemSize = GetObjectSize(m_Templates[0]); + else + Debug.LogWarning("List View Error: At least one template is required", this); } - void Update() + protected virtual void Update() { UpdateView(); } - protected abstract void Setup(); - protected virtual void UpdateView() { ComputeConditions(); @@ -104,12 +101,7 @@ protected virtual void UpdateView() protected virtual void ComputeConditions() { - if (m_Templates.Length > 0) // Use first template to get item size - m_ItemSize = GetObjectSize(m_Templates[0]); - - var itemSize = m_ItemSize.Value; - - m_StartPosition = (m_Extents.z - itemSize.z * 0.5f) * Vector3.forward; + m_StartPosition = (m_Extents.z - m_ItemSize.z * 0.5f) * Vector3.forward; if (m_Scrolling) { @@ -120,13 +112,12 @@ protected virtual void ComputeConditions() { //Apply scrolling momentum m_ScrollOffset += m_ScrollDelta * Time.deltaTime; - const float kScrollMomentumShape = 2f; if (m_ScrollReturn < float.MaxValue || m_ScrollOffset > 0) OnScrollEnded(); if (m_ScrollDelta > 0) { - m_ScrollDelta -= Mathf.Pow(m_ScrollDamping, kScrollMomentumShape) * Time.deltaTime; + m_ScrollDelta -= m_ScrollDamping * Time.deltaTime; if (m_ScrollDelta < 0) { m_ScrollDelta = 0; @@ -135,7 +126,7 @@ protected virtual void ComputeConditions() } else if (m_ScrollDelta < 0) { - m_ScrollDelta += Mathf.Pow(m_ScrollDamping, kScrollMomentumShape) * Time.deltaTime; + m_ScrollDelta += m_ScrollDamping * Time.deltaTime; if (m_ScrollDelta > 0) { m_ScrollDelta = 0; @@ -150,69 +141,68 @@ protected virtual void ComputeConditions() // Snap back if list scrolled too far if (listHeight > 0 && -m_ScrollOffset >= listHeight) - m_ScrollReturn = itemSize.z - listHeight + epsilon; + m_ScrollReturn = -listHeight + epsilon; } protected abstract void UpdateItems(); public virtual void ScrollNext() { - m_ScrollOffset += m_ItemSize.Value.z; + m_ScrollOffset -= m_ItemSize.z; } - public virtual void ScrollPrev() + public virtual void ScrollPrevious() { - m_ScrollOffset -= m_ItemSize.Value.z; + m_ScrollOffset += m_ItemSize.z; } public virtual void ScrollTo(int index) { - m_ScrollOffset = index * itemSize.z; + m_ScrollOffset = index * m_ItemSize.z; } - protected virtual void UpdateItem(Transform t, int order, float offset, ref bool doneSettling) + protected virtual void UpdateItem(IListViewItem item, int order, float offset, ref bool doneSettling) { var targetPosition = m_StartPosition + offset * Vector3.back; var targetRotation = Quaternion.identity; - UpdateItemTransform(t, order, targetPosition, targetRotation, false, ref doneSettling); + UpdateItemTransform(item, order, targetPosition, targetRotation, false, ref doneSettling); } - protected virtual void UpdateItemTransform(Transform t, int order, Vector3 targetPosition, Quaternion targetRotation, bool dontSettle, ref bool doneSettling) + protected virtual void UpdateItemTransform(IListViewItem item, int order, Vector3 targetPosition, + Quaternion targetRotation, bool dontSettle, ref bool doneSettling) { - if (m_Settling && !dontSettle) + if (m_Settling && !dontSettle && m_EnableSettling) { - t.localPosition = Vector3.Lerp(t.localPosition, targetPosition, m_SettleSpeed); - if (t.localPosition != targetPosition) + var localPosition = Vector3.Lerp(item.localPosition, targetPosition, m_SettleSpeed); + item.localPosition = localPosition; + if (localPosition != targetPosition) doneSettling = false; - t.localRotation = Quaternion.Lerp(t.localRotation, targetRotation, m_SettleSpeed); - if (t.localRotation != targetRotation) + var localRotation = Quaternion.Lerp(item.localRotation, targetRotation, m_SettleSpeed); + item.localRotation = localRotation; + if (localRotation != targetRotation) doneSettling = false; } else { - t.localPosition = targetPosition; - t.localRotation = targetRotation; + item.localPosition = targetPosition; + item.localRotation = targetRotation; } - if (t.GetSiblingIndex() != order) - t.SetSiblingIndex(order); + item.SetSiblingIndex(order); } protected virtual Vector3 GetObjectSize(GameObject g) { - var itemSize = Vector3.one; + var objectSize = Vector3.one; var rend = g.GetComponentInChildren(); if (rend) - { - itemSize.x = Vector3.Scale(g.transform.lossyScale, rend.bounds.extents).x * 2 + m_Padding; - itemSize.y = Vector3.Scale(g.transform.lossyScale, rend.bounds.extents).y * 2 + m_Padding; - itemSize.z = Vector3.Scale(g.transform.lossyScale, rend.bounds.extents).z * 2 + m_Padding; - } - return itemSize; + objectSize = Vector3.Scale(g.transform.lossyScale, rend.bounds.extents) * 2 + Vector3.one * m_Padding; + + return objectSize; } - public virtual void OnBeginScrolling() + public virtual void OnScrollStarted() { m_Scrolling = true; } @@ -227,6 +217,7 @@ public virtual void OnScrollEnded() m_ScrollOffset = 0; m_ScrollDelta = 0; } + if (m_ScrollReturn < float.MaxValue) { StartSettling(); @@ -247,7 +238,7 @@ public virtual void OnScroll(PointerEventData eventData) if (m_Settling) return; - scrollOffset += eventData.scrollDelta.y * scrollSpeed * Time.deltaTime; + m_ScrollOffset += eventData.scrollDelta.y * m_ScrollSpeed * Time.deltaTime; } protected virtual void StartSettling(Action onComplete = null) diff --git a/Scripts/ListView/Core/ListViewItem.cs b/Scripts/ListView/Core/ListViewItem.cs index bca33ea56..de2fafb6a 100644 --- a/Scripts/ListView/Core/ListViewItem.cs +++ b/Scripts/ListView/Core/ListViewItem.cs @@ -1,18 +1,48 @@ -using System; +using System; using UnityEngine; -namespace ListView +namespace Unity.Labs.ListView { - public class ListViewItem : MonoBehaviour where TData : ListViewItemData + public abstract class ListViewItem : MonoBehaviour, IListViewItem where TData : IListViewItemData { + Transform m_Transform; + GameObject m_GameObject; + + public Vector3 localPosition + { + get { return m_Transform.localPosition; } + set { m_Transform.localPosition = value; } + } + + public Quaternion localRotation + { + get { return m_Transform.localRotation; } + set { m_Transform.localRotation = value; } + } + + public Action startSettling { get; set; } + public Action endSettling { get; set; } public TData data { get; set; } - public Action startSettling { protected get; set; } - public Action endSettling { protected get; set; } - public Func> getListItem { protected get; set; } + public Func> getListItem { get; set; } + + public void SetActive(bool active) + { + m_GameObject.SetActive(active); + } + + public void SetSiblingIndex(int index) + { + m_Transform.SetSiblingIndex(index); + } - public virtual void Setup(TData data) + public virtual void Setup(TData datum, bool firstTime = false) { - this.data = data; + data = datum; + if (firstTime) + { + m_Transform = transform; + m_GameObject = gameObject; + } } } } diff --git a/Scripts/ListView/Core/ListViewItemData.cs b/Scripts/ListView/Core/ListViewItemData.cs index d59724512..70dae7ebc 100644 --- a/Scripts/ListView/Core/ListViewItemData.cs +++ b/Scripts/ListView/Core/ListViewItemData.cs @@ -1,8 +1,8 @@ -namespace ListView +namespace Unity.Labs.ListView { - public abstract class ListViewItemData + public abstract class ListViewItemData : IListViewItemData { - public virtual TIndex index { get; protected set; } + public TIndex index { get; protected set; } public string template { get; protected set; } } } diff --git a/Scripts/ListView/Core/ListViewItemData.cs.meta b/Scripts/ListView/Core/ListViewItemData.cs.meta index 8a2309c78..3f6d94580 100644 --- a/Scripts/ListView/Core/ListViewItemData.cs.meta +++ b/Scripts/ListView/Core/ListViewItemData.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: 7c33de6a45d0dfb4bb016077884f3cdc -timeCreated: 1472783134 -licenseType: Pro +guid: bd7facb5e5d361140ae616d1bb211e16 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Scripts/ListView/Core/ListViewItemTemplate.cs b/Scripts/ListView/Core/ListViewItemTemplate.cs index 00a3d7685..bb2716f5e 100644 --- a/Scripts/ListView/Core/ListViewItemTemplate.cs +++ b/Scripts/ListView/Core/ListViewItemTemplate.cs @@ -1,12 +1,12 @@ using UnityEngine; using System.Collections.Generic; -namespace ListView +namespace Unity.Labs.ListView { - public class ListViewItemTemplate + public sealed class ListViewItemTemplate { public readonly GameObject prefab; - public readonly List pool = new List(); + public readonly Queue pool = new Queue(); public ListViewItemTemplate(GameObject prefab) { diff --git a/Scripts/ListView/Core/ListViewScroller.cs b/Scripts/ListView/Core/ListViewScroller.cs index 18d605da6..aaf7a1617 100644 --- a/Scripts/ListView/Core/ListViewScroller.cs +++ b/Scripts/ListView/Core/ListViewScroller.cs @@ -1,16 +1,43 @@ -using ListView; -using UnityEngine; +using UnityEngine; using UnityEngine.EventSystems; -public class ListViewScroller : MonoBehaviour, IScrollHandler +namespace Unity.Labs.ListView { -#pragma warning disable 649 - [SerializeField] - ListViewControllerBase m_ListView; -#pragma warning restore 649 - - public void OnScroll(PointerEventData eventData) + public abstract class ListViewScroller : MonoBehaviour, IScrollHandler { - m_ListView.OnScroll(eventData); + [SerializeField] + protected ListViewControllerBase m_ListView; + + protected bool m_Scrolling; + protected Vector3 m_StartPosition; + protected float m_StartOffset; + + protected virtual void OnScrollStarted(Vector3 start) + { + if (m_Scrolling) + return; + + m_Scrolling = true; + m_StartPosition = start; + m_StartOffset = m_ListView.scrollOffset; + m_ListView.OnScrollStarted(); + } + + protected virtual void OnScroll(Vector3 position) + { + if (m_Scrolling) + m_ListView.scrollOffset = m_StartOffset + position.x - m_StartPosition.x; + } + + protected virtual void OnScrollEnded() + { + m_Scrolling = false; + m_ListView.OnScrollEnded(); + } + + public void OnScroll(PointerEventData eventData) + { + m_ListView.OnScroll(eventData); + } } } diff --git a/Scripts/ListView/Core/ListViewScroller.cs.meta b/Scripts/ListView/Core/ListViewScroller.cs.meta index a6ee888d2..69edcc903 100644 --- a/Scripts/ListView/Core/ListViewScroller.cs.meta +++ b/Scripts/ListView/Core/ListViewScroller.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: a6578b7c795e17243af7f851d5c98d6f -timeCreated: 1481229934 +guid: 67c8fb479f2eb3a4ca7fb595ee1836cd +timeCreated: 1467138914 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Scripts/ListView/Core/NestedListViewController.cs b/Scripts/ListView/Core/NestedListViewController.cs index 474155fc8..1202ac9a3 100644 --- a/Scripts/ListView/Core/NestedListViewController.cs +++ b/Scripts/ListView/Core/NestedListViewController.cs @@ -1,10 +1,15 @@ +using System; using System.Collections.Generic; -namespace ListView +#if LISTVIEW_TESTS +using System.Diagnostics; +#endif + +namespace Unity.Labs.ListView { - class NestedListViewController : ListViewController - where TData : ListViewItemNestedData - where TItem : ListViewItem + public abstract class NestedListViewController : ListViewController + where TData : INestedListViewItemData + where TItem : INestedListViewItem { protected struct UpdateData { @@ -14,14 +19,15 @@ protected struct UpdateData public int index; } - protected override float listHeight { get { return m_ExpandedDataLength; } } + protected override float listHeight + { + get { return m_ExpandedDataLength; } + } protected float m_ExpandedDataLength; protected readonly Dictionary m_ExpandStates = new Dictionary(); - protected readonly Stack m_UpdateStack = new Stack(); - public override List data { get { return base.data; } @@ -29,20 +35,29 @@ public override List data { m_Data = value; - // Update visible rows - var items = new Dictionary(m_ListItems); - foreach (var row in items) + // Update visible rows if data has changed, recycle if data is missing + foreach (var row in new Dictionary(m_ListItems)) { var index = row.Key; var newData = GetRowRecursive(m_Data, index); if (newData != null) - row.Value.Setup(newData); + row.Value.Setup(newData, false); else Recycle(index); } } } + // Local method use only -- created here to reduce garbage collection + Action m_ToggleExpanded; + protected readonly Stack m_UpdateStack = new Stack(); + + protected override void Awake() + { + base.Awake(); + m_ToggleExpanded = ToggleExpanded; + } + static TData GetRowRecursive(List data, TIndex index) { foreach (var datum in data) @@ -50,23 +65,26 @@ static TData GetRowRecursive(List data, TIndex index) if (datum.index.Equals(index)) return datum; - if (datum.children != null) + var children = datum.children; + if (children != null) { - var result = GetRowRecursive(datum.children, index); + var result = GetRowRecursive(children, index); if (result != null) return result; } } - return null; + + return default(TData); } - protected void RecycleRecursively(TData data) + protected void RecycleRecursively(TData datum) { - Recycle(data.index); + Recycle(datum.index); - if (data.children != null) + var children = datum.children; + if (children != null) { - foreach (var child in data.children) + foreach (var child in children) { RecycleRecursively(child); } @@ -76,48 +94,55 @@ protected void RecycleRecursively(TData data) protected override void UpdateItems() { var doneSettling = true; - var count = 0f; + var offset = 0f; var order = 0; - UpdateNestedItems(m_Data, ref order, ref count, ref doneSettling); - m_ExpandedDataLength = count; + UpdateNestedItems(ref order, ref offset, ref doneSettling); + m_ExpandedDataLength = offset; if (m_Settling && doneSettling) EndSettling(); } - protected virtual void UpdateNestedItems(List data, ref int order, ref float offset, ref bool doneSettling, int depth = 0) + protected virtual void UpdateNestedItems(ref int order, ref float offset, ref bool doneSettling, int depth = 0) { +#if LISTVIEW_TESTS + Debug.Assert(m_UpdateStack.Count == 0); +#endif + + // We assume that this stack is empty because of the while loop below; + // It is possible for it to contain data if an exception is thrown inside the loop m_UpdateStack.Push(new UpdateData { - data = data, + data = m_Data, depth = depth }); + var itemWidth = m_ItemSize.z; + var listWidth = m_Size.z; while (m_UpdateStack.Count > 0) { var stackData = m_UpdateStack.Pop(); - data = stackData.data; + var nestedData = stackData.data; depth = stackData.depth; var i = stackData.index; - for (; i < data.Count; i++) + for (; i < nestedData.Count; i++) { - var datum = data[i]; + var datum = nestedData[i]; var index = datum.index; bool expanded; if (!m_ExpandStates.TryGetValue(index, out expanded)) m_ExpandStates[index] = false; - var itemSize = m_ItemSize.Value; - - if (offset + scrollOffset + itemSize.z < 0 || offset + scrollOffset > m_Size.z) + var localOffset = offset + m_ScrollOffset; + if (localOffset + itemWidth < 0 || localOffset > listWidth) Recycle(index); else - UpdateNestedItem(datum, order++, offset, depth, ref doneSettling); + UpdateNestedItem(datum, order++, localOffset, depth, ref doneSettling); - offset += itemSize.z; + offset += itemWidth; if (datum.children != null) { @@ -125,9 +150,8 @@ protected virtual void UpdateNestedItems(List data, ref int order, ref fl { m_UpdateStack.Push(new UpdateData { - data = data, + data = nestedData, depth = depth, - index = i + 1 }); @@ -145,14 +169,15 @@ protected virtual void UpdateNestedItems(List data, ref int order, ref fl } } - protected virtual void UpdateNestedItem(TData data, int order, float count, int depth, ref bool doneSettling) + protected virtual void UpdateNestedItem(TData datum, int order, float offset, int depth, ref bool doneSettling) { - UpdateVisibleItem(data, order, count, ref doneSettling); + UpdateVisibleItem(datum, order, offset, ref doneSettling); } - protected void RecycleChildren(TData data) + protected void RecycleChildren(TData datum) { - foreach (var child in data.children) + var children = datum.children; + foreach (var child in children) { Recycle(child.index); @@ -179,23 +204,42 @@ protected void ScrollToIndex(TData container, TIndex targetIndex, ref float scro var index = container.index; if (index.Equals(targetIndex)) { - if (-scrollOffset > scrollHeight || -scrollOffset + m_Size.z < scrollHeight) - scrollOffset = -scrollHeight; + if (-m_ScrollOffset > scrollHeight || -m_ScrollOffset + m_Size.z < scrollHeight) + m_ScrollOffset = -scrollHeight; + return; } - scrollHeight += itemSize.z; + scrollHeight += m_ItemSize.z; if (GetExpanded(index)) { - if (container.children != null) + var children = container.children; + if (children != null) { - foreach (var child in container.children) + foreach (var child in children) { ScrollToIndex(child, targetIndex, ref scrollHeight); } } } } + + protected override bool GetNewItem(TData datum, out TItem item) + { + var instantiated = base.GetNewItem(datum, out item); + if (instantiated) + item.toggleExpanded += m_ToggleExpanded; + + return instantiated; + } + + protected virtual void ToggleExpanded(TData datum) + { + bool expanded; + m_ExpandStates.TryGetValue(datum.index, out expanded); + m_ExpandStates[datum.index] = !expanded; + StartSettling(); + } } } diff --git a/Scripts/ListView/Core/NestedListViewController.cs.meta b/Scripts/ListView/Core/NestedListViewController.cs.meta index 27f9b9847..72abad510 100644 --- a/Scripts/ListView/Core/NestedListViewController.cs.meta +++ b/Scripts/ListView/Core/NestedListViewController.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: a9125cff5742f644ca83b26be941c2bb -timeCreated: 1471983481 +guid: 8bb2d38e9e14a054c9344de96acdacf2 +timeCreated: 1500166547 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Scripts/ListView/Core/NestedListViewItem.cs b/Scripts/ListView/Core/NestedListViewItem.cs new file mode 100644 index 000000000..d2d8b4255 --- /dev/null +++ b/Scripts/ListView/Core/NestedListViewItem.cs @@ -0,0 +1,16 @@ +using System; + +namespace Unity.Labs.ListView +{ + public abstract class NestedListViewItem : ListViewItem, + INestedListViewItem where TData : IListViewItemData + { + public event Action toggleExpanded; + + public void ToggleExpanded() + { + if (toggleExpanded != null) + toggleExpanded(data); + } + } +} diff --git a/Scripts/ListView/Core/NestedListViewItem.cs.meta b/Scripts/ListView/Core/NestedListViewItem.cs.meta new file mode 100644 index 000000000..14b6e51c3 --- /dev/null +++ b/Scripts/ListView/Core/NestedListViewItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 87f568e0a1a6b3a41a18bc2a5df53811 +timeCreated: 1467071852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/ListView/Core/ListViewItemNestedData.cs b/Scripts/ListView/Core/NestedListViewItemData.cs similarity index 59% rename from Scripts/ListView/Core/ListViewItemNestedData.cs rename to Scripts/ListView/Core/NestedListViewItemData.cs index 23261fde3..00279b8fe 100644 --- a/Scripts/ListView/Core/ListViewItemNestedData.cs +++ b/Scripts/ListView/Core/NestedListViewItemData.cs @@ -1,10 +1,12 @@ using System; using System.Collections.Generic; -namespace ListView +namespace Unity.Labs.ListView { - abstract class ListViewItemNestedData : ListViewItemData + public abstract class NestedListViewItemData : ListViewItemData, INestedListViewItemData { + protected List m_Children; + public List children { get { return m_Children; } @@ -17,8 +19,6 @@ public List children } } - protected List m_Children; - - public event Action, List> childrenChanging; + public event Action, List> childrenChanging; } } diff --git a/Scripts/ListView/Core/ListViewItemNestedData.cs.meta b/Scripts/ListView/Core/NestedListViewItemData.cs.meta similarity index 100% rename from Scripts/ListView/Core/ListViewItemNestedData.cs.meta rename to Scripts/ListView/Core/NestedListViewItemData.cs.meta diff --git a/Scripts/ListView/EditorXRListViewController.cs b/Scripts/ListView/EditorXRListViewController.cs index 7ef802e1b..357e3f3b7 100644 --- a/Scripts/ListView/EditorXRListViewController.cs +++ b/Scripts/ListView/EditorXRListViewController.cs @@ -1,12 +1,11 @@ -using ListView; -using System.Collections.Generic; +using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; namespace UnityEditor.Experimental.EditorVR { public abstract class EditorXRListViewController : ListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode - where TData : ListViewItemData + where TData : IListViewItemData where TItem : EditorXRListViewItem { #pragma warning disable 649 @@ -33,8 +32,6 @@ public abstract class EditorXRListViewController : ListVie HapticPulse m_ItemDragEndPulse; #pragma warning restore 649 - protected readonly Dictionary m_GrabbedRows = new Dictionary(); - protected override void Recycle(TIndex index) { if (m_GrabbedRows.ContainsKey(index)) @@ -43,24 +40,6 @@ protected override void Recycle(TIndex index) base.Recycle(index); } - protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) - { - if (grabbed) - m_GrabbedRows[index] = rayOrigin; - else - m_GrabbedRows.Remove(index); - } - - protected virtual TItem GetGrabbedRow(Transform rayOrigin) - { - foreach (var row in m_GrabbedRows) - { - if (row.Value == rayOrigin) - return GetListItem(row.Key); - } - return null; - } - protected override void UpdateView() { base.UpdateView(); diff --git a/Scripts/ListView/EditorXRListViewItem.cs b/Scripts/ListView/EditorXRListViewItem.cs index f9259169f..49168bae4 100644 --- a/Scripts/ListView/EditorXRListViewItem.cs +++ b/Scripts/ListView/EditorXRListViewItem.cs @@ -1,10 +1,9 @@ using System; -using ListView; -using UnityEngine; +using Unity.Labs.ListView; namespace UnityEditor.Experimental.EditorVR { - public class EditorXRListViewItem : ListViewItem where TData : ListViewItemData + public class EditorXRListViewItem : ListViewItem where TData : IListViewItemData { public Action click { get; set; } public Action hoverStart { get; set; } diff --git a/Scripts/ListView/EditorXRListViewItemNestedData.cs b/Scripts/ListView/EditorXRListViewItemNestedData.cs deleted file mode 100644 index 30a438cd7..000000000 --- a/Scripts/ListView/EditorXRListViewItemNestedData.cs +++ /dev/null @@ -1,15 +0,0 @@ -using ListView; -using System; - -namespace UnityEditor.Experimental.EditorVR -{ - abstract class EditorXRListViewItemNestedData : ListViewItemNestedData - { - public Action click { get; set; } - public Action hoverStart { get; set; } - public Action hoverEnd { get; set; } - public Action dragStart { get; set; } - public Action dragging { get; set; } - public Action dragEnd { get; set; } - } -} diff --git a/Scripts/ListView/EditorXRNestedListViewController.cs b/Scripts/ListView/EditorXRNestedListViewController.cs index 86f05597e..9450f334f 100644 --- a/Scripts/ListView/EditorXRNestedListViewController.cs +++ b/Scripts/ListView/EditorXRNestedListViewController.cs @@ -1,13 +1,12 @@ -using ListView; -using System.Collections.Generic; +using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Core; using UnityEngine; namespace UnityEditor.Experimental.EditorVR { abstract class EditorXRNestedListViewController : NestedListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode - where TData : ListViewItemNestedData - where TItem : EditorXRListViewItem + where TData : INestedListViewItemData + where TItem : EditorXRListViewItem, INestedListViewItem { #pragma warning disable 649 [SerializeField] @@ -34,8 +33,6 @@ abstract class EditorXRNestedListViewController : NestedLi HapticPulse m_ItemDragEndPulse; #pragma warning restore 649 - protected readonly Dictionary m_GrabbedRows = new Dictionary(); - protected override void Recycle(TIndex index) { if (m_GrabbedRows.ContainsKey(index)) @@ -44,24 +41,6 @@ protected override void Recycle(TIndex index) base.Recycle(index); } - protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) - { - if (grabbed) - m_GrabbedRows[index] = rayOrigin; - else - m_GrabbedRows.Remove(index); - } - - protected virtual TItem GetGrabbedRow(Transform rayOrigin) - { - foreach (var row in m_GrabbedRows) - { - if (row.Value == rayOrigin) - return GetListItem(row.Key); - } - return null; - } - protected override void UpdateView() { base.UpdateView(); diff --git a/Scripts/ListView/EditorXRNestedListViewItem.cs b/Scripts/ListView/EditorXRNestedListViewItem.cs new file mode 100644 index 000000000..a4cfd0fd3 --- /dev/null +++ b/Scripts/ListView/EditorXRNestedListViewItem.cs @@ -0,0 +1,17 @@ +using Unity.Labs.ListView; +using System; + +namespace UnityEditor.Experimental.EditorVR +{ + abstract class EditorXRNestedListViewItem : EditorXRListViewItem, INestedListViewItem + where TData : INestedListViewItemData + { + public event Action toggleExpanded; + + public void ToggleExpanded() + { + if (toggleExpanded != null) + toggleExpanded(data); + } + } +} diff --git a/Scripts/ListView/EditorXRListViewItemNestedData.cs.meta b/Scripts/ListView/EditorXRNestedListViewItem.cs.meta similarity index 100% rename from Scripts/ListView/EditorXRListViewItemNestedData.cs.meta rename to Scripts/ListView/EditorXRNestedListViewItem.cs.meta diff --git a/Workspaces/Common/Scripts/DraggableListItem.cs b/Workspaces/Common/Scripts/DraggableListItem.cs index 9d03abd8a..c9201bb8a 100644 --- a/Workspaces/Common/Scripts/DraggableListItem.cs +++ b/Workspaces/Common/Scripts/DraggableListItem.cs @@ -1,7 +1,7 @@ -using ListView; using System; using System.Collections; using System.Collections.Generic; +using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Core; using UnityEditor.Experimental.EditorVR.Handles; using UnityEditor.Experimental.EditorVR.Utilities; @@ -10,7 +10,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { class DraggableListItem : EditorXRListViewItem, IGetPreviewOrigin, IUsesViewerScale, IRayToNode - where TData : ListViewItemData + where TData : IListViewItemData { const float k_MagnetizeDuration = 0.5f; protected const float k_DragDeadzone = 0.025f; diff --git a/Workspaces/Common/Scripts/NestedDraggableListItem.cs b/Workspaces/Common/Scripts/NestedDraggableListItem.cs new file mode 100644 index 000000000..20b30077a --- /dev/null +++ b/Workspaces/Common/Scripts/NestedDraggableListItem.cs @@ -0,0 +1,18 @@ +using System; +using UnityEngine; +using Unity.Labs.ListView; + +namespace UnityEditor.Experimental.EditorVR.Workspaces +{ + class NestedDraggableListItem : DraggableListItem, INestedListViewItem + where TData : INestedListViewItemData + { + public event Action toggleExpanded; + + public void ToggleExpanded() + { + if (toggleExpanded != null) + toggleExpanded(data); + } + } +} diff --git a/Workspaces/Common/Scripts/NestedDraggableListItem.cs.meta b/Workspaces/Common/Scripts/NestedDraggableListItem.cs.meta new file mode 100644 index 000000000..3ba0cb5f3 --- /dev/null +++ b/Workspaces/Common/Scripts/NestedDraggableListItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 96bb92e7c3a2589489af3dcb4800b153 +timeCreated: 1474997453 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Workspaces/HierarchyWorkspace/HierarchyWorkspace.cs b/Workspaces/HierarchyWorkspace/HierarchyWorkspace.cs index 84fc4829a..f2651d644 100644 --- a/Workspaces/HierarchyWorkspace/HierarchyWorkspace.cs +++ b/Workspaces/HierarchyWorkspace/HierarchyWorkspace.cs @@ -178,7 +178,7 @@ static void SelectRow(int index) m_WorkspaceUI.topHighlight.visible = true; m_WorkspaceUI.amplifyTopHighlight = false; - m_HierarchyUI.listView.OnBeginScrolling(); + m_HierarchyUI.listView.OnScrollStarted(); } void OnScrollDragging(BaseHandle handle, HandleEventData eventData = default(HandleEventData)) diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index a27eb0ed6..3a2115359 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -9,7 +9,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - sealed class HierarchyListItem : DraggableListItem, IUsesViewerBody, IGetFieldGrabOrigin + sealed class HierarchyListItem : NestedDraggableListItem, IUsesViewerBody, IGetFieldGrabOrigin { const float k_Margin = 0.01f; const float k_Indent = 0.02f; @@ -100,7 +100,6 @@ sealed class HierarchyListItem : DraggableListItem, IUsesVie public Action toggleLock { private get; set; } - public Action toggleExpanded { private get; set; } public Action setExpanded { private get; set; } public Func isExpanded { private get; set; } @@ -110,12 +109,12 @@ sealed class HierarchyListItem : DraggableListItem, IUsesVie public bool isStillSettling { private set; get; } - public override void Setup(HierarchyData data) + public override void Setup(HierarchyData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); // First time setup - if (cubeMaterial == null) + if (firstTime) { // Cube material might change for hover state, so we always instance it m_CubeRenderer = m_Cube.GetComponent(); @@ -286,7 +285,7 @@ public void UpdateArrow(bool? expanded, bool immediate = false) void OnClick(BaseHandle handle, PointerEventData pointerEventData) { SelectFolder(); - toggleExpanded(data.index); + ToggleExpanded(); } protected override void OnDragStarted(BaseHandle handle, HandleEventData eventData, Vector3 dragStart) @@ -437,7 +436,7 @@ void ToggleLock(BaseHandle handle, HandleEventData eventData) void ToggleExpanded(BaseHandle handle, HandleEventData eventData) { - toggleExpanded(data.index); + ToggleExpanded(); } void SelectFolder() diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs index 4727df553..18ac378b5 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs @@ -90,9 +90,9 @@ public override List data public Func matchesFilter { private get; set; } public Func getSearchQuery { private get; set; } - protected override void Setup() + protected override void Start() { - base.Setup(); + base.Start(); m_TextMaterial = Instantiate(m_TextMaterial); m_SceneIconDarkMaterial = Instantiate(m_SceneIconDarkMaterial); @@ -153,33 +153,33 @@ protected override void UpdateItems() void UpdateDropZones() { var width = m_Size.x - k_ClipMargin; - var dropZoneTransform = m_TopDropZone.transform; - var dropZoneScale = dropZoneTransform.localScale; + var topDropZoneTransform = m_TopDropZone.transform; + var dropZoneScale = topDropZoneTransform.localScale; dropZoneScale.x = width; - dropZoneTransform.localScale = dropZoneScale; + topDropZoneTransform.localScale = dropZoneScale; var extentsZ = m_Extents.z; - var dropZonePosition = dropZoneTransform.localPosition; + var dropZonePosition = topDropZoneTransform.localPosition; dropZonePosition.z = extentsZ + dropZoneScale.z * 0.5f; - dropZoneTransform.localPosition = dropZonePosition; + topDropZoneTransform.localPosition = dropZonePosition; - dropZoneTransform = m_BottomDropZone.transform; - dropZoneScale = dropZoneTransform.localScale; + var bottomDropZoneTransform = m_BottomDropZone.transform; + dropZoneScale = bottomDropZoneTransform.localScale; dropZoneScale.x = width; - var itemSize = m_ItemSize.Value.z; + var itemSize = m_ItemSize.z; var extraSpace = extentsZ - m_VisibleItemHeight - scrollOffset % itemSize; dropZoneScale.z = extraSpace; - dropZoneTransform.localScale = dropZoneScale; + bottomDropZoneTransform.localScale = dropZoneScale; - dropZonePosition = dropZoneTransform.localPosition; + dropZonePosition = bottomDropZoneTransform.localPosition; dropZonePosition.z = dropZoneScale.z * 0.5f - extentsZ; - dropZoneTransform.localPosition = dropZonePosition; + bottomDropZoneTransform.localPosition = dropZonePosition; if (extraSpace < m_BottomDropZoneStartHeight) { dropZoneScale.z = m_BottomDropZoneStartHeight; - dropZoneTransform.localScale = dropZoneScale; + bottomDropZoneTransform.localScale = dropZoneScale; dropZonePosition.z = -dropZoneScale.z * 0.5f - extentsZ; } } @@ -189,7 +189,7 @@ void UpdateHierarchyItem(HierarchyData data, int order, ref float offset, int de var index = data.index; HierarchyListItem item; if (!m_ListItems.TryGetValue(index, out item)) - item = GetItem(data); + GetNewItem(data, out item); var go = data.gameObject; var kvp = new KeyValuePair(item.hoveringRayOrigin, go); @@ -208,35 +208,36 @@ void UpdateHierarchyItem(HierarchyData data, int order, ref float offset, int de var locked = this.IsLocked(data.gameObject); item.UpdateSelf(width, depth, expanded, index == m_SelectedRow, locked); - SetMaterialClip(item.cubeMaterial, transform.worldToLocalMatrix); - SetMaterialClip(item.dropZoneMaterial, transform.worldToLocalMatrix); + var worldToLocalMatrix = transform.worldToLocalMatrix; + SetMaterialClip(item.cubeMaterial, worldToLocalMatrix); + SetMaterialClip(item.dropZoneMaterial, worldToLocalMatrix); m_VisibleItemHeight += itemSize.z; - UpdateItem(item.transform, order, offset + m_ScrollOffset, ref doneSettling); + UpdateItem(item, order, offset + m_ScrollOffset, ref doneSettling); var extraSpace = item.extraSpace * itemSize.z; offset += extraSpace; m_VisibleItemHeight += extraSpace; } - protected override void UpdateNestedItems(List data, ref int order, ref float offset, ref bool doneSettling, int depth = 0) + protected override void UpdateNestedItems(ref int order, ref float offset, ref bool doneSettling, int depth = 0) { m_UpdateStack.Push(new UpdateData { - data = data, + data = m_Data, depth = depth }); while (m_UpdateStack.Count > 0) { var stackData = m_UpdateStack.Pop(); - data = stackData.data; + var nestedData = stackData.data; depth = stackData.depth; var i = stackData.index; - for (; i < data.Count; i++) + for (; i < nestedData.Count; i++) { - var datum = data[i]; + var datum = nestedData[i]; var index = datum.index; bool expanded; m_ExpandStates.TryGetValue(index, out expanded); @@ -253,7 +254,8 @@ protected override void UpdateNestedItems(List data, ref int orde var hasChildren = datum.children != null; - var shouldRecycle = offset + scrollOffset + itemSize.z < 0 || offset + scrollOffset > m_Size.z; + var localOffset = offset + m_ScrollOffset; + var shouldRecycle = localOffset + itemSize.z < 0 || localOffset > m_Size.z; if (m_HasLockedQuery || m_HasFilterQuery) { @@ -283,7 +285,7 @@ protected override void UpdateNestedItems(List data, ref int orde { m_UpdateStack.Push(new UpdateData { - data = data, + data = nestedData, index = i + 1 }); @@ -309,7 +311,7 @@ protected override void UpdateNestedItems(List data, ref int orde { m_UpdateStack.Push(new UpdateData { - data = data, + data = nestedData, depth = depth, index = i + 1 @@ -334,25 +336,28 @@ protected override void UpdateNestedItems(List data, ref int orde } } - protected override HierarchyListItem GetItem(HierarchyData data) + protected override bool GetNewItem(HierarchyData data, out HierarchyListItem item) { - var item = base.GetItem(data); - item.SetMaterials(m_TextMaterial, m_ExpandArrowMaterial, m_LockIconMaterial, m_UnlockIconMaterial, - m_SceneIconDarkMaterial, m_SceneIconWhiteMaterial); - item.selectRow = SelectRow; + var instantiated = base.GetNewItem(data, out item); - item.setRowGrabbed = SetRowGrabbed; - item.getGrabbedRow = GetGrabbedRow; + if (instantiated) + { + item.SetMaterials(m_TextMaterial, m_ExpandArrowMaterial, m_LockIconMaterial, m_UnlockIconMaterial, + m_SceneIconDarkMaterial, m_SceneIconWhiteMaterial); + item.selectRow = SelectRow; + + item.setRowGrabbed = SetRowGrabbed; + item.getGrabbedRow = GetGrabbedRow; - item.toggleLock = ToggleLock; + item.toggleLock = ToggleLock; - item.toggleExpanded = ToggleExpanded; - item.setExpanded = SetExpanded; - item.isExpanded = GetExpanded; + item.setExpanded = SetExpanded; + item.isExpanded = GetExpanded; + } item.UpdateArrow(GetExpanded(data.index), true); - return item; + return instantiated; } protected override void SetRowGrabbed(int index, Transform rayOrigin, bool grabbed) @@ -372,17 +377,6 @@ void ToggleLock(int index) } } - void ToggleExpanded(int index) - { - bool expanded; - if (!m_ExpandStates.TryGetValue(index, out expanded)) - m_ExpandStates[index] = true; - else - m_ExpandStates[index] = !expanded; - - StartSettling(); - } - public void SelectRow(int index) { if (data == null) diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index 9a891d921..1245c5816 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -87,7 +87,7 @@ void UpdateCurrentObject() m_WorkspaceUI.topHighlight.visible = true; m_WorkspaceUI.amplifyTopHighlight = false; - m_InspectorUI.listView.OnBeginScrolling(); + m_InspectorUI.listView.OnScrollStarted(); } void OnScrollDragging(BaseHandle handle, HandleEventData eventData = default(HandleEventData)) diff --git a/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab b/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab index 2944582ab..42ef645e1 100644 --- a/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab +++ b/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1000011895958286} - m_IsPrefabParent: 1 --- !u!1 &1000010012087022 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000013285561626} - component: {fileID: 222000013930984344} @@ -28,12 +18,155 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224000013285561626 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010012087022} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.001, y: 0.001, z: 1} + m_Children: [] + m_Father: {fileID: 224000012288413328} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0.052093506, y: 0} + m_SizeDelta: {x: 100.1042, y: 0.0209} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013930984344 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010012087022} + m_CullTransparentMesh: 0 +--- !u!114 &114638613710086718 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010012087022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Untagged + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: b41e75aab5020ca4ea60dc257cae41ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 8 + m_fontSizeBase: 8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 1 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: 0 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 114638613710086718} + characterCount: 8 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1000010132850616 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000010258896432} - component: {fileID: 225000011463750798} @@ -44,12 +177,47 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224000010258896432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010132850616} + m_LocalRotation: {x: -0.42317173, y: -0, z: -0, w: 0.9060495} + m_LocalPosition: {x: 0, y: 0, z: -0.012000013} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000012473273294} + - {fileID: 224000014126425254} + - {fileID: 4000010850942030} + m_Father: {fileID: 224000012288413328} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: -0.014527775} + m_SizeDelta: {x: 0, y: 0.02} + m_Pivot: {x: 0.5, y: 0} +--- !u!225 &225000011463750798 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010132850616} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 --- !u!1 &1000010157872688 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000011055657830} - component: {fileID: 222000010287026704} @@ -62,12 +230,98 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224000011055657830 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010157872688} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.002} + m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005} + m_Children: + - {fileID: 224000012312340628} + - {fileID: 224000010307141254} + - {fileID: 224000012819706564} + - {fileID: 4000014223127988} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.036987305, y: -0.016136568} + m_SizeDelta: {x: -0.074055, y: 0.0209} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010287026704 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010157872688} + m_CullTransparentMesh: 0 +--- !u!114 &114000010054861944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010157872688} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &114000012612735310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010157872688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8e513a78f8352940b3b3bd81422b3f7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Options: [] + m_MultiSelect: 0 + m_Label: {fileID: 114336388236416602} + m_OptionsPanel: {fileID: 224000012819706564} + m_OptionsList: {fileID: 114000013890702530} + m_TemplatePrefab: {fileID: 1000012851962796, guid: 96e9e26ba4c02c4459218e81d404980f, + type: 3} + m_MultiSelectTemplatePrefab: {fileID: 1000011005728614, guid: 44aae4eb5a02aae479e9a5b75c0591dc, + type: 3} + m_CanvasGroup: {fileID: 225000010659659436} + m_BackgroundMeshTransform: {fileID: 4000010821773370} + m_Value: 0 + m_Values: --- !u!1 &1000010244751346 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000010391848646} - component: {fileID: 222000010033932514} @@ -79,370 +333,596 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000010266807720 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011847507420} - - component: {fileID: 222000010476326360} - - component: {fileID: 114000011737525226} - - component: {fileID: 114000013890702530} - - component: {fileID: 114000010721777882} - m_Layer: 5 - m_Name: OptionsList - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000010298739158 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000011261758004} - - component: {fileID: 33000014154840674} - - component: {fileID: 23000011874427318} - m_Layer: 0 - m_Name: ButtonMesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000010563032520 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010432530272} - - component: {fileID: 222000013719059852} - - component: {fileID: 114000011526187362} - - component: {fileID: 114000013234340432} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000010668544756 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010796383994} - - component: {fileID: 222000014287260370} - - component: {fileID: 114000011824489724} - m_Layer: 5 - m_Name: Checkmark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000010670478524 +--- !u!224 &224000010391848646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010244751346} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012473273294} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010033932514 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010244751346} + m_CullTransparentMesh: 0 +--- !u!114 &114000010661339384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010244751346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000010266807720 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000013721318174} - - component: {fileID: 222000013304225182} - - component: {fileID: 114000012557490372} - - component: {fileID: 114000012504767538} + - component: {fileID: 224000011847507420} + - component: {fileID: 222000010476326360} + - component: {fileID: 114000011737525226} + - component: {fileID: 114000013890702530} + - component: {fileID: 114000010721777882} m_Layer: 5 - m_Name: CloseButton + m_Name: OptionsList m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000010675919256 +--- !u!224 &224000011847507420 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010266807720} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.00000030046655} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012819706564} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222000010476326360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010266807720} + m_CullTransparentMesh: 0 +--- !u!114 &114000011737525226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010266807720} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &114000013890702530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010266807720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 7 + m_StartCorner: 0 + m_StartAxis: 1 + m_CellSize: {x: 0.605, y: 0.02} + m_Spacing: {x: 0, y: 0.001} + m_Constraint: 1 + m_ConstraintCount: 1 +--- !u!114 &114000010721777882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010266807720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 895ce0fb0f4709a43be463de3a6a5b1d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayoutGroup: {fileID: 114000013890702530} + m_XScalePadding: 0.01 +--- !u!1 &1000010298739158 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 4000011568321576} - - component: {fileID: 114000012595826366} - m_Layer: 5 - m_Name: DropdownOptionsBackground + - component: {fileID: 4000011261758004} + - component: {fileID: 33000014154840674} + - component: {fileID: 23000011874427318} + m_Layer: 0 + m_Name: ButtonMesh m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000011029015394 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000014112050076} - - component: {fileID: 222000013483665038} - - component: {fileID: 114000012507456822} - m_Layer: 5 - m_Name: Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!1 &1000011122323074 +--- !u!4 &4000011261758004 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010298739158} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.00005875309, z: -0.00013315678} + m_LocalScale: {x: 48, y: 50, z: 0.5} + m_Children: + - {fileID: 224000010417984358} + m_Father: {fileID: 4000010823787348} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000014154840674 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010298739158} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} +--- !u!23 &23000011874427318 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010298739158} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8d993d4dd9ec99247a30bbe1482df2f4, type: 2} + - {fileID: 2100000, guid: 2e6e6d7336061b54886b155c24f8460f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &1000010563032520 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 4000013704138378} - - component: {fileID: 33000013780167840} - - component: {fileID: 23000011908066206} - - component: {fileID: 114000011524206158} + - component: {fileID: 224000010432530272} + - component: {fileID: 222000013719059852} + - component: {fileID: 114000011526187362} + - component: {fileID: 114000013234340432} m_Layer: 5 - m_Name: Cube + m_Name: Button m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000011148441990 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010527027686} - - component: {fileID: 222000010893755568} - - component: {fileID: 114000012770919172} - m_Layer: 5 - m_Name: Arrow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011177294180 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010782557334} - - component: {fileID: 33000011076564380} - - component: {fileID: 23000013104897804} - - component: {fileID: 65000010617101100} - m_Layer: 0 - m_Name: BackgroundMesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011177812900 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011426695122} - - component: {fileID: 114000014075112214} - m_Layer: 5 - m_Name: LockToggle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011293319342 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010821773370} - - component: {fileID: 33000012074022142} - - component: {fileID: 23000011903402370} - - component: {fileID: 65000012618865192} - m_Layer: 0 - m_Name: BackgroundMesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011329889730 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010307141254} - - component: {fileID: 222000012942168964} - - component: {fileID: 114000013557156096} - m_Layer: 5 - m_Name: Arrow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011366318288 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012563636054} - - component: {fileID: 222000012006167836} - - component: {fileID: 114000010821479674} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011521582332 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000014071132042} - - component: {fileID: 222000013195997824} - - component: {fileID: 114000010778053690} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011558443746 +--- !u!224 &224000010432530272 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010563032520} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.09605834} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011274938012} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0.0005645752} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013719059852 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010563032520} + m_CullTransparentMesh: 0 +--- !u!114 &114000011526187362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010563032520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} + m_ColorMultiplier: 1 + m_FadeDuration: 0.125 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012993844416} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000010442627176} + m_MethodName: OpenPanel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114000013234340432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010563032520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000010668544756 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000010417984358} + - component: {fileID: 224000010796383994} + - component: {fileID: 222000014287260370} + - component: {fileID: 114000011824489724} m_Layer: 5 - m_Name: IconContainer + m_Name: Checkmark m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000011616049284 +--- !u!224 &224000010796383994 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010668544756} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012742017952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000014287260370 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010668544756} + m_CullTransparentMesh: 0 +--- !u!114 &114000011824489724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010668544756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000010670478524 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000013633775216} - - component: {fileID: 222000010477569216} - - component: {fileID: 114000013527977294} + - component: {fileID: 224000013721318174} + - component: {fileID: 222000013304225182} + - component: {fileID: 114000012557490372} + - component: {fileID: 114000012504767538} m_Layer: 5 - m_Name: Icon + m_Name: CloseButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000011683085308 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011176833424} - m_Layer: 5 - m_Name: IconContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000011895958286 -GameObject: +--- !u!224 &224000013721318174 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013759797810} - - component: {fileID: 114000011752801550} - m_Layer: 5 - m_Name: InspectorHeaderItem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012009528840 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013208335620} - m_Layer: 5 - m_Name: NameFieldContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012065683164 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011857921676} - - component: {fileID: 222000014026553486} - - component: {fileID: 114000010296254792} - m_Layer: 5 - m_Name: Checkmark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012118498360 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010670478524} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000013837192682} + m_Father: {fileID: 224000012819706564} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.0030059814, y: 0.0039990097} + m_SizeDelta: {x: 0.015000001, y: 0.015000001} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013304225182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010670478524} + m_CullTransparentMesh: 0 +--- !u!114 &114000012557490372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010670478524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &114000012504767538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010670478524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012557490372} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000012612735310} + m_MethodName: ClosePanel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &1000010675919256 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 4000010850942030} - - component: {fileID: 114000012431264002} + - component: {fileID: 4000011568321576} + - component: {fileID: 114000012595826366} m_Layer: 5 m_Name: DropdownOptionsBackground m_TagString: Untagged @@ -450,88 +930,51 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000012386759016 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010424329332} - - component: {fileID: 114000011430120578} - - component: {fileID: 225000011079731210} - - component: {fileID: 114000013378622778} - m_Layer: 5 - m_Name: TagBackgroundButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012591725116 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012681466036} - - component: {fileID: 222000010975116160} - - component: {fileID: 114000011058548798} - - component: {fileID: 114000013305609772} - m_Layer: 5 - m_Name: NameField - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012612565382 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012473273294} - - component: {fileID: 222000012112877134} - - component: {fileID: 114000011898757438} - - component: {fileID: 114000010236974298} - m_Layer: 5 - m_Name: CloseButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012634126668 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012129045274} - - component: {fileID: 222000011206034794} - - component: {fileID: 114000011633407996} - - component: {fileID: 114000014158197360} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012739809724 +--- !u!4 &4000011568321576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010675919256} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.43062776, y: -0.39025587, z: -0.06449813} + m_LocalScale: {x: 0.84999996, y: 0.59851986, z: 1.2694094} + m_Children: + - {fileID: 4000010821773370} + m_Father: {fileID: 224000012819706564} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000012595826366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010675919256} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SourceRectTransform: {fileID: 224000011847507420} + m_XPositionPadding: 0 + m_YPositionPadding: 0.0035 + m_ZPositionPadding: 0.0005 + m_XScalePadding: 0.011 + m_YScalePadding: 0.007 + m_ParentUnderSource: 0 +--- !u!1 &1000011029015394 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000013220354252} - - component: {fileID: 222000010007370224} - - component: {fileID: 114000012993844416} + - component: {fileID: 224000014112050076} + - component: {fileID: 222000013483665038} + - component: {fileID: 114000012507456822} m_Layer: 5 m_Name: Icon m_TagString: Untagged @@ -539,452 +982,1205 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 ---- !u!1 &1000012760062318 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013295719000} - - component: {fileID: 114000012362602002} - m_Layer: 5 - m_Name: ActiveToggle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012897313612 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010553173774} - - component: {fileID: 33000012853202112} - - component: {fileID: 23000013313994474} - m_Layer: 0 - m_Name: ButtonMesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012929402164 +--- !u!224 &224000014112050076 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011029015394} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_Children: [] + m_Father: {fileID: 224000011176833424} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0.01858902} + m_SizeDelta: {x: 7.7, y: 19.728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013483665038 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011029015394} + m_CullTransparentMesh: 0 +--- !u!114 &114000012507456822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011029015394} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 2 + m_UseSpriteMesh: 0 +--- !u!1 &1000011122323074 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000014126425254} - - component: {fileID: 222000013891503684} - - component: {fileID: 114000013965017918} - - component: {fileID: 114000013715494506} - - component: {fileID: 114000011704842292} + - component: {fileID: 4000013704138378} + - component: {fileID: 33000013780167840} + - component: {fileID: 23000011908066206} + - component: {fileID: 114000011524206158} m_Layer: 5 - m_Name: OptionsList + m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013146979432 +--- !u!4 &4000013704138378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011122323074} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.03} + m_LocalScale: {x: 0.344, y: 0.005, z: 0.06} + m_Children: [] + m_Father: {fileID: 224000013759797810} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000013780167840 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011122323074} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23000011908066206 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011122323074} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7076eefb0e29024489a88aac0cac7403, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!114 &114000011524206158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011122323074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!1 &1000011148441990 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000012288413328} - - component: {fileID: 222000012426066678} - - component: {fileID: 114000010408335324} - - component: {fileID: 114000010442627176} + - component: {fileID: 224000010527027686} + - component: {fileID: 222000010893755568} + - component: {fileID: 114000012770919172} m_Layer: 5 - m_Name: TagDropDown + m_Name: Arrow m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013178761070 +--- !u!224 &224000010527027686 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011148441990} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012288413328} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -0.009994507, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010893755568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011148441990} + m_CullTransparentMesh: 0 +--- !u!114 &114000012770919172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011148441990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000011177294180 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000011274938012} - m_Layer: 5 - m_Name: IconContainer + - component: {fileID: 4000010782557334} + - component: {fileID: 33000011076564380} + - component: {fileID: 23000013104897804} + - component: {fileID: 65000010617101100} + m_Layer: 0 + m_Name: BackgroundMesh m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013548791142 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000013451538518} - - component: {fileID: 33000010814692004} - - component: {fileID: 23000012910846144} - m_Layer: 0 - m_Name: ButtonMesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013554416906 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000014223127988} - - component: {fileID: 114000013640630968} - - component: {fileID: 225000014142328778} - - component: {fileID: 114000011523287580} - m_Layer: 5 - m_Name: LayerBackgroundButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013563586992 +--- !u!4 &4000010782557334 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177294180} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 51, y: 51, z: 4} + m_Children: [] + m_Father: {fileID: 4000010850942030} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000011076564380 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177294180} + m_Mesh: {fileID: 4300000, guid: 97e633ff61f95564f8eca8139321b9a1, type: 3} +--- !u!23 &23000013104897804 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177294180} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2e8c01fcb18643d45a8a7882a395b1cd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &65000010617101100 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177294180} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.019999996, y: 0.019999994, z: 0.0010000048} + m_Center: {x: 0, y: 0, z: 0.00049999816} +--- !u!1 &1000011177812900 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000012575211168} - - component: {fileID: 222000010295121642} - - component: {fileID: 114000013475963824} + - component: {fileID: 224000011426695122} + - component: {fileID: 114000014075112214} m_Layer: 5 - m_Name: Icon + m_Name: LockToggle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013579628816 +--- !u!224 &224000011426695122 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177812900} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005} + m_Children: + - {fileID: 224000012563636054} + - {fileID: 224429343341173018} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.07556152, y: -0.034999996} + m_SizeDelta: {x: 0.07, y: 0.02} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000014075112214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011177812900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010821479674} + toggleTransition: 1 + graphic: {fileID: 114000010296254792} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011752801550} + m_MethodName: SetLock + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &1000011293319342 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000011226683368} - - component: {fileID: 114000013033683108} - m_Layer: 5 - m_Name: StaticToggle + - component: {fileID: 4000010821773370} + - component: {fileID: 33000012074022142} + - component: {fileID: 23000011903402370} + - component: {fileID: 65000012618865192} + m_Layer: 0 + m_Name: BackgroundMesh m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013889494720 +--- !u!4 &4000010821773370 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011293319342} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 51, y: 51, z: 4} + m_Children: [] + m_Father: {fileID: 4000011568321576} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000012074022142 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011293319342} + m_Mesh: {fileID: 4300000, guid: 97e633ff61f95564f8eca8139321b9a1, type: 3} +--- !u!23 &23000011903402370 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011293319342} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2e8c01fcb18643d45a8a7882a395b1cd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &65000012618865192 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011293319342} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.019999996, y: 0.019999994, z: 0.001} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1000011329889730 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000012742017952} - - component: {fileID: 222000012655646158} - - component: {fileID: 114000013912656110} + - component: {fileID: 224000010307141254} + - component: {fileID: 222000012942168964} + - component: {fileID: 114000013557156096} m_Layer: 5 - m_Name: Background + m_Name: Arrow m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000013946275050 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013777562088} - - component: {fileID: 222000013501562430} - - component: {fileID: 114000011248116116} - - component: {fileID: 114000012144668028} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014017787106 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012127812216} - - component: {fileID: 222000010802894746} - - component: {fileID: 114000013741569488} - m_Layer: 5 - m_Name: Checkmark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014095158750 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000012819706564} - - component: {fileID: 225000010659659436} - m_Layer: 5 - m_Name: OptionsPanel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!1 &1000014116023244 -GameObject: +--- !u!224 &224000010307141254 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010867083340} - m_Layer: 5 - m_Name: UI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014144028500 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010823787348} - - component: {fileID: 114000010554882938} - - component: {fileID: 225000010174179818} - - component: {fileID: 114000013887402202} - m_Layer: 5 - m_Name: NameFieldBackgroundButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014207519668 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011329889730} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011055657830} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -0.009994507, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012942168964 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011329889730} + m_CullTransparentMesh: 0 +--- !u!114 &114000013557156096 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011329889730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000011366318288 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000012312340628} - - component: {fileID: 222000014083353906} - - component: {fileID: 114336388236416602} + - component: {fileID: 224000012563636054} + - component: {fileID: 222000012006167836} + - component: {fileID: 114000010821479674} m_Layer: 5 - m_Name: Label + m_Name: Background m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000014286428652 +--- !u!224 &224000012563636054 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011366318288} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000011857921676} + m_Father: {fileID: 224000011426695122} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222000012006167836 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011366318288} + m_CullTransparentMesh: 0 +--- !u!114 &114000010821479674 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011366318288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000011521582332 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224000013837192682} - - component: {fileID: 222000012992876568} - - component: {fileID: 114000013542154532} + - component: {fileID: 224000014071132042} + - component: {fileID: 222000013195997824} + - component: {fileID: 114000010778053690} m_Layer: 5 - m_Name: Image + m_Name: Background m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1055663183567154 +--- !u!224 &224000014071132042 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011521582332} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000012127812216} + m_Father: {fileID: 224000011226683368} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222000013195997824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011521582332} + m_CullTransparentMesh: 0 +--- !u!114 &114000010778053690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011521582332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000011558443746 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224391762965061044} - - component: {fileID: 222615205018407758} - - component: {fileID: 114993591381409866} + - component: {fileID: 224000010417984358} m_Layer: 5 - m_Name: Text + m_Name: IconContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1245757147894488 +--- !u!224 &224000010417984358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011558443746} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} + m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} + m_Children: + - {fileID: 224000013633775216} + - {fileID: 224000012129045274} + m_Father: {fileID: 4000011261758004} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000011616049284 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224429343341173018} - - component: {fileID: 222496432000465778} - - component: {fileID: 114417301942544924} + - component: {fileID: 224000013633775216} + - component: {fileID: 222000010477569216} + - component: {fileID: 114000013527977294} m_Layer: 5 - m_Name: Label + m_Name: Icon m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1496731099035560 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224183874222043632} - - component: {fileID: 222241520073679150} - - component: {fileID: 114576545145988670} +--- !u!224 &224000013633775216 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011616049284} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_Children: [] + m_Father: {fileID: 224000010417984358} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0.01858902} + m_SizeDelta: {x: 7.7, y: 19.728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010477569216 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011616049284} + m_CullTransparentMesh: 0 +--- !u!114 &114000013527977294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011616049284} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 2 + m_UseSpriteMesh: 0 +--- !u!1 &1000011683085308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011176833424} m_Layer: 5 - m_Name: Label + m_Name: IconContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1624899544809194 +--- !u!224 &224000011176833424 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011683085308} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} + m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} + m_Children: + - {fileID: 224000014112050076} + - {fileID: 224000013777562088} + m_Father: {fileID: 4000010553173774} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000011895958286 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224405580239631654} - - component: {fileID: 222677016741513044} - - component: {fileID: 114244489655245162} + - component: {fileID: 224000013759797810} + - component: {fileID: 114000011752801550} m_Layer: 5 - m_Name: LayerLabel + m_Name: InspectorHeaderItem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1808945537367824 +--- !u!224 &224000013759797810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011895958286} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000013704138378} + - {fileID: 224000010867083340} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0.06} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &114000011752801550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011895958286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0fe58b2556de4c9439deedd776311f65, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Cube: {fileID: 114000011524206158} + m_UIContainer: {fileID: 224000010867083340} + m_NoClipText: {fileID: 2100000, guid: b34930cfba9f33244a73686cc33fccfb, type: 2} + m_DropHighlightMaterial: {fileID: 2100000, guid: 4c6cd374ace66ac4ab5999367e0acfeb, + type: 2} + m_Icon: {fileID: 114000013475963824} + m_ActiveToggle: {fileID: 114000012362602002} + m_NameField: {fileID: 114000013305609772} + m_StaticToggle: {fileID: 114000013033683108} + m_LockToggle: {fileID: 114000014075112214} + m_TagDropDown: {fileID: 114000010442627176} + m_LayerDropDown: {fileID: 114000012612735310} + m_Button: {fileID: 23000011874427318} +--- !u!1 &1000012009528840 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - - component: {fileID: 224522679186685320} - - component: {fileID: 222659973401869706} - - component: {fileID: 114808765553398260} + - component: {fileID: 224000013208335620} m_Layer: 5 - m_Name: TagLabel + m_Name: NameFieldContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &4000010424329332 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012386759016} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00099999, y: 0, z: 0} - m_LocalScale: {x: 0.081582874, y: 0.0209, z: 1} - m_Children: - - {fileID: 4000013451538518} - m_Father: {fileID: 224000012288413328} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000010553173774 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012897313612} +--- !u!224 &224000013208335620 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012009528840} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.0000003831722, z: -0.0000008046629} - m_LocalScale: {x: 48, y: 50, z: 0.5} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 224000011176833424} - m_Father: {fileID: 4000014223127988} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000010782557334 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177294180} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 51, y: 51, z: 4} - m_Children: [] - m_Father: {fileID: 4000010850942030} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000010821773370 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011293319342} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 51, y: 51, z: 4} - m_Children: [] - m_Father: {fileID: 4000011568321576} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000010823787348 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014144028500} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0056, y: -0.0105, z: 0} - m_LocalScale: {x: 0.15118273, y: 0.015844537, z: 0.53585756} - m_Children: - - {fileID: 4000011261758004} - m_Father: {fileID: 224000013208335620} + - {fileID: 4000010823787348} + - {fileID: 224000012681466036} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.028533936, y: -0.034999996} + m_SizeDelta: {x: -0.172, y: 0.02} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1000012065683164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011857921676} + - component: {fileID: 222000014026553486} + - component: {fileID: 114000010296254792} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011857921676 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012065683164} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012563636054} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000014026553486 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012065683164} + m_CullTransparentMesh: 0 +--- !u!114 &114000010296254792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012065683164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: bda51dfe062f45741aae4c4ac8bb3cef, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1000012118498360 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000010850942030} + - component: {fileID: 114000012431264002} + m_Layer: 5 + m_Name: DropdownOptionsBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!4 &4000010850942030 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012118498360} m_LocalRotation: {x: -0.000000029802322, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.401734, y: -0.3902565, z: -0.064498246} @@ -994,360 +2190,172 @@ Transform: m_Father: {fileID: 224000010258896432} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000011261758004 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010298739158} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.00005875309, z: -0.00013315678} - m_LocalScale: {x: 48, y: 50, z: 0.5} - m_Children: - - {fileID: 224000010417984358} - m_Father: {fileID: 4000010823787348} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000011568321576 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010675919256} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.43062776, y: -0.39025587, z: -0.06449813} - m_LocalScale: {x: 0.84999996, y: 0.59851986, z: 1.2694094} - m_Children: - - {fileID: 4000010821773370} - m_Father: {fileID: 224000012819706564} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000013451538518 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013548791142} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.00000030866642, z: -0.0000007748604} - m_LocalScale: {x: 48, y: 50, z: 0.5} - m_Children: - - {fileID: 224000011274938012} - m_Father: {fileID: 4000010424329332} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000013704138378 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011122323074} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.03} - m_LocalScale: {x: 0.344, y: 0.005, z: 0.06} - m_Children: [] - m_Father: {fileID: 224000013759797810} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000014223127988 +--- !u!114 &114000012431264002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012118498360} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SourceRectTransform: {fileID: 224000014126425254} + m_XPositionPadding: 0 + m_YPositionPadding: 0.0035 + m_ZPositionPadding: 0.0005 + m_XScalePadding: 0.011 + m_YScalePadding: 0.007 + m_ParentUnderSource: 0 +--- !u!1 &1000012386759016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000010424329332} + - component: {fileID: 114000011430120578} + - component: {fileID: 225000011079731210} + - component: {fileID: 114000013378622778} + m_Layer: 5 + m_Name: TagBackgroundButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010424329332 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013554416906} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012386759016} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.001, y: 0, z: 0} - m_LocalScale: {x: 0.084055, y: 0.0209, z: 0.9999998} + m_LocalPosition: {x: 0.00099999, y: 0, z: 0} + m_LocalScale: {x: 0.081582874, y: 0.0209, z: 1} m_Children: - - {fileID: 4000010553173774} - m_Father: {fileID: 224000011055657830} + - {fileID: 4000013451538518} + m_Father: {fileID: 224000012288413328} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &23000011874427318 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010298739158} +--- !u!114 &114000011430120578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012386759016} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 8d993d4dd9ec99247a30bbe1482df2f4, type: 2} - - {fileID: 2100000, guid: 2e6e6d7336061b54886b155c24f8460f, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!23 &23000011903402370 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011293319342} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, + type: 3} + m_ButtonMeshRenderer: {fileID: 23000012910846144} + m_CanvasGroup: {fileID: 225000011079731210} + m_Icon: {fileID: 114000012993844416} + m_IconContainer: {fileID: 224000011274938012} + m_Button: {fileID: 114000011526187362} + m_SwapIconsOnClick: 0 + m_HighlightItems: + - {fileID: 114000012993844416} + - {fileID: 0} + m_GrayscaleGradient: 0 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000011079731210 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012386759016} + m_Enabled: 0 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114000013378622778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012386759016} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 2e8c01fcb18643d45a8a7882a395b1cd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!23 &23000011908066206 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011122323074} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 7076eefb0e29024489a88aac0cac7403, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!23 &23000012910846144 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013548791142} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: c26f6dcf4fb6382488a16a9d738df037, type: 2} - - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!23 &23000013104897804 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177294180} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 2e8c01fcb18643d45a8a7882a395b1cd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!23 &23000013313994474 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012897313612} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: c26f6dcf4fb6382488a16a9d738df037, type: 2} - - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &33000010814692004 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013548791142} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!33 &33000011076564380 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177294180} - m_Mesh: {fileID: 4300000, guid: 97e633ff61f95564f8eca8139321b9a1, type: 3} ---- !u!33 &33000012074022142 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011293319342} - m_Mesh: {fileID: 4300000, guid: 97e633ff61f95564f8eca8139321b9a1, type: 3} ---- !u!33 &33000012853202112 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012897313612} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!33 &33000013780167840 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011122323074} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &33000014154840674 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010298739158} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!65 &65000010617101100 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177294180} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.019999996, y: 0.019999994, z: 0.0010000048} - m_Center: {x: 0, y: 0, z: 0.00049999816} ---- !u!65 &65000012618865192 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011293319342} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.019999996, y: 0.019999994, z: 0.001} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &114000010054861944 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SourceRectTransform: {fileID: 224000012288413328} + m_XPositionPadding: 0.001 + m_YPositionPadding: 0 + m_ZPositionPadding: 0 + m_XScalePadding: 0.01 + m_YScalePadding: 0 + m_ParentUnderSource: 1 +--- !u!1 &1000012591725116 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012681466036} + - component: {fileID: 222000010975116160} + - component: {fileID: 114000011058548798} + - component: {fileID: 114000013305609772} + m_Layer: 5 + m_Name: NameField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012681466036 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012591725116} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224391762965061044} + m_Father: {fileID: 224000013208335620} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &222000010975116160 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012591725116} + m_CullTransparentMesh: 0 +--- !u!114 &114000011058548798 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010157872688} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012591725116} m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} @@ -1355,7 +2363,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -1369,15 +2377,17 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000010236974298 + m_UseSpriteMesh: 0 +--- !u!114 &114000013305609772 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012612565382} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012591725116} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 33463ca91ad43dc49ad3ec411fd90487, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: @@ -1404,13 +2414,14 @@ MonoBehaviour: m_PressedTrigger: Pressed m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 114000011898757438} - m_OnClick: + m_TargetGraphic: {fileID: 114000011058548798} + m_SelectionFlags: 3 + m_OnValueChanged: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 114000010442627176} - m_MethodName: ClosePanel - m_Mode: 1 + - m_Target: {fileID: 114000011752801550} + m_MethodName: SetName + m_Mode: 0 m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine @@ -1419,240 +2430,95 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 1 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &114000010296254792 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012065683164} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: bda51dfe062f45741aae4c4ac8bb3cef, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000010408335324 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013146979432} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000010442627176 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013146979432} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8e513a78f8352940b3b3bd81422b3f7, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Options: [] - m_MultiSelect: 0 - m_Label: {fileID: 114638613710086718} - m_OptionsPanel: {fileID: 224000010258896432} - m_OptionsList: {fileID: 114000013715494506} - m_TemplatePrefab: {fileID: 1000012851962796, guid: 96e9e26ba4c02c4459218e81d404980f, - type: 2} - m_MultiSelectTemplatePrefab: {fileID: 1000011005728614, guid: 44aae4eb5a02aae479e9a5b75c0591dc, - type: 2} - m_CanvasGroup: {fileID: 225000011463750798} - m_BackgroundMeshTransform: {fileID: 4000010782557334} - m_Value: 0 - m_Values: ---- !u!114 &114000010554882938 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014144028500} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, - type: 3} - m_ButtonMeshRenderer: {fileID: 23000011874427318} - m_CanvasGroup: {fileID: 225000010174179818} - m_Icon: {fileID: 114000013527977294} - m_IconContainer: {fileID: 224000010417984358} - m_Button: {fileID: 114000011633407996} - m_SwapIconsOnClick: 0 - m_HighlightItems: - - {fileID: 114000013527977294} - - {fileID: 0} - m_GrayscaleGradient: 1 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 ---- !u!114 &114000010661339384 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010244751346} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000010721777882 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010266807720} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 895ce0fb0f4709a43be463de3a6a5b1d, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LayoutGroup: {fileID: 114000013890702530} - m_XScalePadding: 0.01 ---- !u!114 &114000010778053690 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011521582332} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000010821479674 + m_TypeName: UnityEditor.Experimental.EditorVR.UI.InputField+OnChangeEvent, EXR, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_TextComponent: {fileID: 114993591381409866} + m_CharacterLimit: 0 + m_Text: + m_LineType: 0 +--- !u!1 &1000012612565382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012473273294} + - component: {fileID: 222000012112877134} + - component: {fileID: 114000011898757438} + - component: {fileID: 114000010236974298} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012473273294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012612565382} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010391848646} + m_Father: {fileID: 224000010258896432} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.0030059814, y: 0.0039990097} + m_SizeDelta: {x: 0.015000001, y: 0.015000001} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012112877134 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012612565382} + m_CullTransparentMesh: 0 +--- !u!114 &114000011898757438 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011366318288} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012612565382} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000011058548798 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012591725116} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 0} - m_Type: 1 + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000011248116116 + m_UseSpriteMesh: 0 +--- !u!114 &114000010236974298 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013946275050} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012612565382} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} @@ -1664,14 +2530,14 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 0 + m_Transition: 1 m_Colors: - m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 - m_FadeDuration: 0.125 + m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} @@ -1682,12 +2548,12 @@ MonoBehaviour: m_PressedTrigger: Pressed m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 114000012507456822} + m_TargetGraphic: {fileID: 114000011898757438} m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 114000012612735310} - m_MethodName: OpenPanel + - m_Target: {fileID: 114000010442627176} + m_MethodName: ClosePanel m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -1695,124 +2561,62 @@ MonoBehaviour: m_IntArgument: 0 m_FloatArgument: 0 m_StringArgument: - m_BoolArgument: 1 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &114000011430120578 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012386759016} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, - type: 3} - m_ButtonMeshRenderer: {fileID: 23000012910846144} - m_CanvasGroup: {fileID: 225000011079731210} - m_Icon: {fileID: 114000012993844416} - m_IconContainer: {fileID: 224000011274938012} - m_Button: {fileID: 114000011526187362} - m_SwapIconsOnClick: 0 - m_HighlightItems: - - {fileID: 114000012993844416} - - {fileID: 0} - m_GrayscaleGradient: 0 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 ---- !u!114 &114000011523287580 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013554416906} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SourceRectTransform: {fileID: 224000011055657830} - m_XPositionPadding: 0.001 - m_YPositionPadding: 0 - m_ZPositionPadding: 0 - m_XScalePadding: 0.01 - m_YScalePadding: 0 - m_ParentUnderSource: 1 ---- !u!114 &114000011524206158 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011122323074} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114000011526187362 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010563032520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 0 - m_Colors: - m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} - m_ColorMultiplier: 1 - m_FadeDuration: 0.125 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 114000012993844416} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000010442627176} - m_MethodName: OpenPanel - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 + m_BoolArgument: 0 m_CallState: 1 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!1 &1000012634126668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012129045274} + - component: {fileID: 222000011206034794} + - component: {fileID: 114000011633407996} + - component: {fileID: 114000014158197360} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012129045274 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012634126668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.09605834} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010417984358} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0.0005645752} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011206034794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012634126668} + m_CullTransparentMesh: 0 --- !u!114 &114000011633407996 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012634126668} m_Enabled: 1 m_EditorHideFlags: 0 @@ -1860,110 +2664,20 @@ MonoBehaviour: m_CallState: 1 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &114000011704842292 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012929402164} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 895ce0fb0f4709a43be463de3a6a5b1d, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LayoutGroup: {fileID: 114000013715494506} - m_XScalePadding: 0.01 ---- !u!114 &114000011737525226 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010266807720} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000011752801550 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011895958286} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0fe58b2556de4c9439deedd776311f65, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Cube: {fileID: 114000011524206158} - m_UIContainer: {fileID: 224000010867083340} - m_NoClipText: {fileID: 2100000, guid: b34930cfba9f33244a73686cc33fccfb, type: 2} - m_DropHighlightMaterial: {fileID: 2100000, guid: 4c6cd374ace66ac4ab5999367e0acfeb, - type: 2} - m_Icon: {fileID: 114000013475963824} - m_ActiveToggle: {fileID: 114000012362602002} - m_NameField: {fileID: 114000013305609772} - m_StaticToggle: {fileID: 114000013033683108} - m_LockToggle: {fileID: 114000014075112214} - m_TagDropDown: {fileID: 114000010442627176} - m_LayerDropDown: {fileID: 114000012612735310} - m_Button: {fileID: 23000011874427318} ---- !u!114 &114000011824489724 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010668544756} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000011898757438 +--- !u!114 &114000014158197360 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012612565382} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012634126668} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 0} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1978,173 +2692,67 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000012144668028 + m_UseSpriteMesh: 0 +--- !u!1 &1000012739809724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013220354252} + - component: {fileID: 222000010007370224} + - component: {fileID: 114000012993844416} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224000013220354252 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012739809724} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} + m_LocalScale: {x: 1.5, y: 1.5, z: 1} + m_Children: [] + m_Father: {fileID: 224000011274938012} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0.01858902} + m_SizeDelta: {x: 7.7, y: 19.728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010007370224 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012739809724} + m_CullTransparentMesh: 0 +--- !u!114 &114000012993844416 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013946275050} - m_Enabled: 1 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012739809724} + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000012362602002 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012760062318} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 114000013912656110} - toggleTransition: 1 - graphic: {fileID: 114000011824489724} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000011752801550} - m_MethodName: SetActive - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null - m_IsOn: 1 ---- !u!114 &114000012431264002 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012118498360} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SourceRectTransform: {fileID: 224000014126425254} - m_XPositionPadding: 0 - m_YPositionPadding: 0.0035 - m_ZPositionPadding: 0.0005 - m_XScalePadding: 0.011 - m_YScalePadding: 0.007 - m_ParentUnderSource: 0 ---- !u!114 &114000012504767538 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010670478524} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 114000012557490372} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000012612735310} - m_MethodName: ClosePanel - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &114000012507456822 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011029015394} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 0 + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: @@ -2224,95 +2832,248 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 2 ---- !u!114 &114000012557490372 + m_UseSpriteMesh: 0 +--- !u!1 &1000012760062318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013295719000} + - component: {fileID: 114000012362602002} + m_Layer: 5 + m_Name: ActiveToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013295719000 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012760062318} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000012742017952} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0.02999878, y: -0.034582924} + m_SizeDelta: {x: 0.019999996, y: 0.02} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000012362602002 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010670478524} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012760062318} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000013912656110} + toggleTransition: 1 + graphic: {fileID: 114000011824489724} + m_Group: {fileID: 0} + onValueChanged: m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000012595826366 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010675919256} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SourceRectTransform: {fileID: 224000011847507420} - m_XPositionPadding: 0 - m_YPositionPadding: 0.0035 - m_ZPositionPadding: 0.0005 - m_XScalePadding: 0.011 - m_YScalePadding: 0.007 - m_ParentUnderSource: 0 ---- !u!114 &114000012612735310 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010157872688} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8e513a78f8352940b3b3bd81422b3f7, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Options: [] - m_MultiSelect: 0 - m_Label: {fileID: 114336388236416602} - m_OptionsPanel: {fileID: 224000012819706564} - m_OptionsList: {fileID: 114000013890702530} - m_TemplatePrefab: {fileID: 1000012851962796, guid: 96e9e26ba4c02c4459218e81d404980f, - type: 2} - m_MultiSelectTemplatePrefab: {fileID: 1000011005728614, guid: 44aae4eb5a02aae479e9a5b75c0591dc, - type: 2} - m_CanvasGroup: {fileID: 225000010659659436} - m_BackgroundMeshTransform: {fileID: 4000010821773370} - m_Value: 0 - m_Values: ---- !u!114 &114000012770919172 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011148441990} + m_Calls: + - m_Target: {fileID: 114000011752801550} + m_MethodName: SetTargetGameObjectActive + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &1000012897313612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000010553173774} + - component: {fileID: 33000012853202112} + - component: {fileID: 23000013313994474} + m_Layer: 0 + m_Name: ButtonMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010553173774 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012897313612} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.0000003831722, z: -0.0000008046629} + m_LocalScale: {x: 48, y: 50, z: 0.5} + m_Children: + - {fileID: 224000011176833424} + m_Father: {fileID: 4000014223127988} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000012853202112 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012897313612} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} +--- !u!23 &23000013313994474 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012897313612} m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c26f6dcf4fb6382488a16a9d738df037, type: 2} + - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &1000012929402164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014126425254} + - component: {fileID: 222000013891503684} + - component: {fileID: 114000013965017918} + - component: {fileID: 114000013715494506} + - component: {fileID: 114000011704842292} + m_Layer: 5 + m_Name: OptionsList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014126425254 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012929402164} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0004999669} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010258896432} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222000013891503684 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012929402164} + m_CullTransparentMesh: 0 +--- !u!114 &114000013965017918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012929402164} + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 0} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2320,262 +3081,409 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000012993844416 + m_UseSpriteMesh: 0 +--- !u!114 &114000013715494506 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012739809724} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012929402164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 7 + m_StartCorner: 0 + m_StartAxis: 1 + m_CellSize: {x: 0.605, y: 0.02} + m_Spacing: {x: 0, y: 0.001} + m_Constraint: 1 + m_ConstraintCount: 1 +--- !u!114 &114000011704842292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012929402164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 895ce0fb0f4709a43be463de3a6a5b1d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayoutGroup: {fileID: 114000013715494506} + m_XScalePadding: 0.01 +--- !u!1 &1000013146979432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012288413328} + - component: {fileID: 222000012426066678} + - component: {fileID: 114000010408335324} + - component: {fileID: 114000010442627176} + m_Layer: 5 + m_Name: TagDropDown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012288413328 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013146979432} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000013285561626} + - {fileID: 224000010527027686} + - {fileID: 224000010258896432} + - {fileID: 4000010424329332} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.0067443848, y: -0.016136568} + m_SizeDelta: {x: -0.0803, y: 0.0209} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012426066678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013146979432} + m_CullTransparentMesh: 0 +--- !u!114 &114000010408335324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013146979432} m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 + m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} - m_Type: 3 + m_Sprite: {fileID: 0} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 m_FillClockwise: 1 - m_FillOrigin: 2 ---- !u!114 &114000013033683108 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!114 &114000010442627176 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013579628816} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013146979432} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: e8e513a78f8352940b3b3bd81422b3f7, type: 3} m_Name: m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 114000010778053690} - toggleTransition: 1 - graphic: {fileID: 114000013741569488} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000011752801550} - m_MethodName: SetStatic - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null - m_IsOn: 1 ---- !u!114 &114000013234340432 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010563032520} + m_Options: [] + m_MultiSelect: 0 + m_Label: {fileID: 114638613710086718} + m_OptionsPanel: {fileID: 224000010258896432} + m_OptionsList: {fileID: 114000013715494506} + m_TemplatePrefab: {fileID: 1000012851962796, guid: 96e9e26ba4c02c4459218e81d404980f, + type: 3} + m_MultiSelectTemplatePrefab: {fileID: 1000011005728614, guid: 44aae4eb5a02aae479e9a5b75c0591dc, + type: 3} + m_CanvasGroup: {fileID: 225000011463750798} + m_BackgroundMeshTransform: {fileID: 4000010782557334} + m_Value: 0 + m_Values: +--- !u!1 &1000013178761070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011274938012} + m_Layer: 5 + m_Name: IconContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011274938012 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013178761070} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} + m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} + m_Children: + - {fileID: 224000013220354252} + - {fileID: 224000010432530272} + m_Father: {fileID: 4000013451538518} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000013548791142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000013451538518} + - component: {fileID: 33000010814692004} + - component: {fileID: 23000012910846144} + m_Layer: 0 + m_Name: ButtonMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000013451538518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013548791142} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.00000030866642, z: -0.0000007748604} + m_LocalScale: {x: 48, y: 50, z: 0.5} + m_Children: + - {fileID: 224000011274938012} + m_Father: {fileID: 4000010424329332} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000010814692004 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013548791142} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} +--- !u!23 &23000012910846144 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013548791142} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000013305609772 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c26f6dcf4fb6382488a16a9d738df037, type: 2} + - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &1000013554416906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000014223127988} + - component: {fileID: 114000013640630968} + - component: {fileID: 225000014142328778} + - component: {fileID: 114000011523287580} + m_Layer: 5 + m_Name: LayerBackgroundButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000014223127988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013554416906} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.001, y: 0, z: 0} + m_LocalScale: {x: 0.084055, y: 0.0209, z: 0.9999998} + m_Children: + - {fileID: 4000010553173774} + m_Father: {fileID: 224000011055657830} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000013640630968 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012591725116} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013554416906} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33463ca91ad43dc49ad3ec411fd90487, type: 3} + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} m_Name: m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, + type: 3} + m_ButtonMeshRenderer: {fileID: 23000013313994474} + m_CanvasGroup: {fileID: 225000014142328778} + m_Icon: {fileID: 114000012507456822} + m_IconContainer: {fileID: 224000011176833424} + m_Button: {fileID: 114000011248116116} + m_SwapIconsOnClick: 0 + m_HighlightItems: + - {fileID: 114000012507456822} + - {fileID: 0} + m_GrayscaleGradient: 0 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000014142328778 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013554416906} + m_Enabled: 0 + m_Alpha: 1 m_Interactable: 1 - m_TargetGraphic: {fileID: 114000011058548798} - m_SelectionFlags: 3 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000011752801550} - m_MethodName: SetName - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 1 - m_TypeName: UnityEditor.Experimental.EditorVR.UI.InputField+OnChangeEvent, Assembly-CSharp, - Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - m_TextComponent: {fileID: 114993591381409866} - m_CharacterLimit: 0 - m_Text: - m_LineType: 0 ---- !u!114 &114000013378622778 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114000011523287580 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012386759016} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013554416906} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} m_Name: m_EditorClassIdentifier: - m_SourceRectTransform: {fileID: 224000012288413328} + m_SourceRectTransform: {fileID: 224000011055657830} m_XPositionPadding: 0.001 m_YPositionPadding: 0 m_ZPositionPadding: 0 m_XScalePadding: 0.01 m_YScalePadding: 0 m_ParentUnderSource: 1 +--- !u!1 &1000013563586992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012575211168} + - component: {fileID: 222000010295121642} + - component: {fileID: 114000013475963824} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012575211168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013563586992} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010867083340} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0.005004883, y: -0.034582924} + m_SizeDelta: {x: 0.019999996, y: 0.02} + m_Pivot: {x: 0, y: 1} +--- !u!222 &222000010295121642 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013563586992} + m_CullTransparentMesh: 0 --- !u!114 &114000013475963824 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000013563586992} m_Enabled: 1 m_EditorHideFlags: 0 @@ -2597,132 +3505,154 @@ MonoBehaviour: y: 0 width: 1 height: 1 ---- !u!114 &114000013527977294 +--- !u!1 &1000013579628816 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011226683368} + - component: {fileID: 114000013033683108} + m_Layer: 5 + m_Name: StaticToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011226683368 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013579628816} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1.000001, z: 1.000001} + m_Children: + - {fileID: 224000014071132042} + - {fileID: 224183874222043632} + m_Father: {fileID: 224000010867083340} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.06585693, y: -0.0061838925} + m_SizeDelta: {x: 0.058898, y: 0.02} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000013033683108 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011616049284} - m_Enabled: 0 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013579628816} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010778053690} + toggleTransition: 1 + graphic: {fileID: 114000013741569488} + m_Group: {fileID: 0} + onValueChanged: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 0 - - m_Target: {fileID: 0} - m_MethodName: + - m_Target: {fileID: 114000011752801550} + m_MethodName: SetStatic m_Mode: 0 m_Arguments: m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine m_IntArgument: 0 m_FloatArgument: 0 m_StringArgument: m_BoolArgument: 0 - m_CallState: 0 - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} - m_Type: 3 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 2 ---- !u!114 &114000013542154532 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014286428652} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000013557156096 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &1000013889494720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012742017952} + - component: {fileID: 222000012655646158} + - component: {fileID: 114000013912656110} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012742017952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013889494720} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010796383994} + m_Father: {fileID: 224000013295719000} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012655646158 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013889494720} + m_CullTransparentMesh: 0 +--- !u!114 &114000013912656110 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011329889730} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013889494720} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} @@ -2736,7 +3666,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2744,76 +3674,127 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000013640630968 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013554416906} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, - type: 3} - m_ButtonMeshRenderer: {fileID: 23000013313994474} - m_CanvasGroup: {fileID: 225000014142328778} - m_Icon: {fileID: 114000012507456822} - m_IconContainer: {fileID: 224000011176833424} - m_Button: {fileID: 114000011248116116} - m_SwapIconsOnClick: 0 - m_HighlightItems: - - {fileID: 114000012507456822} - - {fileID: 0} - m_GrayscaleGradient: 0 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 ---- !u!114 &114000013715494506 + m_UseSpriteMesh: 0 +--- !u!1 &1000013946275050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013777562088} + - component: {fileID: 222000013501562430} + - component: {fileID: 114000011248116116} + - component: {fileID: 114000012144668028} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013777562088 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013946275050} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.09605834} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011176833424} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0.0005645752} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013501562430 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013946275050} + m_CullTransparentMesh: 0 +--- !u!114 &114000011248116116 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012929402164} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013946275050} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 7 - m_StartCorner: 0 - m_StartAxis: 1 - m_CellSize: {x: 0.605, y: 0.02} - m_Spacing: {x: 0, y: 0.001} - m_Constraint: 1 - m_ConstraintCount: 1 ---- !u!114 &114000013741569488 + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} + m_ColorMultiplier: 1 + m_FadeDuration: 0.125 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012507456822} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000012612735310} + m_MethodName: OpenPanel + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 1 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114000012144668028 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014017787106} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013946275050} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 0} m_RaycastTarget: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 0} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2821,53 +3802,59 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000013887402202 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014144028500} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SourceRectTransform: {fileID: 224000012681466036} - m_XPositionPadding: 0.005 - m_YPositionPadding: 0 - m_ZPositionPadding: 0.00055 - m_XScalePadding: 0.01 - m_YScalePadding: 0 - m_ParentUnderSource: 1 ---- !u!114 &114000013890702530 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010266807720} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 7 - m_StartCorner: 0 - m_StartAxis: 1 - m_CellSize: {x: 0.605, y: 0.02} - m_Spacing: {x: 0, y: 0.001} - m_Constraint: 1 - m_ConstraintCount: 1 ---- !u!114 &114000013912656110 + m_UseSpriteMesh: 0 +--- !u!1 &1000014017787106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012127812216} + - component: {fileID: 222000010802894746} + - component: {fileID: 114000013741569488} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012127812216 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014017787106} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000014071132042} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.02, y: 0.02} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010802894746 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014017787106} + m_CullTransparentMesh: 0 +--- !u!114 &114000013741569488 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013889494720} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014017787106} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} @@ -2881,7 +3868,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300012, guid: d8618b0721ef74becb6df0458ac4c21e, type: 3} + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2889,147 +3876,273 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000013965017918 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012929402164} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_UseSpriteMesh: 0 +--- !u!1 &1000014095158750 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012819706564} + - component: {fileID: 225000010659659436} + m_Layer: 5 + m_Name: OptionsPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224000012819706564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014095158750} + m_LocalRotation: {x: -0.42317176, y: -0, z: -0, w: 0.90604955} + m_LocalPosition: {x: 0, y: 0, z: -0.011999999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000013721318174} + - {fileID: 224000011847507420} + - {fileID: 4000011568321576} + m_Father: {fileID: 224000011055657830} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0.0013580322, y: -0.014527764} + m_SizeDelta: {x: -0.006245002, y: 0.02} + m_Pivot: {x: 0.5, y: 0} +--- !u!225 &225000010659659436 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014095158750} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &1000014116023244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010867083340} + m_Layer: 5 + m_Name: UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010867083340 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014116023244} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000012575211168} + - {fileID: 224000013295719000} + - {fileID: 224000013208335620} + - {fileID: 224000011426695122} + - {fileID: 224522679186685320} + - {fileID: 224000012288413328} + - {fileID: 224405580239631654} + - {fileID: 224000011055657830} + - {fileID: 224000011226683368} + m_Father: {fileID: 224000013759797810} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.033} + m_SizeDelta: {x: 0, y: 0.06} + m_Pivot: {x: 0.5, y: 0} +--- !u!1 &1000014144028500 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000010823787348} + - component: {fileID: 114000010554882938} + - component: {fileID: 225000010174179818} + - component: {fileID: 114000013887402202} + m_Layer: 5 + m_Name: NameFieldBackgroundButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010823787348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014144028500} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0056, y: -0.0105, z: 0} + m_LocalScale: {x: 0.15118273, y: 0.015844537, z: 0.53585756} + m_Children: + - {fileID: 4000011261758004} + m_Father: {fileID: 224000013208335620} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000010554882938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014144028500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000014075112214 + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_AlternateIconSprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, + type: 3} + m_ButtonMeshRenderer: {fileID: 23000011874427318} + m_CanvasGroup: {fileID: 225000010174179818} + m_Icon: {fileID: 114000013527977294} + m_IconContainer: {fileID: 224000010417984358} + m_Button: {fileID: 114000011633407996} + m_SwapIconsOnClick: 0 + m_HighlightItems: + - {fileID: 114000013527977294} + - {fileID: 0} + m_GrayscaleGradient: 1 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000010174179818 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014144028500} + m_Enabled: 0 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114000013887402202 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177812900} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014144028500} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 08eb1a78fb9eff94e939fef2d709ac04, type: 3} m_Name: m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 114000010821479674} - toggleTransition: 1 - graphic: {fileID: 114000010296254792} - m_Group: {fileID: 0} - onValueChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000011752801550} - m_MethodName: SetLock - m_Mode: 0 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null - m_IsOn: 1 ---- !u!114 &114000014158197360 + m_SourceRectTransform: {fileID: 224000012681466036} + m_XPositionPadding: 0.005 + m_YPositionPadding: 0 + m_ZPositionPadding: 0.00055 + m_XScalePadding: 0.01 + m_YScalePadding: 0 + m_ParentUnderSource: 1 +--- !u!1 &1000014207519668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012312340628} + - component: {fileID: 222000014083353906} + - component: {fileID: 114336388236416602} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012312340628 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014207519668} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.001, y: 0.001, z: 1} + m_Children: [] + m_Father: {fileID: 224000011055657830} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0.053894043, y: 0} + m_SizeDelta: {x: 100.1078, y: 0.0209} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000014083353906 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014207519668} + m_CullTransparentMesh: 0 +--- !u!114 &114336388236416602 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012634126668} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014207519668} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114244489655245162 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1624899544809194} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Layer + m_text: Default m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: 18b3c8b3b6f8e1b4288e427b6a8aee60, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: b41e75aab5020ca4ea60dc257cae41ee, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3045,8 +4158,8 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 0.011 - m_fontSizeBase: 0.011 + m_fontSize: 8 + m_fontSizeBase: 8 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -3056,16 +4169,17 @@ MonoBehaviour: m_isAlignmentEnumConverted: 1 m_characterSpacing: 0 m_wordSpacing: 0 - m_lineSpacing: 0 + m_lineSpacing: 1 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 + m_firstOverflowCharacterIndex: 0 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3084,8 +4198,8 @@ MonoBehaviour: m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 114244489655245162} - characterCount: 5 + textComponent: {fileID: 114336388236416602} + characterCount: 7 spriteCount: 0 spaceCount: 0 wordCount: 1 @@ -3093,11 +4207,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3111,12 +4225,132 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &114336388236416602 +--- !u!1 &1000014286428652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013837192682} + - component: {fileID: 222000012992876568} + - component: {fileID: 114000013542154532} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013837192682 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014286428652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000013721318174} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012992876568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014286428652} + m_CullTransparentMesh: 0 +--- !u!114 &114000013542154532 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014207519668} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014286428652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8f21106ed0539b64ca132508f61ed30b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1055663183567154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224391762965061044} + - component: {fileID: 222615205018407758} + - component: {fileID: 114993591381409866} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224391762965061044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055663183567154} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012681466036} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222615205018407758 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055663183567154} + m_CullTransparentMesh: 0 +--- !u!114 &114993591381409866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055663183567154} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} @@ -3130,7 +4364,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Default + m_text: m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} m_sharedMaterial: {fileID: 2100000, guid: b41e75aab5020ca4ea60dc257cae41ee, type: 2} @@ -3142,6 +4376,7 @@ MonoBehaviour: rgba: 4278190080 m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3157,8 +4392,8 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 8 - m_fontSizeBase: 8 + m_fontSize: 0.011 + m_fontSizeBase: 0.011 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -3168,16 +4403,17 @@ MonoBehaviour: m_isAlignmentEnumConverted: 1 m_characterSpacing: 0 m_wordSpacing: 0 - m_lineSpacing: 1 + m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_firstOverflowCharacterIndex: 0 + m_overflowMode: 3 + m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3194,22 +4430,22 @@ MonoBehaviour: m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 0.008, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 114336388236416602} - characterCount: 7 + textComponent: {fileID: 114993591381409866} + characterCount: 0 spriteCount: 0 spaceCount: 0 - wordCount: 1 + wordCount: 0 linkCount: 0 - lineCount: 1 - pageCount: 1 + lineCount: 0 + pageCount: 0 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3223,11 +4459,57 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1245757147894488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224429343341173018} + - component: {fileID: 222496432000465778} + - component: {fileID: 114417301942544924} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224429343341173018 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245757147894488} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011426695122} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0.061355583, y: 0.0000014249235} + m_SizeDelta: {x: 0.079289, y: 0.020003} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222496432000465778 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245757147894488} + m_CullTransparentMesh: 0 --- !u!114 &114417301942544924 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1245757147894488} m_Enabled: 1 m_EditorHideFlags: 0 @@ -3254,6 +4536,7 @@ MonoBehaviour: rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3290,6 +4573,7 @@ MonoBehaviour: m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3317,11 +4601,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3335,11 +4619,57 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1496731099035560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224183874222043632} + - component: {fileID: 222241520073679150} + - component: {fileID: 114576545145988670} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224183874222043632 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1496731099035560} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011226683368} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0.04030507, y: 0.0000014249235} + m_SizeDelta: {x: 0.037187, y: 0.020003} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222241520073679150 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1496731099035560} + m_CullTransparentMesh: 0 --- !u!114 &114576545145988670 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1496731099035560} m_Enabled: 1 m_EditorHideFlags: 0 @@ -3366,6 +4696,7 @@ MonoBehaviour: rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3402,6 +4733,7 @@ MonoBehaviour: m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3429,11 +4761,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3447,124 +4779,58 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &114638613710086718 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010012087022} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Untagged - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b41e75aab5020ca4ea60dc257cae41ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_outlineColor: - serializedVersion: 2 - rgba: 4278190080 - m_fontSize: 8 - m_fontSizeBase: 8 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_textAlignment: 513 - m_isAlignmentEnumConverted: 1 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 1 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_firstOverflowCharacterIndex: 0 - m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_firstVisibleCharacter: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_textInfo: - textComponent: {fileID: 114638613710086718} - characterCount: 8 - spriteCount: 0 - spaceCount: 0 - wordCount: 1 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 - m_havePropertiesChanged: 1 - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 - m_inputSource: 0 - m_hasFontAssetChanged: 0 - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &114808765553398260 +--- !u!1 &1624899544809194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224405580239631654} + - component: {fileID: 222677016741513044} + - component: {fileID: 114244489655245162} + m_Layer: 5 + m_Name: LayerLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224405580239631654 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1624899544809194} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 224000010867083340} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.0416, y: -0.015666801} + m_SizeDelta: {x: -0.13075, y: 0.0164} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222677016741513044 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1624899544809194} + m_CullTransparentMesh: 0 +--- !u!114 &114244489655245162 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1808945537367824} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1624899544809194} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} @@ -3578,7 +4844,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Tag + m_text: Layer m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} m_sharedMaterial: {fileID: 2100000, guid: 18b3c8b3b6f8e1b4288e427b6a8aee60, type: 2} @@ -3590,6 +4856,7 @@ MonoBehaviour: rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3626,6 +4893,7 @@ MonoBehaviour: m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3644,8 +4912,8 @@ MonoBehaviour: m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 114808765553398260} - characterCount: 3 + textComponent: {fileID: 114244489655245162} + characterCount: 5 spriteCount: 0 spaceCount: 0 wordCount: 1 @@ -3653,11 +4921,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3671,12 +4939,58 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &114993591381409866 +--- !u!1 &1808945537367824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224522679186685320} + - component: {fileID: 222659973401869706} + - component: {fileID: 114808765553398260} + m_Layer: 5 + m_Name: TagLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224522679186685320 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808945537367824} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010867083340} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0.005004883, y: -0.015668288} + m_SizeDelta: {x: 0.0241984, y: 0.0163684} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222659973401869706 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808945537367824} + m_CullTransparentMesh: 0 +--- !u!114 &114808765553398260 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1055663183567154} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808945537367824} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 850d463c09b0c9e488ed8b42a2a1c9d0, type: 3} @@ -3690,18 +5004,19 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: + m_text: Tag m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: b41e75aab5020ca4ea60dc257cae41ee, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 18b3c8b3b6f8e1b4288e427b6a8aee60, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -3734,10 +5049,11 @@ MonoBehaviour: m_charWidthMaxAdj: 0 m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 - m_overflowMode: 3 + m_overflowMode: 0 m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -3754,22 +5070,22 @@ MonoBehaviour: m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0.008, y: 0, z: 0, w: 0} + m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 114993591381409866} - characterCount: 0 + textComponent: {fileID: 114808765553398260} + characterCount: 3 spriteCount: 0 spaceCount: 0 - wordCount: 0 + wordCount: 1 linkCount: 0 - lineCount: 0 - pageCount: 0 + lineCount: 1 + pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -3783,1044 +5099,3 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &222000010007370224 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012739809724} ---- !u!222 &222000010033932514 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010244751346} ---- !u!222 &222000010287026704 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010157872688} ---- !u!222 &222000010295121642 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013563586992} ---- !u!222 &222000010476326360 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010266807720} ---- !u!222 &222000010477569216 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011616049284} ---- !u!222 &222000010802894746 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014017787106} ---- !u!222 &222000010893755568 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011148441990} ---- !u!222 &222000010975116160 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012591725116} ---- !u!222 &222000011206034794 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012634126668} ---- !u!222 &222000012006167836 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011366318288} ---- !u!222 &222000012112877134 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012612565382} ---- !u!222 &222000012426066678 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013146979432} ---- !u!222 &222000012655646158 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013889494720} ---- !u!222 &222000012942168964 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011329889730} ---- !u!222 &222000012992876568 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014286428652} ---- !u!222 &222000013195997824 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011521582332} ---- !u!222 &222000013304225182 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010670478524} ---- !u!222 &222000013483665038 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011029015394} ---- !u!222 &222000013501562430 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013946275050} ---- !u!222 &222000013719059852 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010563032520} ---- !u!222 &222000013891503684 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012929402164} ---- !u!222 &222000013930984344 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010012087022} ---- !u!222 &222000014026553486 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012065683164} ---- !u!222 &222000014083353906 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014207519668} ---- !u!222 &222000014287260370 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010668544756} ---- !u!222 &222241520073679150 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1496731099035560} ---- !u!222 &222496432000465778 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1245757147894488} ---- !u!222 &222615205018407758 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1055663183567154} ---- !u!222 &222659973401869706 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1808945537367824} ---- !u!222 &222677016741513044 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1624899544809194} ---- !u!224 &224000010258896432 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010132850616} - m_LocalRotation: {x: -0.42317173, y: -0, z: -0, w: 0.9060495} - m_LocalPosition: {x: 0, y: 0, z: -0.012000013} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000012473273294} - - {fileID: 224000014126425254} - - {fileID: 4000010850942030} - m_Father: {fileID: 224000012288413328} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: -0.014527775} - m_SizeDelta: {x: 0, y: 0.02} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224000010307141254 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011329889730} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011055657830} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -0.01, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010391848646 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010244751346} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012473273294} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010417984358 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011558443746} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} - m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} - m_Children: - - {fileID: 224000013633775216} - - {fileID: 224000012129045274} - m_Father: {fileID: 4000011261758004} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010432530272 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010563032520} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.09605834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011274938012} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0.0005645752} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010527027686 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011148441990} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012288413328} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -0.01, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010796383994 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010668544756} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012742017952} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010867083340 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014116023244} - m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000012575211168} - - {fileID: 224000013295719000} - - {fileID: 224000013208335620} - - {fileID: 224000011426695122} - - {fileID: 224522679186685320} - - {fileID: 224000012288413328} - - {fileID: 224405580239631654} - - {fileID: 224000011055657830} - - {fileID: 224000011226683368} - m_Father: {fileID: 224000013759797810} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0.033} - m_SizeDelta: {x: 0, y: 0.06} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224000011055657830 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010157872688} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.002} - m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005} - m_Children: - - {fileID: 224000012312340628} - - {fileID: 224000010307141254} - - {fileID: 224000012819706564} - - {fileID: 4000014223127988} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.03698455, y: -0.016136566} - m_SizeDelta: {x: -0.074055, y: 0.0209} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011176833424 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011683085308} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} - m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} - m_Children: - - {fileID: 224000014112050076} - - {fileID: 224000013777562088} - m_Father: {fileID: 4000010553173774} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011226683368 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013579628816} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1.000001, z: 1.000001} - m_Children: - - {fileID: 224000014071132042} - - {fileID: 224183874222043632} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.065846145, y: -0.0061838925} - m_SizeDelta: {x: 0.058898, y: 0.02} - m_Pivot: {x: 0, y: 1} ---- !u!224 &224000011274938012 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013178761070} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.0000000013411072} - m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} - m_Children: - - {fileID: 224000013220354252} - - {fileID: 224000010432530272} - m_Father: {fileID: 4000013451538518} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011426695122 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011177812900} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005} - m_Children: - - {fileID: 224000012563636054} - - {fileID: 224429343341173018} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.075559616, y: -0.034999996} - m_SizeDelta: {x: 0.07, y: 0.02} - m_Pivot: {x: 0, y: 1} ---- !u!224 &224000011847507420 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010266807720} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.00000030046655} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012819706564} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224000011857921676 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012065683164} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012563636054} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012127812216 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014017787106} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000014071132042} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012129045274 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012634126668} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.09605834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010417984358} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0.0005645752} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012288413328 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013146979432} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000013285561626} - - {fileID: 224000010527027686} - - {fileID: 224000010258896432} - - {fileID: 4000010424329332} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: -0.006733939, y: -0.016136566} - m_SizeDelta: {x: -0.0803, y: 0.0209} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012312340628 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014207519668} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.001, y: 0.001, z: 1} - m_Children: [] - m_Father: {fileID: 224000011055657830} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0.053900763, y: 0} - m_SizeDelta: {x: 100.1078, y: 0.0209} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012473273294 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012612565382} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000010391848646} - m_Father: {fileID: 224000010258896432} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.0029995963, y: 0.0039990097} - m_SizeDelta: {x: 0.015000001, y: 0.015000001} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012563636054 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011366318288} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000011857921676} - m_Father: {fileID: 224000011426695122} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &224000012575211168 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013563586992} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010867083340} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0.004999995, y: -0.034582924} - m_SizeDelta: {x: 0.019999996, y: 0.02} - m_Pivot: {x: 0, y: 1} ---- !u!224 &224000012681466036 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012591725116} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224391762965061044} - m_Father: {fileID: 224000013208335620} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 1} ---- !u!224 &224000012742017952 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013889494720} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000010796383994} - m_Father: {fileID: 224000013295719000} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012819706564 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014095158750} - m_LocalRotation: {x: -0.42317176, y: -0, z: -0, w: 0.90604955} - m_LocalPosition: {x: 0, y: 0, z: -0.011999999} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000013721318174} - - {fileID: 224000011847507420} - - {fileID: 4000011568321576} - m_Father: {fileID: 224000011055657830} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0.0013568513, y: -0.014527764} - m_SizeDelta: {x: -0.006245002, y: 0.02} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224000013208335620 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012009528840} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000010823787348} - - {fileID: 224000012681466036} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.028523266, y: -0.034999996} - m_SizeDelta: {x: -0.172, y: 0.02} - m_Pivot: {x: 0.5, y: 1} ---- !u!224 &224000013220354252 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012739809724} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} - m_LocalScale: {x: 1.5, y: 1.5, z: 1} - m_Children: [] - m_Father: {fileID: 224000011274938012} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0.01858902} - m_SizeDelta: {x: 7.7, y: 19.728} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013285561626 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010012087022} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.001, y: 0.001, z: 1} - m_Children: [] - m_Father: {fileID: 224000012288413328} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0.052100763, y: 0} - m_SizeDelta: {x: 100.1042, y: 0.0209} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013295719000 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012760062318} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000012742017952} - m_Father: {fileID: 224000010867083340} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0.030000001, y: -0.034582924} - m_SizeDelta: {x: 0.019999996, y: 0.02} - m_Pivot: {x: 0, y: 1} ---- !u!224 &224000013633775216 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011616049284} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} - m_LocalScale: {x: 1.5, y: 1.5, z: 1} - m_Children: [] - m_Father: {fileID: 224000010417984358} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0.01858902} - m_SizeDelta: {x: 7.7, y: 19.728} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013721318174 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010670478524} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000013837192682} - m_Father: {fileID: 224000012819706564} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.0029995963, y: 0.0039990097} - m_SizeDelta: {x: 0.015000001, y: 0.015000001} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013759797810 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011895958286} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000013704138378} - - {fileID: 224000010867083340} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0.06} - m_Pivot: {x: 0.5, y: 1} ---- !u!224 &224000013777562088 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013946275050} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.09605834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011176833424} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0.0005645752} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013837192682 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014286428652} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000013721318174} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000014071132042 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011521582332} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000012127812216} - m_Father: {fileID: 224000011226683368} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.02, y: 0.02} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &224000014112050076 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011029015394} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.00019992379} - m_LocalScale: {x: 1.5, y: 1.5, z: 1} - m_Children: [] - m_Father: {fileID: 224000011176833424} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0.01858902} - m_SizeDelta: {x: 7.7, y: 19.728} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000014126425254 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012929402164} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.0004999669} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010258896432} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -50.07, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224183874222043632 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1496731099035560} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011226683368} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0.04030507, y: 0.0000014249235} - m_SizeDelta: {x: 0.037187, y: 0.020003} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224391762965061044 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1055663183567154} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000012681466036} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224405580239631654 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1624899544809194} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1.0000005} - m_Children: [] - m_Father: {fileID: 224000010867083340} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.0416, y: -0.015666801} - m_SizeDelta: {x: -0.13075, y: 0.0164} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &224429343341173018 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1245757147894488} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011426695122} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 0.061355583, y: 0.0000014249235} - m_SizeDelta: {x: 0.079289, y: 0.020003} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224522679186685320 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1808945537367824} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010867083340} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0.004999995, y: -0.015668288} - m_SizeDelta: {x: 0.0241984, y: 0.0163684} - m_Pivot: {x: 0, y: 0.5} ---- !u!225 &225000010174179818 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014144028500} - m_Enabled: 0 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000010659659436 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014095158750} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000011079731210 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012386759016} - m_Enabled: 0 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000011463750798 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010132850616} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000014142328778 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013554416906} - m_Enabled: 0 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 diff --git a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs index c333c32b3..7e34397f7 100644 --- a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs +++ b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs @@ -1,6 +1,6 @@ -using ListView; -using System; +using System; using System.Collections.Generic; +using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -10,7 +10,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces #if UNITY_EDITOR sealed class InspectorListViewController : EditorXRNestedListViewController, IUsesGameObjectLocking, IUsesStencilRef { - const string k_MaterialStencilRef = "_StencilRef"; + static readonly int k_StencilRef = Shader.PropertyToID("_StencilRef"); const float k_ClipMargin = 0.001f; // Give the cubes a margin so that their sides don't get clipped [SerializeField] @@ -57,21 +57,21 @@ public override List data public event Action, PropertyData> arraySizeChanged; - protected override void Setup() + protected override void Start() { - base.Setup(); + base.Start(); m_RowCubeMaterial = Instantiate(m_RowCubeMaterial); m_BackingCubeMaterial = Instantiate(m_BackingCubeMaterial); m_UIMaterial = Instantiate(m_UIMaterial); - m_UIMaterial.SetInt(k_MaterialStencilRef, stencilRef); + m_UIMaterial.SetInt(k_StencilRef, stencilRef); m_UIMaskMaterial = Instantiate(m_UIMaskMaterial); - m_UIMaskMaterial.SetInt(k_MaterialStencilRef, stencilRef); + m_UIMaskMaterial.SetInt(k_StencilRef, stencilRef); m_HighlightMaterial = Instantiate(m_HighlightMaterial); - m_HighlightMaterial.SetInt(k_MaterialStencilRef, stencilRef); + m_HighlightMaterial.SetInt(k_StencilRef, stencilRef); m_HighlightMaskMaterial = Instantiate(m_HighlightMaskMaterial); - m_HighlightMaskMaterial.SetInt(k_MaterialStencilRef, stencilRef); + m_HighlightMaskMaterial.SetInt(k_StencilRef, stencilRef); m_NoClipBackingCubeMaterial = Instantiate(m_NoClipBackingCubeMaterial); m_NoClipHighlightMaterial = Instantiate(m_NoClipHighlightMaterial); @@ -111,11 +111,11 @@ public void OnObjectModified() } } - protected override void UpdateNestedItems(List data, ref int order, ref float offset, ref bool doneSettling, int depth = 0) + protected override void UpdateNestedItems(ref int order, ref float offset, ref bool doneSettling, int depth = 0) { m_UpdateStack.Push(new UpdateData { - data = data, + data = m_Data, depth = depth }); @@ -123,13 +123,13 @@ protected override void UpdateNestedItems(List data, ref int orde while (m_UpdateStack.Count > 0) { var stackData = m_UpdateStack.Pop(); - data = stackData.data; + var nestedData = stackData.data; depth = stackData.depth; var i = stackData.index; - for (; i < data.Count; i++) + for (; i < nestedData.Count; i++) { - var datum = data[i]; + var datum = nestedData[i]; var serializedObject = datum.serializedObject; if (serializedObject == null || serializedObject.targetObject == null) { @@ -144,14 +144,14 @@ protected override void UpdateNestedItems(List data, ref int orde m_ExpandStates[index] = false; m_ItemSize = m_TemplateSizes[datum.template]; - var itemSize = m_ItemSize.Value; - if (offset + scrollOffset + itemSize.z < 0 || offset + scrollOffset > m_Size.z) + var localOffset = offset + scrollOffset; + if (localOffset + m_ItemSize.z < 0 || localOffset > m_Size.z) Recycle(index); else UpdateInspectorItem(datum, order--, offset, depth, expanded, ref doneSettling); - offset += itemSize.z; + offset += m_ItemSize.z; if (datum.children != null) { @@ -159,7 +159,7 @@ protected override void UpdateNestedItems(List data, ref int orde { m_UpdateStack.Push(new UpdateData { - data = data, + data = nestedData, depth = depth, index = i + 1 @@ -184,34 +184,33 @@ void UpdateInspectorItem(InspectorData data, int order, float offset, int depth, InspectorListItem item; if (!m_ListItems.TryGetValue(data.index, out item)) { - item = GetItem(data); - UpdateItem(item.transform, order, offset, true, ref doneSettling); + GetNewItem(data, out item); + UpdateItem(item, order, offset, true, ref doneSettling); } item.UpdateSelf(m_Size.x - k_ClipMargin, depth, expanded); item.UpdateClipTexts(transform.worldToLocalMatrix, m_Extents); - UpdateItem(item.transform, order, offset, false, ref doneSettling); + UpdateItem(item, order, offset, false, ref doneSettling); } - void UpdateItem(Transform t, int order, float offset, bool dontSettle, ref bool doneSettling) + void UpdateItem(InspectorListItem item, int order, float offset, bool dontSettle, ref bool doneSettling) { var targetPosition = m_StartPosition + (offset + m_ScrollOffset) * Vector3.forward; var targetRotation = Quaternion.identity; - UpdateItemTransform(t, order, targetPosition, targetRotation, dontSettle, ref doneSettling); + UpdateItemTransform(item, order, targetPosition, targetRotation, dontSettle, ref doneSettling); } - protected override InspectorListItem GetItem(InspectorData listData) + protected override bool GetNewItem(InspectorData listData, out InspectorListItem item) { - var item = base.GetItem(listData); + var instantiated = base.GetNewItem(listData, out item); - item.setRowGrabbed = SetRowGrabbed; - item.getGrabbedRow = GetGrabbedRow; - item.toggleExpanded = ToggleExpanded; - - if (!item.setup) + if (instantiated) { + item.setRowGrabbed = SetRowGrabbed; + item.getGrabbedRow = GetGrabbedRow; + var highlightMaterials = new[] { m_HighlightMaterial, m_HighlightMaskMaterial }; var noClipHighlightMaterials = new[] { m_NoClipHighlightMaterial, m_NoClipHighlightMaskMaterial }; item.SetMaterials(m_RowCubeMaterial, m_BackingCubeMaterial, m_UIMaterial, m_UIMaskMaterial, m_NoClipBackingCubeMaterial, highlightMaterials, noClipHighlightMaterials); @@ -221,8 +220,6 @@ protected override InspectorListItem GetItem(InspectorData listData) if (numberItem) numberItem.arraySizeChanged += OnArraySizeChanged; #endif - - item.setup = true; } var headerItem = item as InspectorHeaderItem; @@ -233,11 +230,11 @@ protected override InspectorListItem GetItem(InspectorData listData) headerItem.lockToggle.isOn = this.IsLocked(go); } - return item; + return instantiated; } #if UNITY_EDITOR - public void OnBeforeChildrenChanged(ListViewItemNestedData data, List newData) + public void OnBeforeChildrenChanged(INestedListViewItemData data, List newData) { InspectorNumberItem arraySizeItem = null; var children = data.children; @@ -274,12 +271,6 @@ public void OnBeforeChildrenChanged(ListViewItemNestedData d } #endif - void ToggleExpanded(int index) - { - m_ExpandStates[index] = !m_ExpandStates[index]; - StartSettling(); - } - void OnArraySizeChanged(PropertyData element) { if (arraySizeChanged != null) diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoolItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoolItem.cs index f7fa690e0..85b63b054 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoolItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoolItem.cs @@ -11,9 +11,9 @@ sealed class InspectorBoolItem : InspectorPropertyItem Toggle m_Toggle; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR m_Toggle.isOn = m_SerializedProperty.boolValue; diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoundsItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoundsItem.cs index bb572f0bf..69312dd38 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoundsItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorBoundsItem.cs @@ -16,9 +16,9 @@ sealed class InspectorBoundsItem : InspectorPropertyItem NumericInputField[] m_ExtentsFields; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); UpdateInputFields(); } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorColorItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorColorItem.cs index 86288f82c..54183b414 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorColorItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorColorItem.cs @@ -7,9 +7,9 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { sealed class InspectorColorItem : InspectorPropertyItem { - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); UpdateInputFields(); } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorComponentItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorComponentItem.cs index 89453523a..a09add735 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorComponentItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorComponentItem.cs @@ -27,9 +27,9 @@ sealed class InspectorComponentItem : InspectorListItem TextMeshProUGUI m_NameText; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR var target = data.serializedObject.targetObject; diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs index 98e6bce43..b5cbaa7d8 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs @@ -1,12 +1,13 @@ using System; using System.Collections.Generic; -#if UNITY_EDITOR -using UnityEditorInternal; -#endif using UnityEngine; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.UI; +#if UNITY_EDITOR +using UnityEditorInternal; +#endif + namespace UnityEditor.Experimental.EditorVR.Workspaces { sealed class InspectorDropDownItem : InspectorPropertyItem @@ -19,9 +20,9 @@ sealed class InspectorDropDownItem : InspectorPropertyItem DropDown m_DropDown; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); UpdateDropdown(); } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorHeaderItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorHeaderItem.cs index 2a0bc9dd5..15cfe8516 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorHeaderItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorHeaderItem.cs @@ -47,9 +47,9 @@ public Toggle lockToggle public Action setLocked; - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR var target = data.serializedObject.targetObject; @@ -82,7 +82,7 @@ IEnumerator GetAssetPreview() } #endif - public void SetActive(bool active) + public void SetTargetGameObjectActive(bool active) { if (m_TargetGameObject != null && m_TargetGameObject.activeSelf != active) m_TargetGameObject.SetActive(active); diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorListItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorListItem.cs index e7be75371..84043e9e5 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorListItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorListItem.cs @@ -1,4 +1,3 @@ -using System; using TMPro; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Handles; @@ -10,7 +9,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - abstract class InspectorListItem : DraggableListItem, ISetHighlight, IGetFieldGrabOrigin + abstract class InspectorListItem : NestedDraggableListItem, ISetHighlight, IGetFieldGrabOrigin { const float k_Indent = 0.02f; const float k_HorizThreshold = 0.85f; @@ -38,30 +37,22 @@ abstract class InspectorListItem : DraggableListItem, ISetHi Material m_NoClipBackingCube; Material[] m_NoClipHighlightMaterials; - bool m_Setup; bool m_HorizontalDrag; Transform m_DragClone; protected NumericInputField m_DraggedField; - public bool setup { get; set; } - - public Action toggleExpanded { private get; set; } - protected override bool singleClickDrag { get { return false; } } - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime = false) { - base.Setup(data); + base.Setup(data, firstTime); - if (!m_Setup) - { - m_Setup = true; + if (firstTime) FirstTimeSetup(); - } } protected virtual void FirstTimeSetup() @@ -362,10 +353,5 @@ protected virtual bool CanDropForFieldBlock(Transform fieldBlock, object dropObj } protected virtual void ReceiveDropForFieldBlock(Transform fieldBlock, object dropObject) {} - - public void ToggleExpanded() - { - toggleExpanded(data.index); - } } } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorNumberItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorNumberItem.cs index 660be9cd2..3bb0aa98b 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorNumberItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorNumberItem.cs @@ -22,9 +22,9 @@ sealed class InspectorNumberItem : InspectorPropertyItem public event Action arraySizeChanged; #endif - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR propertyType = m_SerializedProperty.propertyType; diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorObjectFieldItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorObjectFieldItem.cs index 0ce6a7982..74fa563dd 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorObjectFieldItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorObjectFieldItem.cs @@ -21,9 +21,9 @@ sealed class InspectorObjectFieldItem : InspectorPropertyItem Type m_ObjectType; string m_ObjectTypeName; - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR m_ObjectTypeName = ObjectUtils.NicifySerializedPropertyType(m_SerializedProperty.type); diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorPropertyItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorPropertyItem.cs index 60fe9ebab..6864c7edb 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorPropertyItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorPropertyItem.cs @@ -47,9 +47,9 @@ public string tooltipText protected SerializedProperty m_SerializedProperty; - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime = false) { - base.Setup(data); + base.Setup(data, firstTime); m_SerializedProperty = ((PropertyData)data).property; diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorRectItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorRectItem.cs index f9b27b37b..80ca3388a 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorRectItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorRectItem.cs @@ -26,9 +26,9 @@ public NumericInputField[] sizeFields set { m_SizeFields = value; } } - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); UpdateInputFields(); } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorStringItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorStringItem.cs index 6d0f68374..ae32ffea8 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorStringItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorStringItem.cs @@ -11,9 +11,9 @@ sealed class InspectorStringItem : InspectorPropertyItem StandardInputField m_InputField; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime = false) { - base.Setup(data); + base.Setup(data, firstTime); UpdateInputField(); } diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorUnimplementedItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorUnimplementedItem.cs index 2bab38115..0fc4621b7 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorUnimplementedItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorUnimplementedItem.cs @@ -12,9 +12,9 @@ sealed class InspectorUnimplementedItem : InspectorPropertyItem TextMeshProUGUI m_TypeLabel; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR m_TypeLabel.text = ObjectUtils.NicifySerializedPropertyType(m_SerializedProperty.type); diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorVectorItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorVectorItem.cs index 9251f2813..626281c8b 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorVectorItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorVectorItem.cs @@ -15,9 +15,9 @@ sealed class InspectorVectorItem : InspectorPropertyItem GameObject WGroup; #pragma warning restore 649 - public override void Setup(InspectorData data) + public override void Setup(InspectorData data, bool firstTime) { - base.Setup(data); + base.Setup(data, firstTime); #if UNITY_EDITOR switch (m_SerializedProperty.propertyType) diff --git a/Workspaces/PolyWorkspace/PolyWorkspace.cs b/Workspaces/PolyWorkspace/PolyWorkspace.cs index 7d9cfd096..ff86ef07a 100644 --- a/Workspaces/PolyWorkspace/PolyWorkspace.cs +++ b/Workspaces/PolyWorkspace/PolyWorkspace.cs @@ -423,7 +423,7 @@ protected override void OnBoundsChanged() m_WorkspaceUI.topHighlight.visible = true; m_WorkspaceUI.amplifyTopHighlight = false; - m_PolyUI.gridView.OnBeginScrolling(); + m_PolyUI.gridView.OnScrollStarted(); } void OnScrollDragging(BaseHandle handle, HandleEventData eventData = default(HandleEventData)) diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs index e6051a266..6d820fabc 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs @@ -1,7 +1,7 @@ using System; using UnityEditor.Experimental.EditorVR; using UnityEngine; -using ListView; +using Unity.Labs.ListView; #if INCLUDE_POLY_TOOLKIT using PolyToolkit; @@ -35,7 +35,6 @@ public class PolyGridAsset : ListViewItemData, IWeb public Texture2D thumbnail { get { return m_Thumbnail; } } public bool initialized { get { return m_Initialized; } } public long complexity { get { return m_Complexity; } } - public override string index { get { return m_Asset.name; } } // PolyAsset.name is the GUID public event Action modelImportCompleted; public event Action thumbnailImportCompleted; @@ -54,6 +53,7 @@ public PolyGridAsset(PolyAsset asset, Transform container) { #if INCLUDE_POLY_TOOLKIT m_Asset = asset; + index = asset.name; // PolyAsset.name is the GUID m_Container = container; m_Complexity = 0L; foreach (var format in asset.formats) diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs index 3292f3e10..702e0bb2c 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs @@ -59,7 +59,6 @@ class PolyGridItem : DraggableListItem, IPlaceSceneObject Transform m_PreviewObjectTransform; #pragma warning restore 649 - bool m_Setup; bool m_AutoHidePreview; Vector3 m_PreviewPrefabScale; Vector3 m_PreviewTargetScale; @@ -105,12 +104,12 @@ void Awake() m_SetImportingColor = SetImportingColor; } - public override void Setup(PolyGridAsset listData) + public override void Setup(PolyGridAsset listData, bool firstTime) { - base.Setup(listData); + base.Setup(listData, firstTime); // First time setup - if (!m_Setup) + if (firstTime) { m_IconScale = m_Icon.transform.localScale; @@ -124,8 +123,6 @@ public override void Setup(PolyGridAsset listData) m_Handle.hoverEnded += OnHoverEnded; m_IconMaterial = MaterialUtils.GetMaterialClone(m_Icon.GetComponent()); - - m_Setup = true; } m_Hovered = false; diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs index 3a4aea203..3d34f5efc 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs @@ -73,9 +73,9 @@ protected override float listHeight } } - protected override void Setup() + protected override void Start() { - base.Setup(); + base.Start(); m_ScrollOffset = itemSize.z * 0.5f; @@ -117,8 +117,7 @@ protected override void ComputeConditions() { base.ComputeConditions(); - var itemSize = m_ItemSize.Value; - m_NumPerRow = (int)(m_Size.x / itemSize.x); + m_NumPerRow = (int)(m_Size.x / m_ItemSize.x); if (m_NumPerRow < 1) // Early out if item size exceeds bounds size return; @@ -128,7 +127,7 @@ protected override void ComputeConditions() m_LastHiddenItemOffset = Mathf.Infinity; } - m_StartPosition = m_Extents.z * Vector3.forward + (m_Extents.x - itemSize.x * 0.5f) * Vector3.left; + m_StartPosition = m_Extents.z * Vector3.forward + (m_Extents.x - m_ItemSize.x * 0.5f) * Vector3.left; var spinnerGameObject = m_Spinner.gameObject; if (m_NextPageToken == null) // If no NextPageToken we are waiting on a list request @@ -151,7 +150,7 @@ protected override void ComputeConditions() m_ScrollReturn = -listHeight + m_ScaleFactor; if (m_Data.Count % m_NumPerRow == 0) - m_ScrollReturn += itemSize.z; + m_ScrollReturn += m_ItemSize.z; } } @@ -209,14 +208,14 @@ void RecycleGridItem(PolyGridAsset data) void OnRecycleCompleted(PolyGridItem gridItem) { gridItem.gameObject.SetActive(false); - m_TemplateDictionary[gridItem.data.template].pool.Add(gridItem); + m_TemplateDictionary[gridItem.data.template].pool.Enqueue(gridItem); } protected override void UpdateVisibleItem(PolyGridAsset data, int order, float offset, ref bool doneSettling) { PolyGridItem item; if (!m_ListItems.TryGetValue(data.index, out item)) - item = GetItem(data); + GetNewItem(data, out item); if (item) UpdateGridItem(item, order, (int)offset); @@ -243,7 +242,7 @@ void UpdateGridItem(PolyGridItem item, int order, int count) { item.UpdateTransforms(m_ScaleFactor); - var itemSize = m_ItemSize.Value; + var itemSize = m_ItemSize; var t = item.transform; var zOffset = itemSize.z * (count / m_NumPerRow) + m_ScrollOffset; var xOffset = itemSize.x * (count % m_NumPerRow); @@ -255,20 +254,23 @@ void UpdateGridItem(PolyGridItem item, int order, int count) t.SetSiblingIndex(order); } - protected override PolyGridItem GetItem(PolyGridAsset data) + protected override bool GetNewItem(PolyGridAsset data, out PolyGridItem item) { const float jitterMargin = 0.125f; if (Mathf.Abs(scrollOffset - m_LastHiddenItemOffset) < itemSize.z * jitterMargin) // Avoid jitter while scrolling rows in and out of view - return null; + { + item = null; + return false; + } - var item = base.GetItem(data); + var instantiated = base.GetNewItem(data, out item); item.transform.localPosition = m_StartPosition; item.scaleFactor = m_ScaleFactor; item.SetVisibility(true); - return item; + return instantiated; } } } diff --git a/Workspaces/ProjectWorkspace/ProjectWorkspace.cs b/Workspaces/ProjectWorkspace/ProjectWorkspace.cs index 0d016172c..1bcfca95f 100644 --- a/Workspaces/ProjectWorkspace/ProjectWorkspace.cs +++ b/Workspaces/ProjectWorkspace/ProjectWorkspace.cs @@ -250,9 +250,9 @@ void OnFolderSelected(FolderData data) void OnScrollDragStarted(BaseHandle handle, HandleEventData eventData) { if (handle == m_ProjectUI.folderScrollHandle) - m_ProjectUI.folderListView.OnBeginScrolling(); + m_ProjectUI.folderListView.OnScrollStarted(); else if (handle == m_ProjectUI.assetScrollHandle) - m_ProjectUI.assetGridView.OnBeginScrolling(); + m_ProjectUI.assetGridView.OnScrollStarted(); } void OnScrollDragging(BaseHandle handle, HandleEventData eventData) diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs index df04b5ce9..6a878f0ee 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs @@ -184,9 +184,9 @@ public Texture fallbackTexture public float scaleFactor { private get; set; } - public override void Setup(AssetData listData) + public override void Setup(AssetData listData, bool firstTime) { - base.Setup(listData); + base.Setup(listData, firstTime); m_PreviewCoroutine = null; m_VisibilityCoroutine = null; diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs index d34922bf1..4bd228e31 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs @@ -74,14 +74,16 @@ public override Vector3 size } } - void Awake() + protected override void Awake() { + base.Awake(); + m_OnRecycleComplete = OnRecycleComplete; } - protected override void Setup() + protected override void Start() { - base.Setup(); + base.Start(); m_ScrollOffset = itemSize.z * 0.5f; @@ -96,12 +98,11 @@ protected override void ComputeConditions() { base.ComputeConditions(); - var itemSize = m_ItemSize.Value; - m_NumPerRow = (int)(m_Size.x / itemSize.x); + m_NumPerRow = (int)(m_Size.x / m_ItemSize.x); if (m_NumPerRow < 1) // Early out if item size exceeds bounds size return; - m_StartPosition = m_Extents.z * Vector3.forward + (m_Extents.x - itemSize.x * 0.5f) * Vector3.left; + m_StartPosition = m_Extents.z * Vector3.forward + (m_Extents.x - m_ItemSize.x * 0.5f) * Vector3.left; // Snap back if list scrolled too far m_ScrollReturn = float.MaxValue; @@ -110,12 +111,12 @@ protected override void ComputeConditions() m_ScrollReturn = -listHeight + m_ScaleFactor; if (m_Data.Count % m_NumPerRow == 0) - m_ScrollReturn += itemSize.z; + m_ScrollReturn += m_ItemSize.z; } // if we only have one row, snap back as soon as that row would be hidden - else if (listHeight == itemSize.z && -m_ScrollOffset > 0) + else if (listHeight == m_ItemSize.z && -m_ScrollOffset > 0) { - m_ScrollReturn = itemSize.z / 2; + m_ScrollReturn = m_ItemSize.z / 2; } } @@ -172,14 +173,14 @@ void RecycleGridItem(AssetData data) void OnRecycleComplete(AssetGridItem gridItem) { gridItem.gameObject.SetActive(false); - m_TemplateDictionary[gridItem.data.template].pool.Add(gridItem); + m_TemplateDictionary[gridItem.data.template].pool.Enqueue(gridItem); } protected override void UpdateVisibleItem(AssetData data, int order, float offset, ref bool doneSettling) { AssetGridItem item; if (!m_ListItems.TryGetValue(data.index, out item)) - item = GetItem(data); + GetNewItem(data, out item); if (item) UpdateGridItem(item, order, (int)offset); @@ -205,7 +206,7 @@ void UpdateGridItem(AssetGridItem item, int order, int count) { item.UpdateTransforms(m_ScaleFactor); - var itemSize = m_ItemSize.Value; + var itemSize = m_ItemSize; var t = item.transform; var zOffset = itemSize.z * (count / m_NumPerRow) + m_ScrollOffset; var xOffset = itemSize.x * (count % m_NumPerRow); @@ -217,11 +218,14 @@ void UpdateGridItem(AssetGridItem item, int order, int count) t.SetSiblingIndex(order); } - protected override AssetGridItem GetItem(AssetData data) + protected override bool GetNewItem(AssetData data, out AssetGridItem item) { const float jitterMargin = 0.125f; if (Mathf.Abs(scrollOffset - m_LastHiddenItemOffset) < itemSize.z * jitterMargin) // Avoid jitter while scrolling rows in and out of view - return null; + { + item = null; + return false; + } #if UNITY_EDITOR // If this AssetData hasn't fetched its asset yet, do so now @@ -232,7 +236,7 @@ protected override AssetGridItem GetItem(AssetData data) } #endif - var item = base.GetItem(data); + var instantiated = base.GetNewItem(data, out item); item.transform.localPosition = m_StartPosition; @@ -265,7 +269,8 @@ protected override AssetGridItem GetItem(AssetData data) LoadFallbackTexture(item, data); break; } - return item; + + return instantiated; } static void LoadFallbackTexture(AssetGridItem item, AssetData data) diff --git a/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs b/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs index 6fa34fd1f..f7499a908 100644 --- a/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs +++ b/Workspaces/ProjectWorkspace/Scripts/FolderListItem.cs @@ -6,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR.Data { - sealed class FolderListItem : EditorXRListViewItem + sealed class FolderListItem : EditorXRNestedListViewItem { const float k_Margin = 0.01f; const float k_Indent = 0.02f; @@ -44,20 +44,15 @@ sealed class FolderListItem : EditorXRListViewItem Transform m_CubeTransform; - public Material cubeMaterial - { - get { return m_CubeRenderer.sharedMaterial; } - } + public Material cubeMaterial { get { return m_CubeRenderer.sharedMaterial; } } - public Action toggleExpanded { private get; set; } public Action selectFolder { private get; set; } - public override void Setup(FolderData listData) + public override void Setup(FolderData listData, bool firstTime = true) { - base.Setup(listData); + base.Setup(listData, firstTime); - // First time setup - if (m_CubeRenderer == null) + if (firstTime) { // Cube material might change for hover state, so we always instance it m_CubeRenderer = m_Cube.GetComponent(); @@ -129,7 +124,7 @@ public void UpdateArrow(bool expanded, bool immediate = false) void ToggleExpanded(BaseHandle handle, HandleEventData eventData) { - toggleExpanded(data.index); + ToggleExpanded(); } void SelectFolder(BaseHandle handle, HandleEventData eventData) diff --git a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs index 74b9fc18a..aafebaa2a 100644 --- a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs @@ -59,9 +59,9 @@ public override List data } } - protected override void Setup() + protected override void Start() { - base.Setup(); + base.Start(); m_TextMaterial = Instantiate(m_TextMaterial); m_ExpandArrowMaterial = Instantiate(m_ExpandArrowMaterial); @@ -81,42 +81,43 @@ void UpdateFolderItem(FolderData data, int order, float offset, int depth, bool var index = data.index; FolderListItem item; if (!m_ListItems.TryGetValue(index, out item)) - item = GetItem(data); + GetNewItem(data, out item); item.UpdateSelf(m_Size.x - k_ClipMargin, depth, expanded, index == selectedFolder); SetMaterialClip(item.cubeMaterial, transform.worldToLocalMatrix); - UpdateItem(item.transform, order, offset, ref doneSettling); + UpdateItem(item, order, offset, ref doneSettling); } - protected override void UpdateNestedItems(List data, ref int order, ref float offset, ref bool doneSettling, int depth = 0) + protected override void UpdateNestedItems(ref int order, ref float offset, ref bool doneSettling, int depth = 0) { m_UpdateStack.Push(new UpdateData { - data = data, + data = m_Data, depth = depth }); while (m_UpdateStack.Count > 0) { var stackData = m_UpdateStack.Pop(); - data = stackData.data; + var nestedData = stackData.data; depth = stackData.depth; var i = stackData.index; - for (; i < data.Count; i++) + for (; i < nestedData.Count; i++) { - var datum = data[i]; + var datum = nestedData[i]; var index = datum.index; bool expanded; if (!m_ExpandStates.TryGetValue(index, out expanded)) m_ExpandStates[index] = false; - if (offset + scrollOffset + itemSize.z < 0 || offset + scrollOffset > m_Size.z) + var localOffset = offset + m_ScrollOffset; + if (localOffset + itemSize.z < 0 || localOffset > m_Size.z) Recycle(index); else - UpdateFolderItem(datum, order++, offset + m_ScrollOffset, depth, expanded, ref doneSettling); + UpdateFolderItem(datum, order++, localOffset, depth, expanded, ref doneSettling); offset += itemSize.z; @@ -126,7 +127,7 @@ protected override void UpdateNestedItems(List data, ref int order, { m_UpdateStack.Push(new UpdateData { - data = data, + data = nestedData, depth = depth, index = i + 1 @@ -146,28 +147,30 @@ protected override void UpdateNestedItems(List data, ref int order, } } - protected override FolderListItem GetItem(FolderData listData) + protected override bool GetNewItem(FolderData listData, out FolderListItem item) { - var item = base.GetItem(listData); - item.SetMaterials(m_TextMaterial, m_ExpandArrowMaterial); - item.selectFolder = SelectFolder; + var instantiated = base.GetNewItem(listData, out item); - item.toggleExpanded = ToggleExpanded; + if (instantiated) + { + item.SetMaterials(m_TextMaterial, m_ExpandArrowMaterial); + item.selectFolder = SelectFolder; + } bool expanded; if (m_ExpandStates.TryGetValue(listData.index, out expanded)) item.UpdateArrow(expanded, true); - return item; + return instantiated; } - void ToggleExpanded(int index) + protected override void ToggleExpanded(FolderData datum) { + var index = datum.index; if (data.Count == 1 && m_ListItems[index].data == data[0]) // Do not collapse Assets folder return; - m_ExpandStates[index] = !m_ExpandStates[index]; - StartSettling(); + base.ToggleExpanded(datum); } void SelectFolder(int guid) From 0b8101fb2a1000d45337a2ace464413b86331958 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 18 Apr 2019 23:23:49 -0700 Subject: [PATCH 33/75] Refactor ListViews to work with updated core classes --- Scripts/Data/AssetData.cs | 9 ++++----- Scripts/Data/FolderData.cs | 6 ++++-- Scripts/Data/HierarchyData.cs | 8 +++++--- Scripts/Data/InspectorData.cs | 13 ++++++++++-- Scripts/Data/PropertyData.cs | 3 +-- Scripts/Input/BaseVRInputToEvents.cs | 2 +- .../ListView/Core/Interfaces/IListViewItem.cs | 2 -- Scripts/ListView/Core/ListViewController.cs | 13 ++++++------ .../ListView/Core/ListViewControllerBase.cs | 6 ------ Scripts/ListView/Core/ListViewItem.cs | 1 - Scripts/ListView/Core/ListViewItemData.cs | 8 -------- .../ListView/Core/ListViewItemData.cs.meta | 11 ---------- .../ListView/Core/NestedListViewController.cs | 18 ++--------------- .../ListView/Core/NestedListViewItemData.cs | 9 ++++++--- .../ListView/EditorXRListViewController.cs | 2 +- .../EditorXRNestedListViewController.cs | 2 +- Scripts/UI/ClipText.cs | 20 +++++++++++++++---- .../Scripts/HierarchyListItem.cs | 5 ++++- .../Scripts/HierarchyListViewController.cs | 20 +++++++++++-------- .../Scripts/InspectorListViewController.cs | 13 ++++++------ .../PolyWorkspace/Scripts/PolyGridAsset.cs | 8 +++++--- .../Scripts/FolderListViewController.cs | 7 ++++--- 22 files changed, 90 insertions(+), 96 deletions(-) delete mode 100644 Scripts/ListView/Core/ListViewItemData.cs delete mode 100644 Scripts/ListView/Core/ListViewItemData.cs.meta diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index a2079ea06..399a4bd2f 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -4,18 +4,18 @@ namespace UnityEditor.Experimental.EditorVR.Data { - sealed class AssetData : ListViewItemData + sealed class AssetData : IListViewItemData { public const string PrefabTypeString = "Prefab"; public const string ModelTypeString = "Model"; static readonly string k_TemplateName = "AssetGridItem"; - public string guid { get; private set; } + public string template { get {return k_TemplateName; } } + public int index { get; private set; } + public string guid { get; private set; } public string name { get; private set; } - public string type { get; private set; } - public GameObject preview { get; set; } public Object asset @@ -33,7 +33,6 @@ public Object asset public AssetData(string name, string guid, string type) { - template = k_TemplateName; index = guid.GetHashCode(); this.guid = guid; this.name = name; diff --git a/Scripts/Data/FolderData.cs b/Scripts/Data/FolderData.cs index b80a3be20..f49ef510b 100644 --- a/Scripts/Data/FolderData.cs +++ b/Scripts/Data/FolderData.cs @@ -8,15 +8,17 @@ sealed class FolderData : NestedListViewItemData const string k_TemplateName = "FolderListItem"; readonly List m_Assets; + readonly int m_Index; public string name { get; private set; } public List assets { get { return m_Assets; } } + public override int index { get { return m_Index; } } + public override string template { get { return k_TemplateName; } } public FolderData(string name, List children, List assets, int guid) { - template = k_TemplateName; this.name = name; - index = guid; + m_Index = guid; m_Children = children; m_Assets = assets; } diff --git a/Scripts/Data/HierarchyData.cs b/Scripts/Data/HierarchyData.cs index 2697b71a9..030ce535e 100644 --- a/Scripts/Data/HierarchyData.cs +++ b/Scripts/Data/HierarchyData.cs @@ -27,21 +27,23 @@ namespace UnityEditor.Experimental.EditorVR { sealed class HierarchyData : NestedListViewItemData { + readonly int m_Index; const string k_TemplateName = "HierarchyListItem"; public string name { get; set; } - public HashSet types { get; set; } + public override string template { get { return k_TemplateName; } } + public override int index { get { return m_Index; } } + #if UNITY_EDITOR public GameObject gameObject { get { return (GameObject)EditorUtility.InstanceIDToObject(index); } } public HierarchyData(HierarchyProperty property) { - template = k_TemplateName; name = property.name; // TODO: Hierarchy indices at runtime - index = property.instanceID; + m_Index = property.instanceID; } #else public GameObject gameObject { get { return null; } } diff --git a/Scripts/Data/InspectorData.cs b/Scripts/Data/InspectorData.cs index 637a96e87..a4b2b0a30 100644 --- a/Scripts/Data/InspectorData.cs +++ b/Scripts/Data/InspectorData.cs @@ -5,13 +5,22 @@ namespace UnityEditor.Experimental.EditorVR.Data { class InspectorData : NestedListViewItemData { + readonly string m_Template; + + readonly int m_Index; + public SerializedObject serializedObject { get; private set; } + public override int index { get {return m_Index; } } + public override string template { get { return m_Template; } } public InspectorData(string template, SerializedObject serializedObject, List children) + : this(template, serializedObject, serializedObject.targetObject.GetInstanceID(), children) { } + + protected InspectorData(string template, SerializedObject serializedObject, int index, List children) { - this.template = template; + m_Template = template; this.serializedObject = serializedObject; - index = serializedObject.targetObject.GetInstanceID(); + m_Index = index; m_Children = children; } } diff --git a/Scripts/Data/PropertyData.cs b/Scripts/Data/PropertyData.cs index bd398a24d..d4e248b6a 100644 --- a/Scripts/Data/PropertyData.cs +++ b/Scripts/Data/PropertyData.cs @@ -13,10 +13,9 @@ sealed class PropertyData : InspectorData public SerializedProperty property { get; private set; } public PropertyData(string template, SerializedObject serializedObject, List children, SerializedProperty property) - : base(template, serializedObject, children) + : base(template, serializedObject, property.GetHashCode(), children) { this.property = property; - index = property.GetHashCode(); } } } diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index fc55caee7..c79404d2c 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -39,7 +39,7 @@ void Awake() int minor; var group = match.Groups[2]; if (int.TryParse(group.Value, out minor) && minor < 12) - Debug.LogError($"Unity 2018.3.12f1 or greater is required to have full input capabilities"); + Debug.LogError("Unity 2018.3.12f1 or greater is required to have full input capabilities"); } } #endif diff --git a/Scripts/ListView/Core/Interfaces/IListViewItem.cs b/Scripts/ListView/Core/Interfaces/IListViewItem.cs index dd55139c7..b771fb954 100644 --- a/Scripts/ListView/Core/Interfaces/IListViewItem.cs +++ b/Scripts/ListView/Core/Interfaces/IListViewItem.cs @@ -18,8 +18,6 @@ public interface IListViewItem public interface IListViewItem : IListViewItem where TData : IListViewItemData { TData data { get; set; } - Func> getListItem { set; } - void Setup(TData datum, bool firstTime); } } diff --git a/Scripts/ListView/Core/ListViewController.cs b/Scripts/ListView/Core/ListViewController.cs index 0716bd6f4..6b988d125 100644 --- a/Scripts/ListView/Core/ListViewController.cs +++ b/Scripts/ListView/Core/ListViewController.cs @@ -5,20 +5,21 @@ namespace Unity.Labs.ListView { public abstract class ListViewController : ListViewControllerBase - where TData : IListViewItemData - where TItem : IListViewItem + where TData : class, IListViewItemData + where TItem : class, IListViewItem { protected List m_Data; IListViewItem m_LastUpdatedItemItem; protected readonly Dictionary> m_TemplateDictionary = new Dictionary>(); protected readonly Dictionary m_ListItems = new Dictionary(); + + // Items can be "grabbed" and temporarily removed from the list protected readonly Dictionary m_GrabbedRows = new Dictionary(); // Local method use only -- created here to reduce garbage collection Action m_StartSettling; Action m_EndSettling; - Func> m_GetListItem; public virtual List data { @@ -52,7 +53,6 @@ protected override void Awake() m_StartSettling = StartSettling; m_EndSettling = EndSettling; - m_GetListItem = index => GetListItem(index); } protected virtual void Start() @@ -192,7 +192,6 @@ protected virtual bool GetNewItem(TData datum, out TItem item) item.Setup(datum, true); item.startSettling = m_StartSettling; item.endSettling = m_EndSettling; - item.getListItem = m_GetListItem; } m_ListItems[datum.index] = item; @@ -203,9 +202,9 @@ protected virtual bool GetNewItem(TData datum, out TItem item) return !pooled; } - protected virtual TItem InstantiateItem(TData data) + protected virtual TItem InstantiateItem(TData datum) { - return Instantiate(m_TemplateDictionary[data.template].prefab, transform, false).GetComponent(); + return Instantiate(m_TemplateDictionary[datum.template].prefab, transform, false).GetComponent(); } } } diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index bf7105985..7ddd9d691 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -227,12 +227,6 @@ public virtual void OnScrollEnded() } } - protected void SetMaterialClip(Material material, Matrix4x4 parentMatrix) - { - material.SetMatrix("_ParentMatrix", parentMatrix); - material.SetVector("_ClipExtents", m_Extents); - } - public virtual void OnScroll(PointerEventData eventData) { if (m_Settling) diff --git a/Scripts/ListView/Core/ListViewItem.cs b/Scripts/ListView/Core/ListViewItem.cs index de2fafb6a..ef64d74f4 100644 --- a/Scripts/ListView/Core/ListViewItem.cs +++ b/Scripts/ListView/Core/ListViewItem.cs @@ -23,7 +23,6 @@ public Quaternion localRotation public Action startSettling { get; set; } public Action endSettling { get; set; } public TData data { get; set; } - public Func> getListItem { get; set; } public void SetActive(bool active) { diff --git a/Scripts/ListView/Core/ListViewItemData.cs b/Scripts/ListView/Core/ListViewItemData.cs deleted file mode 100644 index 70dae7ebc..000000000 --- a/Scripts/ListView/Core/ListViewItemData.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Unity.Labs.ListView -{ - public abstract class ListViewItemData : IListViewItemData - { - public TIndex index { get; protected set; } - public string template { get; protected set; } - } -} diff --git a/Scripts/ListView/Core/ListViewItemData.cs.meta b/Scripts/ListView/Core/ListViewItemData.cs.meta deleted file mode 100644 index 3f6d94580..000000000 --- a/Scripts/ListView/Core/ListViewItemData.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bd7facb5e5d361140ae616d1bb211e16 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Scripts/ListView/Core/NestedListViewController.cs b/Scripts/ListView/Core/NestedListViewController.cs index 1202ac9a3..99f134974 100644 --- a/Scripts/ListView/Core/NestedListViewController.cs +++ b/Scripts/ListView/Core/NestedListViewController.cs @@ -8,8 +8,8 @@ namespace Unity.Labs.ListView { public abstract class NestedListViewController : ListViewController - where TData : INestedListViewItemData - where TItem : INestedListViewItem + where TData : class, INestedListViewItemData + where TItem : class, INestedListViewItem { protected struct UpdateData { @@ -77,20 +77,6 @@ static TData GetRowRecursive(List data, TIndex index) return default(TData); } - protected void RecycleRecursively(TData datum) - { - Recycle(datum.index); - - var children = datum.children; - if (children != null) - { - foreach (var child in children) - { - RecycleRecursively(child); - } - } - } - protected override void UpdateItems() { var doneSettling = true; diff --git a/Scripts/ListView/Core/NestedListViewItemData.cs b/Scripts/ListView/Core/NestedListViewItemData.cs index 00279b8fe..891c91206 100644 --- a/Scripts/ListView/Core/NestedListViewItemData.cs +++ b/Scripts/ListView/Core/NestedListViewItemData.cs @@ -3,10 +3,15 @@ namespace Unity.Labs.ListView { - public abstract class NestedListViewItemData : ListViewItemData, INestedListViewItemData + public abstract class NestedListViewItemData : INestedListViewItemData { protected List m_Children; + public abstract TIndex index { get; } + public abstract string template { get; } + + public event Action, List> childrenChanging; + public List children { get { return m_Children; } @@ -18,7 +23,5 @@ public List children m_Children = value; } } - - public event Action, List> childrenChanging; } } diff --git a/Scripts/ListView/EditorXRListViewController.cs b/Scripts/ListView/EditorXRListViewController.cs index 357e3f3b7..a624b1448 100644 --- a/Scripts/ListView/EditorXRListViewController.cs +++ b/Scripts/ListView/EditorXRListViewController.cs @@ -5,7 +5,7 @@ namespace UnityEditor.Experimental.EditorVR { public abstract class EditorXRListViewController : ListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode - where TData : IListViewItemData + where TData : class, IListViewItemData where TItem : EditorXRListViewItem { #pragma warning disable 649 diff --git a/Scripts/ListView/EditorXRNestedListViewController.cs b/Scripts/ListView/EditorXRNestedListViewController.cs index 9450f334f..fc4e48bff 100644 --- a/Scripts/ListView/EditorXRNestedListViewController.cs +++ b/Scripts/ListView/EditorXRNestedListViewController.cs @@ -5,7 +5,7 @@ namespace UnityEditor.Experimental.EditorVR { abstract class EditorXRNestedListViewController : NestedListViewController, IInstantiateUI, IConnectInterfaces, IControlHaptics, IRayToNode - where TData : INestedListViewItemData + where TData : class, INestedListViewItemData where TItem : EditorXRListViewItem, INestedListViewItem { #pragma warning disable 649 diff --git a/Scripts/UI/ClipText.cs b/Scripts/UI/ClipText.cs index a2cf8eb7f..03123dccd 100644 --- a/Scripts/UI/ClipText.cs +++ b/Scripts/UI/ClipText.cs @@ -8,6 +8,9 @@ namespace UnityEditor.Experimental.EditorVR.UI /// sealed class ClipText : TextMeshProUGUI { + static readonly int k_ParentMatrix = Shader.PropertyToID("_ParentMatrix"); + static readonly int k_ClipExtents = Shader.PropertyToID("_ClipExtents"); + /// /// Parent transform worldToLocalMatrix /// @@ -26,10 +29,7 @@ sealed class ClipText : TextMeshProUGUI public void UpdateMaterialClip() { if (m_ModifiedMaterial != null) - { - m_ModifiedMaterial.SetMatrix("_ParentMatrix", parentMatrix); - m_ModifiedMaterial.SetVector("_ClipExtents", clipExtents); - } + SetMaterialClip(m_ModifiedMaterial, parentMatrix, clipExtents); } /// @@ -43,5 +43,17 @@ public override Material GetModifiedMaterial(Material baseMaterial) UpdateMaterialClip(); return m_ModifiedMaterial; } + + /// + /// Set the ParentMatrix and ClipExtents property on a given material, to update clipping + /// + /// The material to update + /// The transform matrix of the parent object whose extents will be transformed + /// The local extents within which to clip + public static void SetMaterialClip(Material material, Matrix4x4 parentMatrix, Vector3 extents) + { + material.SetMatrix(k_ParentMatrix, parentMatrix); + material.SetVector(k_ClipExtents, extents); + } } } diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index 3a2115359..a2fc9e2ef 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using TMPro; +using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Handles; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -109,6 +110,8 @@ sealed class HierarchyListItem : NestedDraggableListItem, IU public bool isStillSettling { private set; get; } + public Func getListItem { private get; set; } + public override void Setup(HierarchyData data, bool firstTime) { base.Setup(data, firstTime); @@ -332,7 +335,7 @@ void OnGrabRecursive(List visibleChildren, Transform rayOrigi { foreach (var child in data.children) { - var item = getListItem(child.index) as HierarchyListItem; + var item = getListItem(child.index); if (item) { visibleChildren.Add(item); diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs index 18ac378b5..80e3637b5 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListViewController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Handles; +using UnityEditor.Experimental.EditorVR.UI; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -125,12 +126,12 @@ protected override void Start() protected override void UpdateItems() { var parentMatrix = transform.worldToLocalMatrix; - SetMaterialClip(m_TextMaterial, parentMatrix); - SetMaterialClip(m_SceneIconDarkMaterial, parentMatrix); - SetMaterialClip(m_SceneIconWhiteMaterial, parentMatrix); - SetMaterialClip(m_ExpandArrowMaterial, parentMatrix); - SetMaterialClip(m_LockIconMaterial, parentMatrix); - SetMaterialClip(m_UnlockIconMaterial, parentMatrix); + ClipText.SetMaterialClip(m_TextMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_SceneIconDarkMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_SceneIconWhiteMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_ExpandArrowMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_LockIconMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_UnlockIconMaterial, parentMatrix, m_Extents); m_VisibleItemHeight = 0; @@ -209,8 +210,8 @@ void UpdateHierarchyItem(HierarchyData data, int order, ref float offset, int de item.UpdateSelf(width, depth, expanded, index == m_SelectedRow, locked); var worldToLocalMatrix = transform.worldToLocalMatrix; - SetMaterialClip(item.cubeMaterial, worldToLocalMatrix); - SetMaterialClip(item.dropZoneMaterial, worldToLocalMatrix); + ClipText.SetMaterialClip(item.cubeMaterial, worldToLocalMatrix, m_Extents); + ClipText.SetMaterialClip(item.dropZoneMaterial, worldToLocalMatrix, m_Extents); m_VisibleItemHeight += itemSize.z; UpdateItem(item, order, offset + m_ScrollOffset, ref doneSettling); @@ -249,6 +250,7 @@ protected override void UpdateNestedItems(ref int order, ref float offset, ref b var item = GetListItem(index); if (item && item.isStillSettling) // "Hang on" to settle state until grabbed object is settled in the list doneSettling = false; + continue; } @@ -353,6 +355,8 @@ protected override bool GetNewItem(HierarchyData data, out HierarchyListItem ite item.setExpanded = SetExpanded; item.isExpanded = GetExpanded; + + item.getListItem = GetListItem; } item.UpdateArrow(GetExpanded(data.index), true); diff --git a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs index 7e34397f7..eeb40d835 100644 --- a/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs +++ b/Workspaces/InspectorWorkspace/Scripts/InspectorListViewController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Unity.Labs.ListView; using UnityEditor.Experimental.EditorVR.Data; +using UnityEditor.Experimental.EditorVR.UI; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -95,12 +96,12 @@ protected override void ComputeConditions() m_StartPosition = m_Extents.z * Vector3.back; var parentMatrix = transform.worldToLocalMatrix; - SetMaterialClip(m_RowCubeMaterial, parentMatrix); - SetMaterialClip(m_BackingCubeMaterial, parentMatrix); - SetMaterialClip(m_UIMaterial, parentMatrix); - SetMaterialClip(m_UIMaskMaterial, parentMatrix); - SetMaterialClip(m_HighlightMaterial, parentMatrix); - SetMaterialClip(m_HighlightMaskMaterial, parentMatrix); + ClipText.SetMaterialClip(m_RowCubeMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_BackingCubeMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_UIMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_UIMaskMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_HighlightMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_HighlightMaskMaterial, parentMatrix, m_Extents); } public void OnObjectModified() diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs index 6d820fabc..05cd29ccd 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs @@ -11,9 +11,10 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { - public class PolyGridAsset : ListViewItemData, IWeb + public class PolyGridAsset : IListViewItemData, IWeb { const int k_MaxPreviewComplexity = 2500; + static readonly string k_TemplateName = "PolyGridItem"; #if INCLUDE_POLY_TOOLKIT static PolyImportOptions s_Options; @@ -30,6 +31,9 @@ public class PolyGridAsset : ListViewItemData, IWeb bool m_Initialized; // Whether the download/import process has started bool m_Importing; + public string template { get { return k_TemplateName; } } + + public string index { get; private set; } public PolyAsset asset { get { return m_Asset; } } public GameObject prefab { get { return m_Prefab; } } public Texture2D thumbnail { get { return m_Thumbnail; } } @@ -61,8 +65,6 @@ public PolyGridAsset(PolyAsset asset, Transform container) m_Complexity = Math.Max(m_Complexity, format.formatComplexity.triangleCount); } #endif - - template = "PolyGridItem"; } public void Initialize() diff --git a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs index aafebaa2a..ad2a3c9cd 100644 --- a/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/FolderListViewController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Data; +using UnityEditor.Experimental.EditorVR.UI; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -70,8 +71,8 @@ protected override void Start() protected override void UpdateItems() { var parentMatrix = transform.worldToLocalMatrix; - SetMaterialClip(m_TextMaterial, parentMatrix); - SetMaterialClip(m_ExpandArrowMaterial, parentMatrix); + ClipText.SetMaterialClip(m_TextMaterial, parentMatrix, m_Extents); + ClipText.SetMaterialClip(m_ExpandArrowMaterial, parentMatrix, m_Extents); base.UpdateItems(); } @@ -85,7 +86,7 @@ void UpdateFolderItem(FolderData data, int order, float offset, int depth, bool item.UpdateSelf(m_Size.x - k_ClipMargin, depth, expanded, index == selectedFolder); - SetMaterialClip(item.cubeMaterial, transform.worldToLocalMatrix); + ClipText.SetMaterialClip(item.cubeMaterial, transform.worldToLocalMatrix, m_Extents); UpdateItem(item, order, offset, ref doneSettling); } From 21bedd91f30891b147b7f24eae74721d094a43b0 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 13 May 2019 01:55:54 -0700 Subject: [PATCH 34/75] Change DirectSelectionData to a struct to avoid allocations; Transform test ray to local space to fix collision point; Use Slerp between forward/up vectors, rather than Quaternion.Lerp to get halfway rotation to fix "pop" in certain edge case rotations; Make decision to use up/forward on grab start, to fix a different rotation "pop" --- Scripts/Data/DirectSelectionData.cs | 2 +- Scripts/Utilities/IntersectionUtils.cs | 8 +++---- Tools/TransformTool/TransformTool.cs | 24 ++++++++++--------- .../ProjectWorkspace/Scripts/AssetGridItem.cs | 10 ++++---- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Scripts/Data/DirectSelectionData.cs b/Scripts/Data/DirectSelectionData.cs index d1cd130bb..1138b4b2e 100644 --- a/Scripts/Data/DirectSelectionData.cs +++ b/Scripts/Data/DirectSelectionData.cs @@ -6,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR /// /// Stores the state of a direct selection /// - public sealed class DirectSelectionData + public struct DirectSelectionData { /// /// The object which is selected diff --git a/Scripts/Utilities/IntersectionUtils.cs b/Scripts/Utilities/IntersectionUtils.cs index b778ca6cd..9905eecbd 100644 --- a/Scripts/Utilities/IntersectionUtils.cs +++ b/Scripts/Utilities/IntersectionUtils.cs @@ -30,15 +30,15 @@ public static bool TestObject(MeshCollider collisionTester, Renderer obj, Inters { var ray = tester.rays[j]; - //Transform rays to world space + //Transform rays to world space, then to object's local space var testerTransform = tester.transform; - ray.origin = testerTransform.TransformPoint(ray.origin); - ray.direction = testerTransform.TransformDirection(ray.direction); + var objectTransform = obj.transform; + ray.origin = objectTransform.InverseTransformPoint(testerTransform.TransformPoint(ray.origin)); + ray.direction = objectTransform.InverseTransformDirection(testerTransform.TransformDirection(ray.direction)); RaycastHit hit; if (TestRay(collisionTester, transform, ray, out hit)) { - //GizmoModule.instance.DrawSphere(hit.point, 0.05f, Color.cyan); collisionPoint = hit.point; return true; } diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index fb7d98a9d..95d66251f 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -38,6 +38,7 @@ class GrabData Quaternion m_ForwardRotationOffset; Vector3 m_GrabOffset; float m_StartDistance; + bool m_UseUp; public Transform[] grabbedObjects { get; private set; } public TransformInput input { get; private set; } @@ -119,7 +120,7 @@ public void UpdatePositions(IUsesSnapping usesSnapping, bool interpolate = true) } } - public void ScaleObjects(GrabData otherGrabData) + public void ScaleObjects(GrabData otherGrab) { if (suspended) return; @@ -129,20 +130,18 @@ public void ScaleObjects(GrabData otherGrabData) #endif var thisPosition = pivotPoint; - var otherPosition = otherGrabData.pivotPoint; + var otherPosition = otherGrab.pivotPoint; var distance = Vector3.Distance(thisPosition, otherPosition); var scaleFactor = distance / m_StartDistance; if (scaleFactor > 0 && scaleFactor < Mathf.Infinity) { var rayToRay = otherPosition - thisPosition; var midPoint = thisPosition + rayToRay * 0.5f; - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrabData.rayOrigin.rotation, 0.5f); - var upVector = midRotation * Vector3.up; - var forward = midRotation * Vector3.forward; - var isUp = true; //Mathf.Abs(Vector3.Dot(rayToRay, upVector)) > 0.5f; + var forward = Vector3.Slerp(rayOrigin.forward, otherGrab.rayOrigin.forward, 0.5f); + var upVector = Vector3.Slerp(rayOrigin.up, otherGrab.rayOrigin.up, 0.5f); - var grabRotation = Quaternion.LookRotation(rayToRay, isUp ? forward : upVector); - var rotationOffset = grabRotation * (isUp ? m_ForwardRotationOffset : m_UpRotationOffset); + var grabRotation = Quaternion.LookRotation(rayToRay, m_UseUp ? upVector : forward); + var rotationOffset = grabRotation * (m_UseUp ? m_UpRotationOffset : m_ForwardRotationOffset); for (var i = 0; i < grabbedObjects.Length; i++) { @@ -178,9 +177,11 @@ public void StartScaling(GrabData otherGrab) m_StartMidPoint = thisPosition + rayToRay * 0.5f; m_StartDistance = Vector3.Distance(thisPosition, otherPosition); - var midRotation = Quaternion.Lerp(rayOrigin.rotation, otherGrab.rayOrigin.rotation, 0.5f); - m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.up)); - m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, midRotation * Vector3.forward)); + m_UseUp = Vector3.Dot(rayOrigin.forward, otherGrab.rayOrigin.forward) < -0.5f; + var forward = Vector3.Slerp(rayOrigin.forward, otherGrab.rayOrigin.forward, 0.5f); + var upVector = Vector3.Slerp(rayOrigin.up, otherGrab.rayOrigin.up, 0.5f); + m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, upVector)); + m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, forward)); for (var i = 0; i < grabbedObjects.Length; i++) { @@ -460,6 +461,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon m_LeftGrabData = grabData; else m_RightGrabData = grabData; + ShowGrabFeedback(grabbingNode); // A direct selection has been made. Hide the manipulator until the selection changes diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs index 23a95e038..65490b779 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridItem.cs @@ -640,14 +640,14 @@ void PlaceModelOrPrefab(Transform itemTransform, AssetData data) GameObject TryGetSelection(Transform rayOrigin, bool includeRays) { - DirectSelectionData selectionData = null; var directSelections = this.GetDirectSelection(); - if (directSelections != null) - directSelections.TryGetValue(rayOrigin, out selectionData); + if (directSelections == null) + return null; - if (selectionData == null) + DirectSelectionData selectionData; + if (!directSelections.TryGetValue(rayOrigin, out selectionData)) return null; - + var selection = selectionData.gameObject; if (selection == null && includeRays) selection = this.GetFirstGameObject(rayOrigin); From f65b83548b047392b5e7ae1dfcad4396771c85e0 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 15 May 2019 20:45:23 -0700 Subject: [PATCH 35/75] Consume vertical stick input during direct manipulation in order to suppress spatial menu; Add scaling options for rotate only and scale only; Add proxy feedback for new scaling options; Update direct manipulation cancel behavior to return the object to where it was before it was transferred from hand to hand --- Tools/TransformTool/TransformInput.cs | 3 +- Tools/TransformTool/TransformTool.cs | 235 ++++++++++++++++++++------ 2 files changed, 184 insertions(+), 54 deletions(-) diff --git a/Tools/TransformTool/TransformInput.cs b/Tools/TransformTool/TransformInput.cs index 6060fd26b..d8fcd0606 100644 --- a/Tools/TransformTool/TransformInput.cs +++ b/Tools/TransformTool/TransformInput.cs @@ -6,8 +6,9 @@ namespace UnityEngine.InputNew { public class TransformInput : ActionMapInput { public TransformInput (ActionMap actionMap) : base (actionMap) { } - + public ButtonInputControl @select { get { return (ButtonInputControl)this[0]; } } public ButtonInputControl @cancel { get { return (ButtonInputControl)this[1]; } } + public AxisInputControl @suppressVertical { get { return (AxisInputControl)this[2]; } } } } diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 95d66251f..184f8f9dd 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -23,16 +23,22 @@ sealed class TransformTool : MonoBehaviour, ITool, ITransformer, ISelectionChang IControlHaptics, IUsesRayOrigin, IUsesNode, ICustomActionMap, ITwoHandedScaler, IIsMainMenuVisible, IGetRayVisibility, IRayVisibilitySettings, IRequestFeedback { - const float k_LazyFollowTranslate = 8f; - const float k_LazyFollowRotate = 12f; - const float k_DirectLazyFollowTranslate = 20f; - const float k_DirectLazyFollowRotate = 30f; + enum TwoHandedManipulateMode + { + RotateAndScale, + RotateOnly, + ScaleOnly + } class GrabData { Vector3[] m_PositionOffsets; Quaternion[] m_RotationOffsets; Vector3[] m_InitialScales; + + Vector3[] m_OriginalPositions; + Quaternion[] m_OriginalRotations; + Vector3[] m_OriginalScales; Vector3 m_StartMidPoint; Quaternion m_UpRotationOffset; Quaternion m_ForwardRotationOffset; @@ -43,6 +49,7 @@ class GrabData public Transform[] grabbedObjects { get; private set; } public TransformInput input { get; private set; } public Transform rayOrigin { get; private set; } + public TwoHandedManipulateMode twoHandedManipulateMode { get; set; } public bool suspended { private get; set; } @@ -55,9 +62,25 @@ public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedOb this.grabbedObjects = grabbedObjects; var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); m_GrabOffset = inverseRotation * (contactPoint - rayOrigin.position); + CaptureInitialTransforms(); Reset(); } + void CaptureInitialTransforms() + { + var length = grabbedObjects.Length; + m_OriginalPositions = new Vector3[length]; + m_OriginalRotations = new Quaternion[length]; + m_OriginalScales = new Vector3[length]; + for (var i = 0; i < length; i++) + { + var grabbedTransform = grabbedObjects[i]; + m_OriginalPositions[i] = grabbedTransform.position; + m_OriginalRotations[i] = grabbedTransform.rotation; + m_OriginalScales[i] = grabbedTransform.localScale; + } + } + public void Reset() { if (suspended) @@ -73,9 +96,9 @@ public void Reset() var grabbedTransform = grabbedObjects[i]; var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); - m_PositionOffsets[i] = inverseRotation * (grabbedTransform.transform.position - pivot); - m_RotationOffsets[i] = inverseRotation * grabbedTransform.transform.rotation; - m_InitialScales[i] = grabbedTransform.transform.localScale; + m_PositionOffsets[i] = inverseRotation * (grabbedTransform.position - pivot); + m_RotationOffsets[i] = inverseRotation * grabbedTransform.rotation; + m_InitialScales[i] = grabbedTransform.localScale; } } @@ -147,15 +170,31 @@ public void ScaleObjects(GrabData otherGrab) { var grabbedObject = grabbedObjects[i]; - var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; - if (grabbedObject.position != targetPosition) - grabbedObject.position = targetPosition; + if (twoHandedManipulateMode == TwoHandedManipulateMode.RotateOnly) + { + var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i]; + if (grabbedObject.position != targetPosition) + grabbedObject.position = targetPosition; - var targetScale = m_InitialScales[i] * scaleFactor; - if (grabbedObject.localScale != targetScale) - grabbedObject.localScale = targetScale; + var targetScale = m_InitialScales[i]; + if (grabbedObject.localScale != targetScale) + grabbedObject.localScale = targetScale; + } + else + { + var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; + if (grabbedObject.position != targetPosition) + grabbedObject.position = targetPosition; + + var targetScale = m_InitialScales[i] * scaleFactor; + if (grabbedObject.localScale != targetScale) + grabbedObject.localScale = targetScale; + } - grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; + if (twoHandedManipulateMode == TwoHandedManipulateMode.ScaleOnly) + grabbedObject.rotation = m_RotationOffsets[i]; + else + grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; } } } @@ -189,6 +228,23 @@ public void StartScaling(GrabData otherGrab) m_PositionOffsets[i] = grabbedObject.position - m_StartMidPoint; m_RotationOffsets[i] = grabbedObject.rotation; } + + // Transfer the first grab's original transform data, for eventual cancel + otherGrab.m_OriginalPositions = m_OriginalPositions; + otherGrab.m_OriginalRotations = m_OriginalRotations; + otherGrab.m_OriginalScales = m_OriginalScales; + } + + public void Cancel() + { + var length = grabbedObjects.Length; + for (var i = 0; i < length; i++) + { + var grabbedTransform = grabbedObjects[i]; + grabbedTransform.position = m_OriginalPositions[i]; + grabbedTransform.rotation = m_OriginalRotations[i]; + grabbedTransform.localScale = m_OriginalScales[i]; + } } } @@ -205,6 +261,11 @@ public void ExecuteAction() } } + const float k_LazyFollowTranslate = 8f; + const float k_LazyFollowRotate = 12f; + const float k_DirectLazyFollowTranslate = 20f; + const float k_DirectLazyFollowRotate = 30f; + #pragma warning disable 649 [SerializeField] Sprite m_OriginCenterIcon; @@ -272,6 +333,8 @@ public void ExecuteAction() readonly BindingDictionary m_Controls = new BindingDictionary(); readonly List m_GrabFeedback = new List(); readonly List m_ScaleFeedback = new List(); + readonly List m_ScaleOptionFeedback = new List(); + readonly List m_ScaleCancelFeedback = new List(); readonly TransformAction m_PivotModeToggleAction = new TransformAction(); readonly TransformAction m_PivotRotationToggleAction = new TransformAction(); @@ -449,20 +512,19 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon objectsGrabbed(directRayOrigin, grabbedObjects); var grabData = new GrabData(directRayOrigin, transformInput, grabbedObjects.ToArray(), directSelectionData.contactPoint); - if (otherData != null) - { - //m_ScaleStartDistance = (directRayOrigin.position - otherData.rayOrigin.position).magnitude; - m_ScaleFirstNode = grabbingNode == Node.LeftHand ? Node.RightHand : Node.LeftHand; - otherData.StartScaling(grabData); - m_Scaling = true; - } - if (grabbingNode == Node.LeftHand) m_LeftGrabData = grabData; else m_RightGrabData = grabData; ShowGrabFeedback(grabbingNode); + if (otherData != null) + { + m_ScaleFirstNode = grabbingNode == Node.LeftHand ? Node.RightHand : Node.LeftHand; + otherData.StartScaling(grabData); + ShowScaleOptionsFeedback(); + m_Scaling = true; + } // A direct selection has been made. Hide the manipulator until the selection changes m_DirectSelected = true; @@ -487,29 +549,21 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (hasLeft) { consumeControl(leftInput.cancel); - if (leftInput.cancel.wasJustPressed) + consumeControl(leftInput.suppressVertical); + if (!m_Scaling && leftInput.cancel.wasJustPressed) { - if (m_Scaling) - { - m_Scaling = false; - DropHeldObjects(Node.LeftHand); - DropHeldObjects(Node.RightHand); - hasRight = false; - } - else - { - DropHeldObjects(Node.LeftHand); - } + m_LeftGrabData.Cancel(); + DropHeldObjects(Node.LeftHand); hasLeft = false; -#if UNITY_EDITOR - Undo.PerformUndo(); -#endif } if (leftInput.select.wasJustReleased) { if (rightInput != null && rightInput.select.wasJustReleased) + { + HideScaleOptionFeedback(); m_Scaling = false; + } DropHeldObjects(Node.LeftHand); hasLeft = false; @@ -520,29 +574,21 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (hasRight) { consumeControl(rightInput.cancel); - if (rightInput.cancel.wasJustPressed) + consumeControl(rightInput.suppressVertical); + if (!m_Scaling && rightInput.cancel.wasJustPressed) { - if (m_Scaling) - { - m_Scaling = false; - DropHeldObjects(Node.RightHand); - DropHeldObjects(Node.LeftHand); - hasLeft = false; - } - else - { - DropHeldObjects(Node.RightHand); - } + m_RightGrabData.Cancel(); + DropHeldObjects(Node.RightHand); hasRight = false; -#if UNITY_EDITOR - Undo.PerformUndo(); -#endif } if (rightInput.select.wasJustReleased) { if (leftInput != null && leftInput.select.wasJustReleased) + { + HideScaleOptionFeedback(); m_Scaling = false; + } DropHeldObjects(Node.RightHand); hasRight = false; @@ -554,7 +600,51 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon { var rightRayOrigin = m_RightGrabData.rayOrigin; var leftRayOrigin = m_LeftGrabData.rayOrigin; - if (m_ScaleFirstNode == Node.LeftHand) + var leftCancel = leftInput.cancel; + var rightCancel = rightInput.cancel; + + var scaleGrabData = m_ScaleFirstNode == Node.LeftHand ? m_LeftGrabData : m_RightGrabData; + if (leftCancel.wasJustReleased) + { + if (scaleGrabData.twoHandedManipulateMode == TwoHandedManipulateMode.ScaleOnly) + scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateAndScale; + else + scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.ScaleOnly; + + ShowScaleOptionsFeedback(scaleGrabData.twoHandedManipulateMode); + } + + if (rightCancel.wasJustReleased) + { + if (scaleGrabData.twoHandedManipulateMode == TwoHandedManipulateMode.RotateOnly) + scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateAndScale; + else + scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateOnly; + + ShowScaleOptionsFeedback(scaleGrabData.twoHandedManipulateMode); + } + + var leftCancelHeld = leftCancel.isHeld; + var rightCancelHeld = rightCancel.isHeld; + if (m_ScaleCancelFeedback.Count == 0 && (leftCancelHeld || rightCancelHeld)) + ShowScaleCancelFeedback(); + else if (!leftCancelHeld && !rightCancelHeld) + HideScaleCancelFeedback(); + + if (leftCancelHeld && rightCancelHeld) // Cancel scaling + { + HideScaleOptionFeedback(); + HideScaleCancelFeedback(); + m_Scaling = false; + if (m_ScaleFirstNode == Node.LeftHand) + m_LeftGrabData.Cancel(); + else + m_RightGrabData.Cancel(); + + DropHeldObjects(Node.RightHand); + DropHeldObjects(Node.LeftHand); + } + else if (m_ScaleFirstNode == Node.LeftHand) { m_LeftGrabData.ScaleObjects(m_RightGrabData); this.ClearSnappingState(leftRayOrigin); @@ -567,6 +657,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon } else { + // If m_Scaling is true but both hands don't have a grab, we need to transfer back to one-handed manipulation // Offsets will change while scaling. Whichever hand keeps holding the trigger after scaling is done will need to reset itself if (m_Scaling) { @@ -577,6 +668,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (objectsTransferred != null && m_ScaleFirstNode == Node.RightHand) objectsTransferred(m_RightGrabData.rayOrigin, m_LeftGrabData.rayOrigin); } + if (hasRight) { m_RightGrabData.Reset(); @@ -585,6 +677,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon objectsTransferred(m_LeftGrabData.rayOrigin, m_RightGrabData.rayOrigin); } + HideScaleOptionFeedback(); m_Scaling = false; } @@ -922,6 +1015,32 @@ void ShowScaleFeedback(Node node) ShowFeedback(m_ScaleFeedback, "Select", "Scale", node); } + void ShowScaleOptionsFeedback(TwoHandedManipulateMode mode = TwoHandedManipulateMode.RotateAndScale) + { + HideScaleOptionFeedback(); + switch (mode) + { + case TwoHandedManipulateMode.RotateAndScale: + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Scale Only", Node.LeftHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate Only", Node.RightHand); + return; + case TwoHandedManipulateMode.ScaleOnly: + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate and Scale", Node.LeftHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate Only", Node.RightHand); + return; + case TwoHandedManipulateMode.RotateOnly: + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Scale Only", Node.LeftHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate and Scale", Node.RightHand); + return; + } + } + + void ShowScaleCancelFeedback() + { + ShowFeedback(m_ScaleCancelFeedback, "Cancel", "Cancel", Node.LeftHand); + ShowFeedback(m_ScaleCancelFeedback, "Cancel", "Cancel", Node.RightHand); + } + void HideFeedback(List requests) { foreach (var request in requests) @@ -940,5 +1059,15 @@ void HideScaleFeedback() { HideFeedback(m_ScaleFeedback); } + + void HideScaleOptionFeedback() + { + HideFeedback(m_ScaleOptionFeedback); + } + + void HideScaleCancelFeedback() + { + HideFeedback(m_ScaleCancelFeedback); + } } } From cca14836c7a65ecba93f0d48dacbde52b4c8af35 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 15 May 2019 20:46:11 -0700 Subject: [PATCH 36/75] Rename grabbedObjects to grabbedTransforms --- Tools/TransformTool/TransformTool.cs | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 184f8f9dd..88735f5fb 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -46,7 +46,7 @@ class GrabData float m_StartDistance; bool m_UseUp; - public Transform[] grabbedObjects { get; private set; } + public Transform[] grabbedTransforms { get; private set; } public TransformInput input { get; private set; } public Transform rayOrigin { get; private set; } public TwoHandedManipulateMode twoHandedManipulateMode { get; set; } @@ -55,11 +55,11 @@ class GrabData Vector3 pivotPoint { get { return rayOrigin.position + rayOrigin.rotation * m_GrabOffset; } } - public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedObjects, Vector3 contactPoint) + public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedTransforms, Vector3 contactPoint) { this.rayOrigin = rayOrigin; this.input = input; - this.grabbedObjects = grabbedObjects; + this.grabbedTransforms = grabbedTransforms; var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); m_GrabOffset = inverseRotation * (contactPoint - rayOrigin.position); CaptureInitialTransforms(); @@ -68,13 +68,13 @@ public GrabData(Transform rayOrigin, TransformInput input, Transform[] grabbedOb void CaptureInitialTransforms() { - var length = grabbedObjects.Length; + var length = grabbedTransforms.Length; m_OriginalPositions = new Vector3[length]; m_OriginalRotations = new Quaternion[length]; m_OriginalScales = new Vector3[length]; for (var i = 0; i < length; i++) { - var grabbedTransform = grabbedObjects[i]; + var grabbedTransform = grabbedTransforms[i]; m_OriginalPositions[i] = grabbedTransform.position; m_OriginalRotations[i] = grabbedTransform.rotation; m_OriginalScales[i] = grabbedTransform.localScale; @@ -86,14 +86,14 @@ public void Reset() if (suspended) return; - var length = grabbedObjects.Length; + var length = grabbedTransforms.Length; m_PositionOffsets = new Vector3[length]; m_RotationOffsets = new Quaternion[length]; m_InitialScales = new Vector3[length]; var pivot = pivotPoint; for (var i = 0; i < length; i++) { - var grabbedTransform = grabbedObjects[i]; + var grabbedTransform = grabbedTransforms[i]; var inverseRotation = Quaternion.Inverse(rayOrigin.rotation); m_PositionOffsets[i] = inverseRotation * (grabbedTransform.position - pivot); @@ -108,14 +108,14 @@ public void UpdatePositions(IUsesSnapping usesSnapping, bool interpolate = true) return; #if UNITY_EDITOR - Undo.RecordObjects(grabbedObjects, "Move"); + Undo.RecordObjects(grabbedTransforms, "Move"); #endif var rayOriginRotation = rayOrigin.rotation; var pivot = pivotPoint; - for (var i = 0; i < grabbedObjects.Length; i++) + for (var i = 0; i < grabbedTransforms.Length; i++) { - var grabbedObject = grabbedObjects[i]; + var grabbedObject = grabbedTransforms[i]; var position = grabbedObject.position; var rotation = grabbedObject.rotation; var targetPosition = pivot + rayOriginRotation * m_PositionOffsets[i]; @@ -149,7 +149,7 @@ public void ScaleObjects(GrabData otherGrab) return; #if UNITY_EDITOR - Undo.RecordObjects(grabbedObjects, "Move"); + Undo.RecordObjects(grabbedTransforms, "Move"); #endif var thisPosition = pivotPoint; @@ -166,9 +166,9 @@ public void ScaleObjects(GrabData otherGrab) var grabRotation = Quaternion.LookRotation(rayToRay, m_UseUp ? upVector : forward); var rotationOffset = grabRotation * (m_UseUp ? m_UpRotationOffset : m_ForwardRotationOffset); - for (var i = 0; i < grabbedObjects.Length; i++) + for (var i = 0; i < grabbedTransforms.Length; i++) { - var grabbedObject = grabbedObjects[i]; + var grabbedObject = grabbedTransforms[i]; if (twoHandedManipulateMode == TwoHandedManipulateMode.RotateOnly) { @@ -222,9 +222,9 @@ public void StartScaling(GrabData otherGrab) m_UpRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, upVector)); m_ForwardRotationOffset = Quaternion.Inverse(Quaternion.LookRotation(rayToRay, forward)); - for (var i = 0; i < grabbedObjects.Length; i++) + for (var i = 0; i < grabbedTransforms.Length; i++) { - var grabbedObject = grabbedObjects[i]; + var grabbedObject = grabbedTransforms[i]; m_PositionOffsets[i] = grabbedObject.position - m_StartMidPoint; m_RotationOffsets[i] = grabbedObject.rotation; } @@ -237,10 +237,10 @@ public void StartScaling(GrabData otherGrab) public void Cancel() { - var length = grabbedObjects.Length; + var length = grabbedTransforms.Length; for (var i = 0; i < length; i++) { - var grabbedTransform = grabbedObjects[i]; + var grabbedTransform = grabbedTransforms[i]; grabbedTransform.position = m_OriginalPositions[i]; grabbedTransform.rotation = m_OriginalRotations[i]; grabbedTransform.localScale = m_OriginalScales[i]; @@ -487,7 +487,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon // Check if the other hand is already grabbing for two-handed scale var otherData = grabbingNode == Node.LeftHand ? m_RightGrabData : m_LeftGrabData; - if (otherData != null && !otherData.grabbedObjects.Contains(directHoveredObject.transform)) + if (otherData != null && !otherData.grabbedTransforms.Contains(directHoveredObject.transform)) otherData = null; if (otherData != null) @@ -769,7 +769,7 @@ public void Resume(Node node) public Transform[] GetHeldObjects(Node node) { var grabData = GrabDataForNode(node); - return grabData == null ? null : grabData.grabbedObjects; + return grabData == null ? null : grabData.grabbedTransforms; } public void TransferHeldObjects(Transform rayOrigin, Transform destRayOrigin, Vector3 deltaOffset = default(Vector3)) @@ -800,7 +800,7 @@ public void DropHeldObjects(Node node) return; var grabData = GrabDataForNode(node); - var grabbedObjects = grabData.grabbedObjects; + var grabbedObjects = grabData.grabbedTransforms; var rayOrigin = grabData.rayOrigin; if (objectsDropped != null) From dd4cca821bd3e62fc75d3e6dfa5c7ca4f421bd0e Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 15 May 2019 20:51:23 -0700 Subject: [PATCH 37/75] Add smoothing to scaled rotation and position --- Tools/TransformTool/TransformTool.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 88735f5fb..21f977791 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -173,8 +173,9 @@ public void ScaleObjects(GrabData otherGrab) if (twoHandedManipulateMode == TwoHandedManipulateMode.RotateOnly) { var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i]; - if (grabbedObject.position != targetPosition) - grabbedObject.position = targetPosition; + var currentPosition = grabbedObject.position; + if (currentPosition != targetPosition) + grabbedObject.position = Vector3.Lerp(currentPosition, targetPosition, k_DirectLazyFollowTranslate); var targetScale = m_InitialScales[i]; if (grabbedObject.localScale != targetScale) @@ -183,8 +184,9 @@ public void ScaleObjects(GrabData otherGrab) else { var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; - if (grabbedObject.position != targetPosition) - grabbedObject.position = targetPosition; + var currentPosition = grabbedObject.position; + if (currentPosition != targetPosition) + grabbedObject.position = Vector3.Lerp(currentPosition, targetPosition, k_DirectLazyFollowTranslate); var targetScale = m_InitialScales[i] * scaleFactor; if (grabbedObject.localScale != targetScale) @@ -192,9 +194,9 @@ public void ScaleObjects(GrabData otherGrab) } if (twoHandedManipulateMode == TwoHandedManipulateMode.ScaleOnly) - grabbedObject.rotation = m_RotationOffsets[i]; + grabbedObject.rotation = Quaternion.Lerp(grabbedObject.rotation, m_RotationOffsets[i], k_DirectLazyFollowRotate); else - grabbedObject.rotation = rotationOffset * m_RotationOffsets[i]; + grabbedObject.rotation = Quaternion.Lerp(grabbedObject.rotation, rotationOffset * m_RotationOffsets[i], k_DirectLazyFollowRotate); } } } From 6b2534251c38a490f561684b957bed18c332f7f3 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 15 May 2019 23:42:54 -0700 Subject: [PATCH 38/75] Return the ListItem in UpdateVisibleItem for use in overrides --- Scripts/ListView/Core/ListViewController.cs | 4 +++- Scripts/ListView/Core/ListViewScroller.cs.meta | 4 ++-- .../PolyWorkspace/Scripts/PolyGridViewController.cs | 8 +++++--- .../ProjectWorkspace/Scripts/AssetGridViewController.cs | 8 +++++--- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Scripts/ListView/Core/ListViewController.cs b/Scripts/ListView/Core/ListViewController.cs index 6b988d125..08700d34f 100644 --- a/Scripts/ListView/Core/ListViewController.cs +++ b/Scripts/ListView/Core/ListViewController.cs @@ -118,7 +118,7 @@ protected virtual void RecycleItem(string template, TItem item) item.SetActive(false); } - protected virtual void UpdateVisibleItem(TData datum, int order, float offset, ref bool doneSettling) + protected virtual TItem UpdateVisibleItem(TData datum, int order, float offset, ref bool doneSettling) { TItem item; var index = datum.index; @@ -127,6 +127,8 @@ protected virtual void UpdateVisibleItem(TData datum, int order, float offset, r m_LastUpdatedItemItem = item; UpdateItem(item, order, offset, ref doneSettling); + + return item; } protected virtual void SetRowGrabbed(TIndex index, Transform rayOrigin, bool grabbed) diff --git a/Scripts/ListView/Core/ListViewScroller.cs.meta b/Scripts/ListView/Core/ListViewScroller.cs.meta index 69edcc903..a6ee888d2 100644 --- a/Scripts/ListView/Core/ListViewScroller.cs.meta +++ b/Scripts/ListView/Core/ListViewScroller.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 67c8fb479f2eb3a4ca7fb595ee1836cd -timeCreated: 1467138914 +guid: a6578b7c795e17243af7f851d5c98d6f +timeCreated: 1481229934 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs index 3d34f5efc..b7ea5995b 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs @@ -211,14 +211,16 @@ void OnRecycleCompleted(PolyGridItem gridItem) m_TemplateDictionary[gridItem.data.template].pool.Enqueue(gridItem); } - protected override void UpdateVisibleItem(PolyGridAsset data, int order, float offset, ref bool doneSettling) + protected override PolyGridItem UpdateVisibleItem(PolyGridAsset datum, int order, float offset, ref bool doneSettling) { PolyGridItem item; - if (!m_ListItems.TryGetValue(data.index, out item)) - GetNewItem(data, out item); + if (!m_ListItems.TryGetValue(datum.index, out item)) + GetNewItem(datum, out item); if (item) UpdateGridItem(item, order, (int)offset); + + return item; } public override void OnScrollEnded() diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs index 4bd228e31..566c1a02b 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs @@ -176,14 +176,16 @@ void OnRecycleComplete(AssetGridItem gridItem) m_TemplateDictionary[gridItem.data.template].pool.Enqueue(gridItem); } - protected override void UpdateVisibleItem(AssetData data, int order, float offset, ref bool doneSettling) + protected override AssetGridItem UpdateVisibleItem(AssetData datum, int order, float offset, ref bool doneSettling) { AssetGridItem item; - if (!m_ListItems.TryGetValue(data.index, out item)) - GetNewItem(data, out item); + if (!m_ListItems.TryGetValue(datum.index, out item)) + GetNewItem(datum, out item); if (item) UpdateGridItem(item, order, (int)offset); + + return item; } public override void OnScrollEnded() From 5fbcf13cea8b2faab37228a791ea83ba4550b932 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 16 May 2019 00:01:25 -0700 Subject: [PATCH 39/75] When returning scroll offset past list extents use list item height so that one list item is always visible --- Scripts/ListView/Core/ListViewControllerBase.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index 7ddd9d691..2afe7c018 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -137,11 +137,9 @@ protected virtual void ComputeConditions() m_ScrollReturn = float.MaxValue; - const float epsilon = 1e-6f; - // Snap back if list scrolled too far if (listHeight > 0 && -m_ScrollOffset >= listHeight) - m_ScrollReturn = -listHeight + epsilon; + m_ScrollReturn = -listHeight + itemSize.z; } protected abstract void UpdateItems(); From 669c71f24d9f69e8f51883903056140aa8a84384 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 16 May 2019 00:33:02 -0700 Subject: [PATCH 40/75] Snap back earlier, if the last item is even partially obscured --- Scripts/ListView/Core/ListViewControllerBase.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index 2afe7c018..fa5f3b1e7 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -137,9 +137,10 @@ protected virtual void ComputeConditions() m_ScrollReturn = float.MaxValue; + var itemHeight = itemSize.z; // Snap back if list scrolled too far - if (listHeight > 0 && -m_ScrollOffset >= listHeight) - m_ScrollReturn = -listHeight + itemSize.z; + if (listHeight > 0 && -m_ScrollOffset >= listHeight - itemHeight) + m_ScrollReturn = -listHeight + itemHeight; } protected abstract void UpdateItems(); From 6ac280adca678acadd2aea3b7f0563ed97f561cc Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 16 May 2019 00:46:42 -0700 Subject: [PATCH 41/75] Bring back epsilon offset to prevent continuous updates to m_ScrollReturn --- Scripts/ListView/Core/ListViewControllerBase.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index fa5f3b1e7..e6b80abe6 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -137,10 +137,11 @@ protected virtual void ComputeConditions() m_ScrollReturn = float.MaxValue; - var itemHeight = itemSize.z; // Snap back if list scrolled too far + const float epsilon = 1e-6f; + var itemHeight = itemSize.z; if (listHeight > 0 && -m_ScrollOffset >= listHeight - itemHeight) - m_ScrollReturn = -listHeight + itemHeight; + m_ScrollReturn = -listHeight + itemHeight + epsilon; } protected abstract void UpdateItems(); From 9aaf59a6a6d55675478383c6365fba777cb532e6 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 16 May 2019 01:04:03 -0700 Subject: [PATCH 42/75] Re-use listHeight in ComputeConditions --- Scripts/ListView/Core/ListViewControllerBase.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/ListView/Core/ListViewControllerBase.cs b/Scripts/ListView/Core/ListViewControllerBase.cs index e6b80abe6..fe426e01a 100644 --- a/Scripts/ListView/Core/ListViewControllerBase.cs +++ b/Scripts/ListView/Core/ListViewControllerBase.cs @@ -101,7 +101,8 @@ protected virtual void UpdateView() protected virtual void ComputeConditions() { - m_StartPosition = (m_Extents.z - m_ItemSize.z * 0.5f) * Vector3.forward; + var itemHeight = m_ItemSize.z; + m_StartPosition = (m_Extents.z - itemHeight * 0.5f) * Vector3.forward; if (m_Scrolling) { @@ -139,7 +140,6 @@ protected virtual void ComputeConditions() // Snap back if list scrolled too far const float epsilon = 1e-6f; - var itemHeight = itemSize.z; if (listHeight > 0 && -m_ScrollOffset >= listHeight - itemHeight) m_ScrollReturn = -listHeight + itemHeight + epsilon; } From 9c012a58b60629d14a160db3d911eefdb3dd84f9 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Fri, 17 May 2019 10:51:50 -0700 Subject: [PATCH 43/75] Update TransformInput asset with SuppressVertical action --- Tools/TransformTool/TransformInput.asset | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Tools/TransformTool/TransformInput.asset b/Tools/TransformTool/TransformInput.asset index 0cc04b0ab..190d4adb9 100644 --- a/Tools/TransformTool/TransformInput.asset +++ b/Tools/TransformTool/TransformInput.asset @@ -14,6 +14,7 @@ MonoBehaviour: m_Actions: - {fileID: 114000012349872818} - {fileID: 114000011926715790} + - {fileID: 114275549345629776} m_ControlSchemes: - m_Name: VRInputDevice m_DeviceSlots: @@ -42,6 +43,15 @@ MonoBehaviour: sensitivity: 1000 snap: 1 primaryIsButtonAxis: 0 + - sources: + - controlIndex: 1 + deviceKey: 1 + deadZone: 0.3 + buttonAxisSources: [] + gravity: 1000 + sensitivity: 1000 + snap: 1 + primaryIsButtonAxis: 0 m_MapTypeName: TransformInput, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_CustomNamespace: @@ -85,3 +95,24 @@ MonoBehaviour: Culture=neutral, PublicKeyToken=null name: Select defaultValue: 0 +--- !u!114 &114275549345629776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5eba7b4b2e3ea134991ccbff5f47c2c8, type: 3} + m_Name: SuppressVertical + m_EditorClassIdentifier: + m_ActionMap: {fileID: 11400000} + m_ActionIndex: 2 + m_ControlData: + componentControlIndices: + controlType: + m_TypeName: UnityEngine.InputNew.AxisInputControl, input-prototype, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + name: SuppressVertical + defaultValue: 0 From 900d40a125571726f27f54408420572abbf8da78 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Fri, 17 May 2019 20:15:01 -0700 Subject: [PATCH 44/75] Fix ScaleOnly mode; Make m_GrabObjects readonly --- Tools/TransformTool/TransformTool.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 21f977791..712c4370e 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -42,10 +42,11 @@ class GrabData Vector3 m_StartMidPoint; Quaternion m_UpRotationOffset; Quaternion m_ForwardRotationOffset; - Vector3 m_GrabOffset; float m_StartDistance; bool m_UseUp; + readonly Vector3 m_GrabOffset; + public Transform[] grabbedTransforms { get; private set; } public TransformInput input { get; private set; } public Transform rayOrigin { get; private set; } @@ -183,7 +184,11 @@ public void ScaleObjects(GrabData otherGrab) } else { - var targetPosition = midPoint + rotationOffset * m_PositionOffsets[i] * scaleFactor; + var offset = m_PositionOffsets[i] * scaleFactor; + if (twoHandedManipulateMode != TwoHandedManipulateMode.ScaleOnly) + offset = rotationOffset * offset; + + var targetPosition = midPoint + offset; var currentPosition = grabbedObject.position; if (currentPosition != targetPosition) grabbedObject.position = Vector3.Lerp(currentPosition, targetPosition, k_DirectLazyFollowTranslate); @@ -503,6 +508,8 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (transformInput.select.wasJustPressed) { + Debug.Log("grab"); + this.ClearSnappingState(directRayOrigin); consumeControl(transformInput.select); From 2ebce497de894cb0affbcd5638fe25dfd62aca86 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Sun, 19 May 2019 18:04:12 -0700 Subject: [PATCH 45/75] Change options for scale modes to default to scale only, then toggle rotate and scale --- Tools/TransformTool/TransformTool.cs | 57 ++++++---------------------- 1 file changed, 11 insertions(+), 46 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 712c4370e..19429ec9e 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -25,9 +25,9 @@ sealed class TransformTool : MonoBehaviour, ITool, ITransformer, ISelectionChang { enum TwoHandedManipulateMode { + ScaleOnly, RotateAndScale, - RotateOnly, - ScaleOnly + RotateOnly // Disabled until visual improvement is implemented } class GrabData @@ -508,8 +508,6 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon if (transformInput.select.wasJustPressed) { - Debug.Log("grab"); - this.ClearSnappingState(directRayOrigin); consumeControl(transformInput.select); @@ -613,7 +611,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon var rightCancel = rightInput.cancel; var scaleGrabData = m_ScaleFirstNode == Node.LeftHand ? m_LeftGrabData : m_RightGrabData; - if (leftCancel.wasJustReleased) + if (leftCancel.wasJustPressed) { if (scaleGrabData.twoHandedManipulateMode == TwoHandedManipulateMode.ScaleOnly) scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateAndScale; @@ -623,29 +621,11 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon ShowScaleOptionsFeedback(scaleGrabData.twoHandedManipulateMode); } - if (rightCancel.wasJustReleased) - { - if (scaleGrabData.twoHandedManipulateMode == TwoHandedManipulateMode.RotateOnly) - scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateAndScale; - else - scaleGrabData.twoHandedManipulateMode = TwoHandedManipulateMode.RotateOnly; - - ShowScaleOptionsFeedback(scaleGrabData.twoHandedManipulateMode); - } - - var leftCancelHeld = leftCancel.isHeld; - var rightCancelHeld = rightCancel.isHeld; - if (m_ScaleCancelFeedback.Count == 0 && (leftCancelHeld || rightCancelHeld)) - ShowScaleCancelFeedback(); - else if (!leftCancelHeld && !rightCancelHeld) - HideScaleCancelFeedback(); - - if (leftCancelHeld && rightCancelHeld) // Cancel scaling + if (rightCancel.wasJustPressed) { HideScaleOptionFeedback(); - HideScaleCancelFeedback(); m_Scaling = false; - if (m_ScaleFirstNode == Node.LeftHand) + if (m_ScaleFirstNode == Node.LeftHand) m_LeftGrabData.Cancel(); else m_RightGrabData.Cancel(); @@ -1024,32 +1004,22 @@ void ShowScaleFeedback(Node node) ShowFeedback(m_ScaleFeedback, "Select", "Scale", node); } - void ShowScaleOptionsFeedback(TwoHandedManipulateMode mode = TwoHandedManipulateMode.RotateAndScale) + void ShowScaleOptionsFeedback(TwoHandedManipulateMode mode = TwoHandedManipulateMode.ScaleOnly) { HideScaleOptionFeedback(); switch (mode) { - case TwoHandedManipulateMode.RotateAndScale: - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Scale Only", Node.LeftHand); - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate Only", Node.RightHand); - return; case TwoHandedManipulateMode.ScaleOnly: - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate and Scale", Node.LeftHand); - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate Only", Node.RightHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Press to Rotate and Scale", Node.LeftHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Press to Cancel", Node.RightHand); return; - case TwoHandedManipulateMode.RotateOnly: - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Scale Only", Node.LeftHand); - ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Rotate and Scale", Node.RightHand); + case TwoHandedManipulateMode.RotateAndScale: + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Press to Scale Only", Node.LeftHand); + ShowFeedback(m_ScaleOptionFeedback, "Cancel", "Press to Cancel", Node.RightHand); return; } } - void ShowScaleCancelFeedback() - { - ShowFeedback(m_ScaleCancelFeedback, "Cancel", "Cancel", Node.LeftHand); - ShowFeedback(m_ScaleCancelFeedback, "Cancel", "Cancel", Node.RightHand); - } - void HideFeedback(List requests) { foreach (var request in requests) @@ -1073,10 +1043,5 @@ void HideScaleOptionFeedback() { HideFeedback(m_ScaleOptionFeedback); } - - void HideScaleCancelFeedback() - { - HideFeedback(m_ScaleCancelFeedback); - } } } From 8b1d3a3bd50ba727b27722c3dc93fa622a581301 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 20 May 2019 01:11:50 -0700 Subject: [PATCH 46/75] Apply remaining improvements from siggraph-misc branch --- Prefabs/SmoothCamera.prefab | 2 +- Scripts/Modules/HighlightModule/HighlightModule.cs | 12 ++++++++++-- Scripts/Modules/SnappingModule/SnappingModule.cs | 7 ++++++- Workspaces/MiniWorldWorkspace/MiniWorld.prefab | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Prefabs/SmoothCamera.prefab b/Prefabs/SmoothCamera.prefab index 3583905bf..c74946774 100644 --- a/Prefabs/SmoothCamera.prefab +++ b/Prefabs/SmoothCamera.prefab @@ -91,5 +91,5 @@ MonoBehaviour: m_VRCamera: {fileID: 20000011108369806} m_TargetDisplay: 0 m_FieldOfView: 40 - m_PullBackDistance: 0.8 + m_PullBackDistance: 0.6 m_SmoothingMultiplier: 3 diff --git a/Scripts/Modules/HighlightModule/HighlightModule.cs b/Scripts/Modules/HighlightModule/HighlightModule.cs index 76189bb69..bf6da0025 100644 --- a/Scripts/Modules/HighlightModule/HighlightModule.cs +++ b/Scripts/Modules/HighlightModule/HighlightModule.cs @@ -101,6 +101,14 @@ void LateUpdate() } } + foreach (var obj in Selection.gameObjects) + { + if (!obj) + continue; + + HighlightObject(obj, m_RayHighlightMaterial); + } + foreach (var kvp in k_HighlightsToRemove) { var highlights = m_Highlights[kvp.Key]; @@ -223,7 +231,8 @@ public IEnumerator SetBlinkingHighlight(GameObject go, bool active, Transform ra { SetHighlight(go, active, rayOrigin, null, true); m_Blinking.Clear(); - // using StopAll assumes that we're only allowing one simultaneous blinking highlight + + // Using StopAll assumes that we're only allowing one simultaneous blinking highlight StopAllCoroutines(); return null; } @@ -256,6 +265,5 @@ IEnumerator BlinkHighlight(GameObject go, bool active, Transform rayOrigin, Mate yield return null; } } - } } diff --git a/Scripts/Modules/SnappingModule/SnappingModule.cs b/Scripts/Modules/SnappingModule/SnappingModule.cs index e88d41cb3..413138bea 100644 --- a/Scripts/Modules/SnappingModule/SnappingModule.cs +++ b/Scripts/Modules/SnappingModule/SnappingModule.cs @@ -34,7 +34,7 @@ sealed class SnappingModule : MonoBehaviour, ISystemModule, IUsesViewerScale, IS const float k_MaxRayDot = -0.5f; const float k_RayExtra = 0.02f; - const float k_WidgetScale = 0.03f; + const float k_WidgetScale = 0.02f; const string k_MaterialColorLeftProperty = "_ColorLeft"; const string k_MaterialColorRightProperty = "_ColorRight"; @@ -102,6 +102,7 @@ public SnappingState(Transform[] transforms, Vector3 position, Quaternion rotati transform.transform.RotateAround(position, axis, angle); } } + identityBounds.center -= position; this.identityBounds = identityBounds; } @@ -728,6 +729,7 @@ static bool TryBreakSnap(ref Vector3 position, ref Quaternion rotation, Vector3 return true; } } + return false; } @@ -844,6 +846,7 @@ SnappingState GetSnappingState(Transform rayOrigin, Transform[] transforms, Vect state = new SnappingState(transforms, position, rotation); states[firstObject] = state; } + return state; } @@ -856,6 +859,7 @@ public void ClearSnappingState(Transform rayOrigin) { kvp.Value.OnDestroy(); } + m_SnappingStates.Remove(rayOrigin); } } @@ -869,6 +873,7 @@ void Reset() kvp.Value.OnDestroy(); } } + m_SnappingStates.Clear(); } diff --git a/Workspaces/MiniWorldWorkspace/MiniWorld.prefab b/Workspaces/MiniWorldWorkspace/MiniWorld.prefab index 91dffdbdb..c60660563 100644 --- a/Workspaces/MiniWorldWorkspace/MiniWorld.prefab +++ b/Workspaces/MiniWorldWorkspace/MiniWorld.prefab @@ -198,7 +198,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_RendererCullingMask: serializedVersion: 2 - m_Bits: 4294966751 + m_Bits: 23 m_ReferenceTransform: {fileID: 0} --- !u!114 &114000012428583066 MonoBehaviour: From 47e57b42c6da83d78a7542a8ba412d774532f594 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 27 May 2019 04:03:30 -0700 Subject: [PATCH 47/75] Fix build issues --- Scripts/Data/DirectSelectionData.cs | 4 +--- Tools/LocomotionTool/Shaders/Ring.shader | 11 +---------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/Scripts/Data/DirectSelectionData.cs b/Scripts/Data/DirectSelectionData.cs index 1138b4b2e..b293bf1e5 100644 --- a/Scripts/Data/DirectSelectionData.cs +++ b/Scripts/Data/DirectSelectionData.cs @@ -1,5 +1,4 @@ -#if UNITY_EDITOR -using UnityEngine; +using UnityEngine; namespace UnityEditor.Experimental.EditorVR { @@ -19,4 +18,3 @@ public struct DirectSelectionData public Vector3 contactPoint { get; set; } } } -#endif diff --git a/Tools/LocomotionTool/Shaders/Ring.shader b/Tools/LocomotionTool/Shaders/Ring.shader index ef5fdca73..3372331de 100644 --- a/Tools/LocomotionTool/Shaders/Ring.shader +++ b/Tools/LocomotionTool/Shaders/Ring.shader @@ -60,9 +60,6 @@ Shader "Ring" #pragma multi_compile_shadowcaster #pragma multi_compile UNITY_PASS_SHADOWCASTER #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) - #define CAN_SKIP_VPOS - #endif sampler3D _DitherMaskLOD; struct v2f { @@ -86,11 +83,7 @@ Shader "Ring" TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) return o; } - fixed4 frag( v2f IN - #if !defined( CAN_SKIP_VPOS ) - , UNITY_VPOS_TYPE vpos : VPOS - #endif - ) : SV_Target + fixed4 frag( v2f IN ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); Input surfIN; @@ -101,9 +94,7 @@ Shader "Ring" SurfaceOutput o; UNITY_INITIALIZE_OUTPUT( SurfaceOutput, o ) surf( surfIN, o ); - #if defined( CAN_SKIP_VPOS ) float2 vpos = IN.pos; - #endif half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; clip( alphaRef - 0.01 ); SHADOW_CASTER_FRAGMENT( IN ) From b3178ac2d9e354c925778a20c646b4cab8d5b2ed Mon Sep 17 00:00:00 2001 From: Dylan Urquidi Date: Fri, 31 May 2019 15:16:05 -0700 Subject: [PATCH 48/75] Remove abstract class declaration from ListViewScroller; change requested by Schoen during PR review --- Scripts/ListView/Core/ListViewScroller.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/ListView/Core/ListViewScroller.cs b/Scripts/ListView/Core/ListViewScroller.cs index aaf7a1617..cc9c3a12c 100644 --- a/Scripts/ListView/Core/ListViewScroller.cs +++ b/Scripts/ListView/Core/ListViewScroller.cs @@ -3,7 +3,7 @@ namespace Unity.Labs.ListView { - public abstract class ListViewScroller : MonoBehaviour, IScrollHandler + public class ListViewScroller : MonoBehaviour, IScrollHandler { [SerializeField] protected ListViewControllerBase m_ListView; From cc19333b1966d3081706c26d75d86b84dc9febfb Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Wed, 5 Jun 2019 09:50:45 -0700 Subject: [PATCH 49/75] Ensure that two handed manipulation feedback is always consistent with manipulation mode --- Tools/TransformTool/TransformTool.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 19429ec9e..863eb35f1 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -529,7 +529,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon { m_ScaleFirstNode = grabbingNode == Node.LeftHand ? Node.RightHand : Node.LeftHand; otherData.StartScaling(grabData); - ShowScaleOptionsFeedback(); + ShowScaleOptionsFeedback(otherData.twoHandedManipulateMode); m_Scaling = true; } @@ -1004,7 +1004,7 @@ void ShowScaleFeedback(Node node) ShowFeedback(m_ScaleFeedback, "Select", "Scale", node); } - void ShowScaleOptionsFeedback(TwoHandedManipulateMode mode = TwoHandedManipulateMode.ScaleOnly) + void ShowScaleOptionsFeedback(TwoHandedManipulateMode mode) { HideScaleOptionFeedback(); switch (mode) From 2e20e4eff8843812fda9c5f7949d750f5f5fde0a Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 24 Jun 2019 03:18:36 +0200 Subject: [PATCH 50/75] Fix inspector active toggle by disabling unused name field background button; The background button was sometimes getting clicks instead of the toggle --- .../InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab b/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab index 42ef645e1..cbc6f3e74 100644 --- a/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab +++ b/Workspaces/InspectorWorkspace/Prefabs/InspectorHeaderItem.prefab @@ -2583,7 +2583,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &224000012129045274 RectTransform: m_ObjectHideFlags: 0 From 668f8657ff5ba5748c3a1d0ca8742d8cdb75c457 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 24 Jun 2019 03:36:07 +0200 Subject: [PATCH 51/75] Properly ignore gameobjecs in HierarchyModule; We were currently including the second-to-last item, in this case the EditingContextManager --- Scripts/Modules/HierarchyModule.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Scripts/Modules/HierarchyModule.cs b/Scripts/Modules/HierarchyModule.cs index a8f3e852d..e3925f69f 100644 --- a/Scripts/Modules/HierarchyModule.cs +++ b/Scripts/Modules/HierarchyModule.cs @@ -123,6 +123,8 @@ void UpdateHierarchyData() // If EVR is the last object, early out if (instanceID == 0) break; + + continue; } if (currentDepth <= lastDepth) From a6bac488bec9e4a93caec69cec2b61db695f8e60 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Tue, 2 Jul 2019 10:18:00 -0700 Subject: [PATCH 52/75] Graft minor PR changes from @dunity --- Scripts/Data/AssetData.cs | 3 ++- Scripts/Data/HierarchyData.cs | 3 ++- Scripts/Data/PropertyData.cs | 2 +- Scripts/ListView/Core/ListViewItemTemplate.cs | 1 + Scripts/ListView/EditorXRNestedListViewItem.cs | 4 ++-- Workspaces/Common/Scripts/NestedDraggableListItem.cs | 1 - .../Scripts/ListItems/InspectorDropDownItem.cs | 1 - 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index 399a4bd2f..aa1a60c47 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -9,6 +9,7 @@ sealed class AssetData : IListViewItemData public const string PrefabTypeString = "Prefab"; public const string ModelTypeString = "Model"; static readonly string k_TemplateName = "AssetGridItem"; + static readonly string k_GameObjetTypeString = "GameObject"; public string template { get {return k_TemplateName; } } @@ -41,7 +42,7 @@ public AssetData(string name, string guid, string type) void UpdateType() { - if (type == "GameObject") + if (type == k_GameObjetTypeString) { #if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR diff --git a/Scripts/Data/HierarchyData.cs b/Scripts/Data/HierarchyData.cs index 030ce535e..7d1b7c4d5 100644 --- a/Scripts/Data/HierarchyData.cs +++ b/Scripts/Data/HierarchyData.cs @@ -27,9 +27,10 @@ namespace UnityEditor.Experimental.EditorVR { sealed class HierarchyData : NestedListViewItemData { - readonly int m_Index; const string k_TemplateName = "HierarchyListItem"; + readonly int m_Index; + public string name { get; set; } public HashSet types { get; set; } diff --git a/Scripts/Data/PropertyData.cs b/Scripts/Data/PropertyData.cs index d4e248b6a..a4a2e3a64 100644 --- a/Scripts/Data/PropertyData.cs +++ b/Scripts/Data/PropertyData.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -#if ! UNITY_EDITOR +#if !UNITY_EDITOR class SerializedProperty { } diff --git a/Scripts/ListView/Core/ListViewItemTemplate.cs b/Scripts/ListView/Core/ListViewItemTemplate.cs index bb2716f5e..937c171a2 100644 --- a/Scripts/ListView/Core/ListViewItemTemplate.cs +++ b/Scripts/ListView/Core/ListViewItemTemplate.cs @@ -12,6 +12,7 @@ public ListViewItemTemplate(GameObject prefab) { if (prefab == null) Debug.LogError("Template prefab cannot be null"); + this.prefab = prefab; } } diff --git a/Scripts/ListView/EditorXRNestedListViewItem.cs b/Scripts/ListView/EditorXRNestedListViewItem.cs index a4cfd0fd3..98542d0af 100644 --- a/Scripts/ListView/EditorXRNestedListViewItem.cs +++ b/Scripts/ListView/EditorXRNestedListViewItem.cs @@ -1,5 +1,5 @@ -using Unity.Labs.ListView; -using System; +using System; +using Unity.Labs.ListView; namespace UnityEditor.Experimental.EditorVR { diff --git a/Workspaces/Common/Scripts/NestedDraggableListItem.cs b/Workspaces/Common/Scripts/NestedDraggableListItem.cs index 20b30077a..423479288 100644 --- a/Workspaces/Common/Scripts/NestedDraggableListItem.cs +++ b/Workspaces/Common/Scripts/NestedDraggableListItem.cs @@ -1,5 +1,4 @@ using System; -using UnityEngine; using Unity.Labs.ListView; namespace UnityEditor.Experimental.EditorVR.Workspaces diff --git a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs index b5cbaa7d8..57e346e06 100644 --- a/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs +++ b/Workspaces/InspectorWorkspace/Scripts/ListItems/InspectorDropDownItem.cs @@ -23,7 +23,6 @@ sealed class InspectorDropDownItem : InspectorPropertyItem public override void Setup(InspectorData data, bool firstTime) { base.Setup(data, firstTime); - UpdateDropdown(); } From 3b284b032a9bfcae86c66a4a3b01590e9278db7d Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Tue, 2 Jul 2019 11:24:49 -0700 Subject: [PATCH 53/75] Fix warning in TransformTool.cs --- Tools/TransformTool/TransformTool.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Tools/TransformTool/TransformTool.cs b/Tools/TransformTool/TransformTool.cs index 863eb35f1..8bb356cb2 100644 --- a/Tools/TransformTool/TransformTool.cs +++ b/Tools/TransformTool/TransformTool.cs @@ -341,7 +341,6 @@ public void ExecuteAction() readonly List m_GrabFeedback = new List(); readonly List m_ScaleFeedback = new List(); readonly List m_ScaleOptionFeedback = new List(); - readonly List m_ScaleCancelFeedback = new List(); readonly TransformAction m_PivotModeToggleAction = new TransformAction(); readonly TransformAction m_PivotRotationToggleAction = new TransformAction(); From 983d7e3517f61458627347c9385925f650e8e6af Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sun, 29 Sep 2019 20:11:17 -0700 Subject: [PATCH 54/75] Re-serialize assets after opening in 2018.4.9f1 (LTS) --- Actions/Icons/CopyIcon.png.meta | 65 +++++++++++++----- Actions/Icons/CutIcon.png.meta | 65 +++++++++++++----- Actions/Icons/DeleteIcon.png.meta | 65 +++++++++++++----- Actions/Icons/DuplicateIcon.png.meta | 65 +++++++++++++----- Actions/Icons/EmptyActionIcon.png.meta | 65 +++++++++++++----- Actions/Icons/MissingIcon.png.meta | 65 +++++++++++++----- Actions/Icons/OpenSceneIcon.png.meta | 65 +++++++++++++----- Actions/Icons/PasteIcon.png.meta | 65 +++++++++++++----- Actions/Icons/PlayIcon.png.meta | 65 +++++++++++++----- Actions/Icons/RedoIcon.png.meta | 65 +++++++++++++----- Actions/Icons/SaveSceneIcon.png.meta | 65 +++++++++++++----- Actions/Icons/SelectParentIcon.png.meta | 65 +++++++++++++----- Actions/Icons/SwitchModesIcon.png.meta | 65 +++++++++++++----- Actions/Icons/UndoIcon.png.meta | 65 +++++++++++++----- Fonts/Roboto/Roboto-Light SDF.lfs.asset | 4 +- Fonts/Roboto/Roboto-Medium SDF.lfs.asset | 4 +- Fonts/Roboto/Roboto-Regular SDF.lfs.asset | 4 +- .../Textures/RoundedCornerSlice.png.meta | 66 ++++++++++++++----- .../Textures/RoundedInnerBorderSlice.png.meta | 66 ++++++++++++++----- .../Textures/RoundedOuterBorderSlice.png.meta | 66 ++++++++++++++----- .../RoundedOuterBorderSliceWide.png.meta | 66 ++++++++++++++----- .../Textures/VerticalGradient.png.meta | 65 +++++++++++++----- .../Textures/SpatialUIHomeBackground.png.meta | 26 ++++++-- ...SpatialUIMenuBackgroundHorizontal.png.meta | 26 ++++++-- Menus/ToolsMenu/Textures/HintArrow.png.meta | 44 ++++++++++--- Menus/ToolsMenu/Textures/MenuIcon.png.meta | 44 ++++++++++--- .../Textures/SecondaryHintArrow.png.meta | 44 ++++++++++--- Prefabs/Textures/FloorBorder.png.meta | 4 +- .../Textures/TooltipEmptyIcon.png.meta | 28 ++++++-- .../Textures/BrushSizeCircle.png.meta | 55 ++++++++++++---- .../Textures/BrushSizeTriangle.png.meta | 55 ++++++++++++---- .../CreatePrimitiveToolIcon.png.meta | 65 +++++++++++++----- .../Textures/ViewerScaleBorder.png.meta | 54 +++++++++++---- .../Textures/WorldScaleIcons/atom.png.meta | 54 +++++++++++---- .../WorldScaleIcons/building.png.meta | 54 +++++++++++---- .../Textures/WorldScaleIcons/burrito.png.meta | 54 +++++++++++---- .../Textures/WorldScaleIcons/moon.png.meta | 54 +++++++++++---- .../Textures/WorldScaleIcons/person.png.meta | 54 +++++++++++---- .../WorldScaleIcons/sea monster.png.meta | 54 +++++++++++---- .../SelectionTool/SelectionToolIcon.png.meta | 65 +++++++++++++----- .../Icons/OriginCenterIcon.png.meta | 65 +++++++++++++----- .../Icons/OriginPivotIcon.png.meta | 65 +++++++++++++----- .../Icons/RotationGlobalIcon.png.meta | 65 +++++++++++++----- .../Icons/RotationLocalIcon.png.meta | 65 +++++++++++++----- .../Icons/ScaleManipulatorIcon.png.meta | 65 +++++++++++++----- .../Icons/StandardManipulatorIcon.png.meta | 65 +++++++++++++----- Workspaces/Base/Textures/Lock.png.meta | 63 ++++++++++++++---- Workspaces/Base/Textures/Reset.png.meta | 63 ++++++++++++++---- Workspaces/Base/Textures/Unlock.png.meta | 63 ++++++++++++++---- Workspaces/Base/Textures/close.png.meta | 63 ++++++++++++++---- .../Common/Textures/ExpandArrow.png.meta | 55 ++++++++++++---- Workspaces/Common/Textures/LeftArrow.png.meta | 65 +++++++++++++----- Workspaces/Common/Textures/MinusIcon.png.meta | 65 +++++++++++++----- Workspaces/Common/Textures/PlusIcon.png.meta | 65 +++++++++++++----- .../Textures/ResizeIndicatorIcon.png.meta | 65 +++++++++++++----- .../Common/Textures/RightArrow.png.meta | 65 +++++++++++++----- Workspaces/Common/Textures/eye.png.meta | 65 +++++++++++++----- .../InspectorWorkspace/Textures/Gear.png.meta | 55 ++++++++++++---- .../Textures/PlayerLocation.png.meta | 63 ++++++++++++++---- .../Textures/ResetChessboardIcon.png.meta | 63 ++++++++++++++---- 60 files changed, 2582 insertions(+), 771 deletions(-) diff --git a/Actions/Icons/CopyIcon.png.meta b/Actions/Icons/CopyIcon.png.meta index ebaf2e404..cec244223 100644 --- a/Actions/Icons/CopyIcon.png.meta +++ b/Actions/Icons/CopyIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: d1e6bd881e83b1d4385413b2c061e73d -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 45647fc2dad3a1544900ed5814748e9a + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/CutIcon.png.meta b/Actions/Icons/CutIcon.png.meta index 35e9c5ff9..68a1c2952 100644 --- a/Actions/Icons/CutIcon.png.meta +++ b/Actions/Icons/CutIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 8974004f9bc947a438449e7ccd22628d -timeCreated: 1472714032 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 64d264726cf4b064faa2d1c8af6da94a + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/DeleteIcon.png.meta b/Actions/Icons/DeleteIcon.png.meta index f9f4f4f8e..b26a72004 100644 --- a/Actions/Icons/DeleteIcon.png.meta +++ b/Actions/Icons/DeleteIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: f89add399f2f38e4d837f6fb7cb66b0e -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: dc1fe3527e5c95b4f80d051a46a57b3a + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/DuplicateIcon.png.meta b/Actions/Icons/DuplicateIcon.png.meta index ab131e23b..69dcce61c 100644 --- a/Actions/Icons/DuplicateIcon.png.meta +++ b/Actions/Icons/DuplicateIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 9d5301bda303a4b4bb1fff77569cd5bc -timeCreated: 1472714032 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 2115c85c94096a84eaa367bc8fef03b3 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/EmptyActionIcon.png.meta b/Actions/Icons/EmptyActionIcon.png.meta index a25bb944b..95bd68fcb 100644 --- a/Actions/Icons/EmptyActionIcon.png.meta +++ b/Actions/Icons/EmptyActionIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: eb2d5598a2698b54b967e5594382371c -timeCreated: 1471763512 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: ea8cf635df2835e4f9ee05add553f51e + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/MissingIcon.png.meta b/Actions/Icons/MissingIcon.png.meta index fc24f8ad3..2df9a8662 100644 --- a/Actions/Icons/MissingIcon.png.meta +++ b/Actions/Icons/MissingIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 15545907e08dab74692cb3d226382ced -timeCreated: 1473040671 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 981522cd21729c74483bedd5247b99da + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/OpenSceneIcon.png.meta b/Actions/Icons/OpenSceneIcon.png.meta index 874e7e2fe..d629c2f86 100644 --- a/Actions/Icons/OpenSceneIcon.png.meta +++ b/Actions/Icons/OpenSceneIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 70e8ccf2516db6d4b86c86929eaa6c9f -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: ad65d1c800fdb7f4c8d1808cc1f19fc1 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/PasteIcon.png.meta b/Actions/Icons/PasteIcon.png.meta index 06fa9dde4..fa5e1bb98 100644 --- a/Actions/Icons/PasteIcon.png.meta +++ b/Actions/Icons/PasteIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: ca717d87b1d1a9d44b63d0d2cc2a97e4 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 0575c2d230d108840808792bcadec1c9 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/PlayIcon.png.meta b/Actions/Icons/PlayIcon.png.meta index 0ad4c20a5..c690b6ae5 100644 --- a/Actions/Icons/PlayIcon.png.meta +++ b/Actions/Icons/PlayIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: fc47de3bcfede8d49b869829e6ff0c0a -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 57d330356b3ee7748ab915d85a6aa6a2 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/RedoIcon.png.meta b/Actions/Icons/RedoIcon.png.meta index 24f8866ec..4e164177c 100644 --- a/Actions/Icons/RedoIcon.png.meta +++ b/Actions/Icons/RedoIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 6c24010c054434e468a95292a7af0f67 -timeCreated: 1472714032 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 53a47787d0c4879499432638bfd13937 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/SaveSceneIcon.png.meta b/Actions/Icons/SaveSceneIcon.png.meta index 0a1b96643..1002e0d3e 100644 --- a/Actions/Icons/SaveSceneIcon.png.meta +++ b/Actions/Icons/SaveSceneIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 7e66142e31c652c418c30dea25e58e3d -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: b71359908cee24c43b8771b956675e55 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/SelectParentIcon.png.meta b/Actions/Icons/SelectParentIcon.png.meta index eca01a2ef..26896eedd 100644 --- a/Actions/Icons/SelectParentIcon.png.meta +++ b/Actions/Icons/SelectParentIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 1071888d9b2f4004f8d035e0c2201b59 -timeCreated: 1473402166 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 37bea85ce0be69848bebf24f95556443 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/SwitchModesIcon.png.meta b/Actions/Icons/SwitchModesIcon.png.meta index 3acb0b597..994804504 100644 --- a/Actions/Icons/SwitchModesIcon.png.meta +++ b/Actions/Icons/SwitchModesIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: e7625340bb299e7448b46c8292c44603 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 765cf59a6332dfc4dbd06c1613d71e4e + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Actions/Icons/UndoIcon.png.meta b/Actions/Icons/UndoIcon.png.meta index 5c44697cd..2a2aca4a5 100644 --- a/Actions/Icons/UndoIcon.png.meta +++ b/Actions/Icons/UndoIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: f7acf93d805e2dd42b4f32bed5d45ce8 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 5090850f2375236488097dbdc1032a38 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Fonts/Roboto/Roboto-Light SDF.lfs.asset b/Fonts/Roboto/Roboto-Light SDF.lfs.asset index 2def3a0b8..f7d2071a8 100644 --- a/Fonts/Roboto/Roboto-Light SDF.lfs.asset +++ b/Fonts/Roboto/Roboto-Light SDF.lfs.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd8fe8dc13f420d67dcab2b168b56c20025311a50af6a51bfb8f73056dde01bc -size 544362 +oid sha256:7cdf738aaf53350bd50368761df36ff23ba30db3542b26afa51e81f13c64e7fd +size 582374 diff --git a/Fonts/Roboto/Roboto-Medium SDF.lfs.asset b/Fonts/Roboto/Roboto-Medium SDF.lfs.asset index 4ec777890..cfe10f8ba 100644 --- a/Fonts/Roboto/Roboto-Medium SDF.lfs.asset +++ b/Fonts/Roboto/Roboto-Medium SDF.lfs.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1fc2ae52d9a81a4bba95a9cef17ee349b3cefa89cd154c39a06eab26dacdfe0 -size 543861 +oid sha256:d2dbabea12f8578b231f1430a4c21e256ba3319d0ac4e095d7fae6f8cfb1c5c7 +size 582152 diff --git a/Fonts/Roboto/Roboto-Regular SDF.lfs.asset b/Fonts/Roboto/Roboto-Regular SDF.lfs.asset index d4b6ebfe7..c3bfffd86 100644 --- a/Fonts/Roboto/Roboto-Regular SDF.lfs.asset +++ b/Fonts/Roboto/Roboto-Regular SDF.lfs.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92f222080d25ae88515728790c2a3fef4ac38eeabac08a302265e72e6ddf3d3f -size 543939 +oid sha256:b51bb54c264cbb72313290ff7ca828e192142730e1b12fe4f89e5adfe8a92926 +size 582299 diff --git a/Menus/MainMenu/Textures/RoundedCornerSlice.png.meta b/Menus/MainMenu/Textures/RoundedCornerSlice.png.meta index 8c6577db5..8705fd326 100644 --- a/Menus/MainMenu/Textures/RoundedCornerSlice.png.meta +++ b/Menus/MainMenu/Textures/RoundedCornerSlice.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 55bd577e72ea1804192dfd26d2c741e4 -timeCreated: 1469757323 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,44 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 30, y: 30, z: 30, w: 30} spritePixelsToUnits: 300 + spriteBorder: {x: 30, y: 30, z: 30, w: 30} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 1024 + resizeAlgorithm: 0 textureFormat: 5 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 0930ed562a1b1eb419d733c603a4a24e + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/MainMenu/Textures/RoundedInnerBorderSlice.png.meta b/Menus/MainMenu/Textures/RoundedInnerBorderSlice.png.meta index b6960df83..3e29b5c54 100644 --- a/Menus/MainMenu/Textures/RoundedInnerBorderSlice.png.meta +++ b/Menus/MainMenu/Textures/RoundedInnerBorderSlice.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 1718bd9558bdc6e4a8b3479eb61f8297 -timeCreated: 1469868512 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,44 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 80, y: 80, z: 80, w: 80} spritePixelsToUnits: 500 + spriteBorder: {x: 80, y: 80, z: 80, w: 80} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: 5 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 9aedd5cdabbc51a4695e0a7290751b06 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/MainMenu/Textures/RoundedOuterBorderSlice.png.meta b/Menus/MainMenu/Textures/RoundedOuterBorderSlice.png.meta index 1e7eb2507..1f7651d51 100644 --- a/Menus/MainMenu/Textures/RoundedOuterBorderSlice.png.meta +++ b/Menus/MainMenu/Textures/RoundedOuterBorderSlice.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 4ad2aa0f4b17be447ac4e4b8a7cdf896 -timeCreated: 1469823797 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,44 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 70, y: 70, z: 70, w: 70} spritePixelsToUnits: 500 + spriteBorder: {x: 70, y: 70, z: 70, w: 70} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 1024 + resizeAlgorithm: 0 textureFormat: 5 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 9297328cce5b0484f82be601d13551b5 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/MainMenu/Textures/RoundedOuterBorderSliceWide.png.meta b/Menus/MainMenu/Textures/RoundedOuterBorderSliceWide.png.meta index d4f96087c..58ba957fb 100644 --- a/Menus/MainMenu/Textures/RoundedOuterBorderSliceWide.png.meta +++ b/Menus/MainMenu/Textures/RoundedOuterBorderSliceWide.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 0933f0576de89a54fa87f8c1c5338958 -timeCreated: 1469833065 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,44 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 80, y: 80, z: 80, w: 80} spritePixelsToUnits: 500 + spriteBorder: {x: 80, y: 80, z: 80, w: 80} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: 5 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 7c881092f62fcf1458f4bed9681541b3 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/MainMenu/Textures/VerticalGradient.png.meta b/Menus/MainMenu/Textures/VerticalGradient.png.meta index 2084d67d5..03ee8a6e3 100644 --- a/Menus/MainMenu/Textures/VerticalGradient.png.meta +++ b/Menus/MainMenu/Textures/VerticalGradient.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 869a6814efca00640a42b89a77defac3 -timeCreated: 1469746768 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 1 enableMipMap: 1 + sRGBTexture: 0 linearTexture: 1 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 4 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 150 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: 5 + textureCompression: 1 compressionQuality: 100 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 0e69a4100c93be948bcd682b06a9117c + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/SpatialUI/Textures/SpatialUIHomeBackground.png.meta b/Menus/SpatialUI/Textures/SpatialUIHomeBackground.png.meta index 9064dd453..81932f5a0 100644 --- a/Menus/SpatialUI/Textures/SpatialUIHomeBackground.png.meta +++ b/Menus/SpatialUI/Textures/SpatialUIHomeBackground.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 guid: de08d579d3f9e47458ebe674ffc6170f -timeCreated: 1519343592 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 4 + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -33,7 +33,7 @@ TextureImporter: serializedVersion: 2 filterMode: 1 aniso: -1 - mipBias: -1 + mipBias: -100 wrapU: 1 wrapV: 1 wrapW: -1 @@ -45,18 +45,21 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,7 +69,8 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: 1 @@ -81,7 +85,15 @@ TextureImporter: sprites: [] outline: [] physicsShape: [] + bones: [] + spriteID: 3496cbd10d1d1ac43afa8a59248b866c + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/SpatialUI/Textures/SpatialUIMenuBackgroundHorizontal.png.meta b/Menus/SpatialUI/Textures/SpatialUIMenuBackgroundHorizontal.png.meta index c2eb0114d..cd7303359 100644 --- a/Menus/SpatialUI/Textures/SpatialUIMenuBackgroundHorizontal.png.meta +++ b/Menus/SpatialUI/Textures/SpatialUIMenuBackgroundHorizontal.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 guid: 5204be0253a880644aa9924d303cb417 -timeCreated: 1519349389 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 4 + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -33,7 +33,7 @@ TextureImporter: serializedVersion: 2 filterMode: -1 aniso: -1 - mipBias: -1 + mipBias: -100 wrapU: 1 wrapV: 1 wrapW: -1 @@ -45,18 +45,21 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,7 +69,8 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: 1 @@ -81,7 +85,15 @@ TextureImporter: sprites: [] outline: [] physicsShape: [] + bones: [] + spriteID: a0e64bf72f25afa4d9d09de94bb7cc68 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/ToolsMenu/Textures/HintArrow.png.meta b/Menus/ToolsMenu/Textures/HintArrow.png.meta index 7715ab94c..393eb9822 100644 --- a/Menus/ToolsMenu/Textures/HintArrow.png.meta +++ b/Menus/ToolsMenu/Textures/HintArrow.png.meta @@ -1,10 +1,9 @@ fileFormatVersion: 2 guid: da944d70255b19e4ebca037de23078f3 -timeCreated: 1498181222 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -12,6 +11,8 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +30,13 @@ TextureImporter: textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,46 +45,66 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: Standalone + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 1 - - buildTarget: WebGL + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: c7dd506e6fde8c54bae5f99ac17cb055 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/ToolsMenu/Textures/MenuIcon.png.meta b/Menus/ToolsMenu/Textures/MenuIcon.png.meta index 07c765404..30b9c0650 100644 --- a/Menus/ToolsMenu/Textures/MenuIcon.png.meta +++ b/Menus/ToolsMenu/Textures/MenuIcon.png.meta @@ -1,10 +1,9 @@ fileFormatVersion: 2 guid: 05f6f0555fbf99a429004b50ccd6ffa9 -timeCreated: 1500941980 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -12,6 +11,8 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +30,13 @@ TextureImporter: textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,46 +45,66 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: Standalone + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: WebGL + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 6c19da19994eb3943a8150d14baaa3c2 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Menus/ToolsMenu/Textures/SecondaryHintArrow.png.meta b/Menus/ToolsMenu/Textures/SecondaryHintArrow.png.meta index 09d0e4801..7a4585417 100644 --- a/Menus/ToolsMenu/Textures/SecondaryHintArrow.png.meta +++ b/Menus/ToolsMenu/Textures/SecondaryHintArrow.png.meta @@ -1,10 +1,9 @@ fileFormatVersion: 2 guid: b92ddf29a5f32334d8482795e3876db2 -timeCreated: 1498181222 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -12,6 +11,8 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +30,13 @@ TextureImporter: textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,46 +45,66 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: Standalone + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 1 - - buildTarget: WebGL + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 34b3e26d1a8f2d94ab078dfed620f736 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Prefabs/Textures/FloorBorder.png.meta b/Prefabs/Textures/FloorBorder.png.meta index 9372438e9..12f289f61 100644 --- a/Prefabs/Textures/FloorBorder.png.meta +++ b/Prefabs/Textures/FloorBorder.png.meta @@ -3,7 +3,7 @@ guid: 3744f79d77df1514086188706c263011 TextureImporter: fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 7 + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -97,7 +97,7 @@ TextureImporter: outline: [] physicsShape: [] bones: [] - spriteID: + spriteID: 3969b03f84c0b1f47aff3a893e43357e vertices: [] indices: edges: [] diff --git a/Scripts/Modules/TooltipModule/Tooltips/Textures/TooltipEmptyIcon.png.meta b/Scripts/Modules/TooltipModule/Tooltips/Textures/TooltipEmptyIcon.png.meta index b9f6899f7..096d19958 100644 --- a/Scripts/Modules/TooltipModule/Tooltips/Textures/TooltipEmptyIcon.png.meta +++ b/Scripts/Modules/TooltipModule/Tooltips/Textures/TooltipEmptyIcon.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 guid: da814481343af934cbba146529e1ab19 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} externalObjects: {} - serializedVersion: 4 + serializedVersion: 9 mipmaps: mipMapMode: 1 enableMipMap: 0 @@ -23,6 +21,8 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -33,7 +33,7 @@ TextureImporter: serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 + mipBias: -100 wrapU: -1 wrapV: -1 wrapW: -1 @@ -45,18 +45,21 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 + singleChannelComponent: 0 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -65,7 +68,9 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: Standalone + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 resizeAlgorithm: 0 textureFormat: 2 @@ -74,12 +79,21 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] + bones: [] + spriteID: 5f34e475682cbf742a9ebb32a0e56373 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/AnnotationTool/Textures/BrushSizeCircle.png.meta b/Tools/AnnotationTool/Textures/BrushSizeCircle.png.meta index 313e5f2ab..27b64c8e9 100644 --- a/Tools/AnnotationTool/Textures/BrushSizeCircle.png.meta +++ b/Tools/AnnotationTool/Textures/BrushSizeCircle.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 7804dd41905f9274a8199471a3015ce1 -timeCreated: 1479458511 -licenseType: Free TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,40 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: a9e88226c20ade344855b3d8d560148d + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/AnnotationTool/Textures/BrushSizeTriangle.png.meta b/Tools/AnnotationTool/Textures/BrushSizeTriangle.png.meta index 4228d4e45..7236531e8 100644 --- a/Tools/AnnotationTool/Textures/BrushSizeTriangle.png.meta +++ b/Tools/AnnotationTool/Textures/BrushSizeTriangle.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 7923f80168fd7e6468eec1d653ed7cfd -timeCreated: 1479460629 -licenseType: Free TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,40 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: b1cd27f927307ff4286337bfeb595094 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/CreatePrimitiveTool/CreatePrimitiveToolIcon.png.meta b/Tools/CreatePrimitiveTool/CreatePrimitiveToolIcon.png.meta index df1fac69b..66ba723ca 100644 --- a/Tools/CreatePrimitiveTool/CreatePrimitiveToolIcon.png.meta +++ b/Tools/CreatePrimitiveTool/CreatePrimitiveToolIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 7f71d318c2ae666478a6e3a737d6d1ac -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 77b66cd3ff714af488bd3bf93b1093ed + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/ViewerScaleBorder.png.meta b/Tools/LocomotionTool/Textures/ViewerScaleBorder.png.meta index 884478307..d1e2de882 100644 --- a/Tools/LocomotionTool/Textures/ViewerScaleBorder.png.meta +++ b/Tools/LocomotionTool/Textures/ViewerScaleBorder.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: a3636094af3ff1843a61a0f241112427 -timeCreated: 1487113929 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 85fbf684a9148c2478bad649d8713a75 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/atom.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/atom.png.meta index c8bc02459..f8ab08167 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/atom.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/atom.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: fdca68d85064b514ba08f06f964699cd -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 2a263d1d136034c48b8f64ea4d7e888f + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/building.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/building.png.meta index 632a24ac5..652c16182 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/building.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/building.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: e02dad81140fc0045994ce9f24cbd95c -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 4918f671103064849b3fa33b740dbddc + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/burrito.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/burrito.png.meta index 435e87078..1c326da0f 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/burrito.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/burrito.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 4088232abad2c114da5da594836d65d1 -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: ceafc341eede82042a9a4393da83200a + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/moon.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/moon.png.meta index abe74d649..8ed8092e8 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/moon.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/moon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 7041025710924544ebe237e78b6a3ea3 -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 6811dbc1ae7869f46a13c29404fa920e + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/person.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/person.png.meta index 63b614674..b2023d414 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/person.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/person.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 17c8036504a352743ad94077e760cdcd -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 53aab40f075801a4a83d57b67b03a082 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/LocomotionTool/Textures/WorldScaleIcons/sea monster.png.meta b/Tools/LocomotionTool/Textures/WorldScaleIcons/sea monster.png.meta index c7995fe70..6ef90b333 100644 --- a/Tools/LocomotionTool/Textures/WorldScaleIcons/sea monster.png.meta +++ b/Tools/LocomotionTool/Textures/WorldScaleIcons/sea monster.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 1cf175a55b8a6714cbe6429345b40dfd -timeCreated: 1487296822 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,39 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 515fac8c50fdcf7488ca77718a967511 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/SelectionTool/SelectionToolIcon.png.meta b/Tools/SelectionTool/SelectionToolIcon.png.meta index f840961d1..22a9b44be 100644 --- a/Tools/SelectionTool/SelectionToolIcon.png.meta +++ b/Tools/SelectionTool/SelectionToolIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 6226464a462df6949a63407a4aed1753 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 991683b4e77819a4194914e0943c071c + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/OriginCenterIcon.png.meta b/Tools/TransformTool/Icons/OriginCenterIcon.png.meta index 8a4481a77..dc3202204 100644 --- a/Tools/TransformTool/Icons/OriginCenterIcon.png.meta +++ b/Tools/TransformTool/Icons/OriginCenterIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 5dc98af17e3735d43acf2a4b394fad4a -timeCreated: 1473404108 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: e2c0d305c5ac1394cbaa49f731c8b696 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/OriginPivotIcon.png.meta b/Tools/TransformTool/Icons/OriginPivotIcon.png.meta index 263aa346a..34dadb16f 100644 --- a/Tools/TransformTool/Icons/OriginPivotIcon.png.meta +++ b/Tools/TransformTool/Icons/OriginPivotIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 091d9476ed565fa44beb197d2bfb5428 -timeCreated: 1473404080 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: d956c42a4bb528f4d849bcc250c2a8c9 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/RotationGlobalIcon.png.meta b/Tools/TransformTool/Icons/RotationGlobalIcon.png.meta index 7e5c9698a..5f1902029 100644 --- a/Tools/TransformTool/Icons/RotationGlobalIcon.png.meta +++ b/Tools/TransformTool/Icons/RotationGlobalIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 0cd62a86ee35a5e45b597acc8a08926a -timeCreated: 1473402165 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 97de21a24966ef641898d7981f51fc52 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/RotationLocalIcon.png.meta b/Tools/TransformTool/Icons/RotationLocalIcon.png.meta index 3a31f5b21..f1f266557 100644 --- a/Tools/TransformTool/Icons/RotationLocalIcon.png.meta +++ b/Tools/TransformTool/Icons/RotationLocalIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: c4972e7fe0be6d845af2fd3754d5b252 -timeCreated: 1473402166 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 7ae8296ae785da54bbec43f2906c7bfa + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/ScaleManipulatorIcon.png.meta b/Tools/TransformTool/Icons/ScaleManipulatorIcon.png.meta index b42f59f6e..9bebad894 100644 --- a/Tools/TransformTool/Icons/ScaleManipulatorIcon.png.meta +++ b/Tools/TransformTool/Icons/ScaleManipulatorIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: b19d9dcbe6f40f64c9ae7fec6f0d13c2 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: e6d601c4bed0444408238de903645866 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Tools/TransformTool/Icons/StandardManipulatorIcon.png.meta b/Tools/TransformTool/Icons/StandardManipulatorIcon.png.meta index 777eb78f2..ba058fe48 100644 --- a/Tools/TransformTool/Icons/StandardManipulatorIcon.png.meta +++ b/Tools/TransformTool/Icons/StandardManipulatorIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 569839d0f62fc864db996f2331004d86 -timeCreated: 1472714033 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: d9779c57c3c72f34ba13cc809b7f644a + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Base/Textures/Lock.png.meta b/Workspaces/Base/Textures/Lock.png.meta index 439a936bf..ee394c8ff 100644 --- a/Workspaces/Base/Textures/Lock.png.meta +++ b/Workspaces/Base/Textures/Lock.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: bda51dfe062f45741aae4c4ac8bb3cef -timeCreated: 1472242621 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 33de28dd38581b04392972eb1650376f + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Base/Textures/Reset.png.meta b/Workspaces/Base/Textures/Reset.png.meta index 0d089cc81..62c6e6d7f 100644 --- a/Workspaces/Base/Textures/Reset.png.meta +++ b/Workspaces/Base/Textures/Reset.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 94270a0a7a3d4684d97dbbf6df9efbdf -timeCreated: 1472242621 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 25250e0742553f443bcadef7cda7c1d0 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Base/Textures/Unlock.png.meta b/Workspaces/Base/Textures/Unlock.png.meta index 16f1a3156..147a5a00e 100644 --- a/Workspaces/Base/Textures/Unlock.png.meta +++ b/Workspaces/Base/Textures/Unlock.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: f5cf11a93d148a847986732c04258f7b -timeCreated: 1472242621 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: c0b140b2dfcf8ff4a8ec528a98fbea45 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Base/Textures/close.png.meta b/Workspaces/Base/Textures/close.png.meta index 22c8114c5..60902d868 100644 --- a/Workspaces/Base/Textures/close.png.meta +++ b/Workspaces/Base/Textures/close.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 8f21106ed0539b64ca132508f61ed30b -timeCreated: 1472242621 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 6a461f97b6c05054d8c96d0c53b66605 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/ExpandArrow.png.meta b/Workspaces/Common/Textures/ExpandArrow.png.meta index e3fdef8b7..655254fea 100644 --- a/Workspaces/Common/Textures/ExpandArrow.png.meta +++ b/Workspaces/Common/Textures/ExpandArrow.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: cce952c77fe89b545b85710066cc8103 -timeCreated: 1471989882 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,40 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 6f098a524fec1f540af56ad99b33083d + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/LeftArrow.png.meta b/Workspaces/Common/Textures/LeftArrow.png.meta index 5dfa4d2d0..ff1eb867e 100644 --- a/Workspaces/Common/Textures/LeftArrow.png.meta +++ b/Workspaces/Common/Textures/LeftArrow.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 917083b1bf3745e40a50e8607576c9a2 -timeCreated: 1475782391 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 5a715998b0731364d93c3e7695ab11dc + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/MinusIcon.png.meta b/Workspaces/Common/Textures/MinusIcon.png.meta index b6a3fb0fc..516b4bbe2 100644 --- a/Workspaces/Common/Textures/MinusIcon.png.meta +++ b/Workspaces/Common/Textures/MinusIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: b63a9c85c7c044f44843bbf507c72b18 -timeCreated: 1475782391 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 72739eaa5288d3249b9a1c3ed9bbe396 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/PlusIcon.png.meta b/Workspaces/Common/Textures/PlusIcon.png.meta index 94f56695c..6c8280cda 100644 --- a/Workspaces/Common/Textures/PlusIcon.png.meta +++ b/Workspaces/Common/Textures/PlusIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 054f8016e5e85e745a11230d51f0ca2b -timeCreated: 1475782391 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 9649ddf2151880240923e359f2744f42 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/ResizeIndicatorIcon.png.meta b/Workspaces/Common/Textures/ResizeIndicatorIcon.png.meta index 38a042ba2..2d4ad2221 100644 --- a/Workspaces/Common/Textures/ResizeIndicatorIcon.png.meta +++ b/Workspaces/Common/Textures/ResizeIndicatorIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: bc44d894e10c0004cb3a93397635701c -timeCreated: 1475101345 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 1e07dcfd2b3c00e4e8f4908543c8c090 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/RightArrow.png.meta b/Workspaces/Common/Textures/RightArrow.png.meta index 6c889eff3..88467be90 100644 --- a/Workspaces/Common/Textures/RightArrow.png.meta +++ b/Workspaces/Common/Textures/RightArrow.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: ea362006918ddee41a65752e3722d093 -timeCreated: 1475782391 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 4e9b2dc7c7b03b240af195db2264d794 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/Common/Textures/eye.png.meta b/Workspaces/Common/Textures/eye.png.meta index e42dba3e1..f0244ef9a 100644 --- a/Workspaces/Common/Textures/eye.png.meta +++ b/Workspaces/Common/Textures/eye.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 9e99addd065823d4189ba97c2110682e -timeCreated: 1472242613 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 3 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 5 - buildTargetSettings: - - buildTarget: Standalone + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 256 + resizeAlgorithm: 0 textureFormat: 2 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 5da7e0f5adfeb7245a7caf0e8f992931 + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: EditorVR + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/InspectorWorkspace/Textures/Gear.png.meta b/Workspaces/InspectorWorkspace/Textures/Gear.png.meta index 8449ce53a..96c2f6c07 100644 --- a/Workspaces/InspectorWorkspace/Textures/Gear.png.meta +++ b/Workspaces/InspectorWorkspace/Textures/Gear.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 56fc34ccc1aea8f489741a107b219479 -timeCreated: 1473985243 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,40 +21,68 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: + serializedVersion: 2 filterMode: -1 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: [] + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 80c266a002e276844aeb175d6932908d + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/MiniWorldWorkspace/Textures/PlayerLocation.png.meta b/Workspaces/MiniWorldWorkspace/Textures/PlayerLocation.png.meta index 4812b54cf..b629b0c8e 100644 --- a/Workspaces/MiniWorldWorkspace/Textures/PlayerLocation.png.meta +++ b/Workspaces/MiniWorldWorkspace/Textures/PlayerLocation.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 9c61120747b87ca4c8d6d442022e331c -timeCreated: 1480592180 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 256 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: -1 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: bcec017acecf0b643a35bf61eff017da + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Workspaces/MiniWorldWorkspace/Textures/ResetChessboardIcon.png.meta b/Workspaces/MiniWorldWorkspace/Textures/ResetChessboardIcon.png.meta index 1514434a1..9b7f44deb 100644 --- a/Workspaces/MiniWorldWorkspace/Textures/ResetChessboardIcon.png.meta +++ b/Workspaces/MiniWorldWorkspace/Textures/ResetChessboardIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 guid: 39ff46f2a7d99ed40971391bb304520b -timeCreated: 1480414691 -licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + externalObjects: {} + serializedVersion: 9 mipmaps: mipMapMode: 0 enableMipMap: 0 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -20,45 +21,79 @@ TextureImporter: heightScale: 0.25 normalMapFilter: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 1024 textureSettings: + serializedVersion: 2 filterMode: 2 aniso: 16 - mipBias: -1 - wrapMode: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1000 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 - buildTargetSettings: - - buildTarget: Standalone + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone maxTextureSize: 512 + resizeAlgorithm: 0 textureFormat: -1 + textureCompression: 1 compressionQuality: 50 + crunchedCompression: 0 allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + physicsShape: [] + bones: [] + spriteID: 9fdd5113d7c3fd0419faba8bcb82455f + vertices: [] + indices: + edges: [] + weights: [] spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: From e9f6b1312aa4ad8e9c1ff4937d6a94ae9ced356b Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Sun, 29 Sep 2019 20:49:06 -0700 Subject: [PATCH 55/75] Update conditional defines --- Editor/BuildCallbacks.cs | 2 +- Editor/HapticPulsesEditor.cs | 2 +- Editor/ProxyFeedbackEditor.cs | 2 +- Editor/SeedXRInputBindings.cs | 2 +- Scripts/Core/Contexts/EditingContextManager.cs | 4 ++-- Scripts/Core/Contexts/EditorXRContext.cs | 2 +- Scripts/Core/EditorVR.DirectSelection.cs | 2 +- Scripts/Core/EditorVR.Interfaces.cs | 2 +- Scripts/Core/EditorVR.Menus.cs | 2 +- Scripts/Core/EditorVR.MiniWorlds.cs | 2 +- Scripts/Core/EditorVR.Rays.cs | 2 +- Scripts/Core/EditorVR.Tools.cs | 2 +- Scripts/Core/EditorVR.ToolsMenu.cs | 2 +- Scripts/Core/EditorVR.UI.cs | 2 +- Scripts/Core/EditorVR.Vacuumables.cs | 2 +- Scripts/Core/EditorVR.Viewer.cs | 2 +- Scripts/Core/EditorVR.cs | 4 ++-- .../InterfaceConnectors/ActionsModuleConnector.cs | 2 +- .../AdaptivePositionModuleConnector.cs | 2 +- .../DeviceInputModuleConnector.cs | 2 +- .../InterfaceConnectors/FeedbackModuleConnector.cs | 2 +- .../GazeDivergenceModuleConnector.cs | 2 +- .../InterfaceConnectors/HapticsModuleConnector.cs | 2 +- .../HierarchyModuleConnector.cs | 2 +- .../HighlightModuleConnector.cs | 2 +- .../IntersectionModuleConnector.cs | 2 +- .../InterfaceConnectors/LockModuleConnector.cs | 2 +- .../MultipleRayInputModuleConnector.cs | 2 +- .../InterfaceConnectors/PolyModuleConnector.cs | 2 +- .../ProjectFolderModuleConnector.cs | 2 +- .../SceneObjectModuleConnector.cs | 2 +- .../SelectionModuleConnector.cs | 2 +- .../SerializedPreferencesModuleConnector.cs | 2 +- .../InterfaceConnectors/SnappingModuleConnector.cs | 2 +- .../SpatialHashModuleConnector.cs | 2 +- .../SpatialHintModuleConnector.cs | 2 +- .../SpatialScrollModuleConnector.cs | 2 +- .../InterfaceConnectors/TooltipModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/WebModuleConnector.cs | 2 +- .../WorkspaceModuleConnector.cs | 2 +- Scripts/Data/AssetData.cs | 2 -- Scripts/Data/DefaultScriptReferences.cs | 2 -- Scripts/Input/BaseVRInputToEvents.cs | 14 -------------- Scripts/Modules/HapticsModule/HapticsModule.cs | 2 +- Scripts/Modules/HierarchyModule.cs | 2 +- Scripts/Modules/ProjectFolderModule.cs | 2 +- Scripts/Modules/SelectionModule/SelectionModule.cs | 2 -- Scripts/UI/NumericInputField.cs | 6 ++---- Tests/Editor/BuildPlayerTest.cs | 2 +- Tests/Editor/CompilationTest.cs | 2 +- .../Editor/Unit/Core/EditingContextManagerTests.cs | 2 +- .../Scripts/HierarchyListItem.cs | 2 +- .../InspectorWorkspace/InspectorWorkspace.cs | 2 +- 53 files changed, 52 insertions(+), 74 deletions(-) diff --git a/Editor/BuildCallbacks.cs b/Editor/BuildCallbacks.cs index e73e0d039..2f1dbbaf1 100644 --- a/Editor/BuildCallbacks.cs +++ b/Editor/BuildCallbacks.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.IO; diff --git a/Editor/HapticPulsesEditor.cs b/Editor/HapticPulsesEditor.cs index d460c18ee..355432113 100644 --- a/Editor/HapticPulsesEditor.cs +++ b/Editor/HapticPulsesEditor.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Core; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Editor/ProxyFeedbackEditor.cs b/Editor/ProxyFeedbackEditor.cs index d7860d43a..9a7e3dcf2 100644 --- a/Editor/ProxyFeedbackEditor.cs +++ b/Editor/ProxyFeedbackEditor.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Editor/SeedXRInputBindings.cs b/Editor/SeedXRInputBindings.cs index f9a64a9c5..962befd8a 100644 --- a/Editor/SeedXRInputBindings.cs +++ b/Editor/SeedXRInputBindings.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; // Copied from UnityEditor.XR.LegacyInputHelpers diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index da64a16d5..7f6e2333b 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.IO; @@ -149,7 +150,6 @@ static void EditProjectSettings() Selection.activeObject = settings; } -#if UNITY_2018_3_OR_NEWER [SettingsProvider] static SettingsProvider CreateSettingsProvider() { @@ -202,7 +202,6 @@ static SettingsProvider CreateSettingsProvider() return provider; } -#endif static void OnAutoOpenStateChanged() { @@ -550,3 +549,4 @@ static void InitializeInputManager() } } } +#endif \ No newline at end of file diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index 3100296e2..de7e22057 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.DirectSelection.cs b/Scripts/Core/EditorVR.DirectSelection.cs index 5ed56e1cf..978dc9ae7 100644 --- a/Scripts/Core/EditorVR.DirectSelection.cs +++ b/Scripts/Core/EditorVR.DirectSelection.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.Interfaces.cs b/Scripts/Core/EditorVR.Interfaces.cs index b66109fb6..c8776d869 100644 --- a/Scripts/Core/EditorVR.Interfaces.cs +++ b/Scripts/Core/EditorVR.Interfaces.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; diff --git a/Scripts/Core/EditorVR.Menus.cs b/Scripts/Core/EditorVR.Menus.cs index 1820729b9..7c551fee5 100644 --- a/Scripts/Core/EditorVR.Menus.cs +++ b/Scripts/Core/EditorVR.Menus.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.MiniWorlds.cs b/Scripts/Core/EditorVR.MiniWorlds.cs index fb1168d1f..50446fce4 100644 --- a/Scripts/Core/EditorVR.MiniWorlds.cs +++ b/Scripts/Core/EditorVR.MiniWorlds.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Extensions; diff --git a/Scripts/Core/EditorVR.Rays.cs b/Scripts/Core/EditorVR.Rays.cs index 7b66e61b1..f35fe0f21 100644 --- a/Scripts/Core/EditorVR.Rays.cs +++ b/Scripts/Core/EditorVR.Rays.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Helpers; diff --git a/Scripts/Core/EditorVR.Tools.cs b/Scripts/Core/EditorVR.Tools.cs index 34e846865..7e1f405e8 100644 --- a/Scripts/Core/EditorVR.Tools.cs +++ b/Scripts/Core/EditorVR.Tools.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.ToolsMenu.cs b/Scripts/Core/EditorVR.ToolsMenu.cs index 83d37a092..10f1c7710 100644 --- a/Scripts/Core/EditorVR.ToolsMenu.cs +++ b/Scripts/Core/EditorVR.ToolsMenu.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Linq; using UnityEngine; diff --git a/Scripts/Core/EditorVR.UI.cs b/Scripts/Core/EditorVR.UI.cs index 25548cb68..241802db1 100644 --- a/Scripts/Core/EditorVR.UI.cs +++ b/Scripts/Core/EditorVR.UI.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.UI; diff --git a/Scripts/Core/EditorVR.Vacuumables.cs b/Scripts/Core/EditorVR.Vacuumables.cs index 509cec53c..276183941 100644 --- a/Scripts/Core/EditorVR.Vacuumables.cs +++ b/Scripts/Core/EditorVR.Vacuumables.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/EditorVR.Viewer.cs b/Scripts/Core/EditorVR.Viewer.cs index c0844ef29..770b7c89f 100644 --- a/Scripts/Core/EditorVR.Viewer.cs +++ b/Scripts/Core/EditorVR.Viewer.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections; using System.Collections.Generic; diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index a0f6a4757..09059cf69 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -17,7 +17,7 @@ namespace UnityEditor.Experimental.EditorVR.Core #if UNITY_EDITOR [InitializeOnLoad] #endif -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER [RequiresTag(k_VRPlayerTag)] sealed partial class EditorVR : MonoBehaviour, IEditor, IConnectInterfaces { @@ -559,7 +559,7 @@ static NoEditorVR() { if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) { - var message = "EditorVR requires Unity 2018.3.12 or above."; + var message = "EditorXR requires Unity 2018.4 or above."; var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); switch (result) { diff --git a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs index 5f85dae09..61ea9cf53 100644 --- a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs index b896318b3..4b0f738e7 100644 --- a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs index 8db7b9d6f..0e0190a81 100644 --- a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs index 647fc1483..8ab7394c7 100644 --- a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER namespace UnityEditor.Experimental.EditorVR.Core { partial class EditorVR diff --git a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs index 43a03070b..3893a4c7b 100644 --- a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs index 26cf890db..02c40602b 100644 --- a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs index 8af92341d..f44a78c10 100644 --- a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER #if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs index deeb8209c..a850350de 100644 --- a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs index 30eacf311..65b44bd00 100644 --- a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs index b435c3dee..da484764c 100644 --- a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs index 886ddbfbe..cb7c05b67 100644 --- a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs index 409166027..eee08ba22 100644 --- a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs index f61c1f7e9..a32ec651a 100644 --- a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER #if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs index 0ff3bc7a1..2a9cd4026 100644 --- a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs index 594c67cf7..805c562de 100644 --- a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs index 69b5834ab..65775f9f9 100644 --- a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs index ed0789fa1..40ad6efbf 100644 --- a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs index 9ee9762f2..4b938aae5 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs index 76a57e2df..b58829d80 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs index 4c6290701..c14e21f3f 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs index 549bd85fb..a6ee2d1c3 100644 --- a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs index 25e0c9cc0..d0669d537 100644 --- a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs index 7c43233ea..b0fb4f832 100644 --- a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Workspaces; diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index aa1a60c47..2c811bc35 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -44,7 +44,6 @@ void UpdateType() { if (type == k_GameObjetTypeString) { -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR switch (PrefabUtility.GetPrefabAssetType(asset)) { @@ -55,7 +54,6 @@ void UpdateType() type = PrefabTypeString; break; } -#endif #endif } } diff --git a/Scripts/Data/DefaultScriptReferences.cs b/Scripts/Data/DefaultScriptReferences.cs index 871a0e3c6..1cdb66a37 100644 --- a/Scripts/Data/DefaultScriptReferences.cs +++ b/Scripts/Data/DefaultScriptReferences.cs @@ -62,7 +62,6 @@ void Awake() } } -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR [MenuItem("Assets/Create/EditorXR/Default Script References")] static void UpdateScriptReferences() @@ -114,7 +113,6 @@ static void UpdateScriptReferences() AssetDatabase.SaveAssets(); } -#endif #endif } } diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index c79404d2c..f5c2b97be 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -30,20 +30,6 @@ protected virtual string DeviceName VRInputDevice.VRControl.LeftStickButton }; -#if UNITY_2018_3 - void Awake() - { - var match = Regex.Match(Application.unityVersion, @"([.](\d+))+"); - if (match.Groups.Count > 0) - { - int minor; - var group = match.Groups[2]; - if (int.TryParse(group.Value, out minor) && minor < 12) - Debug.LogError("Unity 2018.3.12f1 or greater is required to have full input capabilities"); - } - } -#endif - public void Update() { var deviceActive = false; diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index c3417f135..434d3c161 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.IO; using UnityEditor.Experimental.EditorVR.Core; diff --git a/Scripts/Modules/HierarchyModule.cs b/Scripts/Modules/HierarchyModule.cs index e3925f69f..7e4841ff0 100644 --- a/Scripts/Modules/HierarchyModule.cs +++ b/Scripts/Modules/HierarchyModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Modules/ProjectFolderModule.cs b/Scripts/Modules/ProjectFolderModule.cs index 2cd3593ce..7937725a3 100644 --- a/Scripts/Modules/ProjectFolderModule.cs +++ b/Scripts/Modules/ProjectFolderModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System; using System.Collections; using System.Collections.Generic; diff --git a/Scripts/Modules/SelectionModule/SelectionModule.cs b/Scripts/Modules/SelectionModule/SelectionModule.cs index 3fccd2e25..a8256026a 100644 --- a/Scripts/Modules/SelectionModule/SelectionModule.cs +++ b/Scripts/Modules/SelectionModule/SelectionModule.cs @@ -136,13 +136,11 @@ GameObject GetGroupRoot(GameObject hoveredObject) if (m_GroupMap.TryGetValue(hoveredObject, out groupParent)) return groupParent; -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR var groupRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(hoveredObject); if (groupRoot) return groupRoot; -#endif #endif return null; diff --git a/Scripts/UI/NumericInputField.cs b/Scripts/UI/NumericInputField.cs index f3f304bec..e71fd84f0 100644 --- a/Scripts/UI/NumericInputField.cs +++ b/Scripts/UI/NumericInputField.cs @@ -1,3 +1,4 @@ +#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -248,10 +249,8 @@ void ParseNumberField() if (!float.TryParse(m_Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out floatVal)) { -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR ExpressionEvaluator.Evaluate(m_Text, out floatVal); -#endif #endif } @@ -265,11 +264,9 @@ void ParseNumberField() int intVal; if (!int.TryParse(m_Text, out intVal)) { -#if UNITY_2018_3_OR_NEWER #if UNITY_EDITOR ExpressionEvaluator.Evaluate(m_Text, out intVal); m_Text = intVal.ToString(k_IntFieldFormatString); -#endif #endif } } @@ -281,3 +278,4 @@ void ParseNumberField() } } } +#endif \ No newline at end of file diff --git a/Tests/Editor/BuildPlayerTest.cs b/Tests/Editor/BuildPlayerTest.cs index 4d0849740..b1e0c0293 100644 --- a/Tests/Editor/BuildPlayerTest.cs +++ b/Tests/Editor/BuildPlayerTest.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER #if !UNITY_CLOUD_BUILD using NUnit.Framework; diff --git a/Tests/Editor/CompilationTest.cs b/Tests/Editor/CompilationTest.cs index 6fca8f431..04376ad19 100644 --- a/Tests/Editor/CompilationTest.cs +++ b/Tests/Editor/CompilationTest.cs @@ -30,7 +30,7 @@ public void NoCCUDefines() public void NoEditorVR() { var defines = EditorUserBuildSettings.activeScriptCompilationDefines.ToList(); - defines.Remove("UNITY_2018_3_OR_NEWER"); + defines.Remove("UNITY_2018_4_OR_NEWER"); TestCompile(defines.ToArray()); } diff --git a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs index bdd4b2087..edd0c1991 100644 --- a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs +++ b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using NUnit.Framework; using System.Collections.Generic; using System.IO; diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index a2fc9e2ef..7ee0cb24a 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -244,7 +244,7 @@ public void UpdateSelf(float width, int depth, bool? expanded, bool selected, bo UpdateArrow(expanded); -#if UNITY_EDITOR && UNITY_2018_3_OR_NEWER +#if UNITY_EDITOR var isPrefab = gameObject && PrefabUtility.GetPrefabInstanceStatus(gameObject) == PrefabInstanceStatus.Connected; #else var isPrefab = false; diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index 1245c5816..98f340f99 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_3_OR_NEWER +#if UNITY_2018_4_OR_NEWER using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Handles; From 9bc3e023b0fe04e1cf4c7d41068f0b3f88e5c04a Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Mon, 30 Sep 2019 00:19:27 -0700 Subject: [PATCH 56/75] Get code compiling on 2017.4, so that it can show the download dialog; Update asmdef package --- .../MainMenu/Scripts/MainMenuActionButton.cs | 2 -- Menus/MainMenu/Scripts/MainMenuButton.cs | 2 -- Menus/MainMenu/Scripts/MainMenuFace.cs | 2 -- Menus/MainMenu/Scripts/MainMenuSelectable.cs | 2 -- Menus/MainMenu/Scripts/MainMenuToggle.cs | 2 -- ...smdef_Dependencies_Pre_2019_1.unitypackage | 3 ++ ...Dependencies_Pre_2019_1.unitypackage.meta} | 0 Patches/Dependencies_asmdef.unitypackage | 3 -- .../Core/Contexts/EditingContextManager.cs | 6 ++-- Scripts/Core/EditorVR.cs | 30 +++++++++++++++++++ Scripts/Data/AssetData.cs | 2 +- Scripts/Data/DefaultScriptReferences.cs | 2 ++ Scripts/Handles/UI/DropDown.cs | 2 -- .../Modules/FeedbackModule/FeedbackModule.cs | 2 -- .../SelectionModule/SelectionModule.cs | 2 +- .../Modules/SnappingModule/SnappingModule.cs | 2 -- Scripts/Modules/TooltipModule/TooltipUI.cs | 2 -- Scripts/UI/GradientButton.cs | 2 -- Scripts/UI/InputField.cs | 1 - Scripts/UI/NumericInputField.cs | 8 ++--- Scripts/Utilities/CameraUtils.cs | 6 ++-- Tools/LocomotionTool/LocomotionTool.cs | 6 ++++ Tools/LocomotionTool/Scripts/Ring.cs | 2 ++ .../Scripts/ViewerScaleVisuals.cs | 2 -- .../Scripts/HierarchyListItem.cs | 2 +- 25 files changed, 55 insertions(+), 40 deletions(-) create mode 100644 Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage rename Patches/{Dependencies_asmdef.unitypackage.meta => Asmdef_Dependencies_Pre_2019_1.unitypackage.meta} (100%) delete mode 100644 Patches/Dependencies_asmdef.unitypackage diff --git a/Menus/MainMenu/Scripts/MainMenuActionButton.cs b/Menus/MainMenu/Scripts/MainMenuActionButton.cs index fea938611..0c9d5a8fa 100644 --- a/Menus/MainMenu/Scripts/MainMenuActionButton.cs +++ b/Menus/MainMenu/Scripts/MainMenuActionButton.cs @@ -7,8 +7,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Menus { class MainMenuActionButton : MonoBehaviour diff --git a/Menus/MainMenu/Scripts/MainMenuButton.cs b/Menus/MainMenu/Scripts/MainMenuButton.cs index 6623a669f..0b595d9b8 100644 --- a/Menus/MainMenu/Scripts/MainMenuButton.cs +++ b/Menus/MainMenu/Scripts/MainMenuButton.cs @@ -6,8 +6,6 @@ using UnityEngine.EventSystems; using UnityEngine.UI; -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Menus { sealed class MainMenuButton : MainMenuSelectable, ITooltip, IRayEnterHandler, IRayExitHandler, IPointerClickHandler diff --git a/Menus/MainMenu/Scripts/MainMenuFace.cs b/Menus/MainMenu/Scripts/MainMenuFace.cs index 6c02dadf3..54a0f3bfa 100644 --- a/Menus/MainMenu/Scripts/MainMenuFace.cs +++ b/Menus/MainMenu/Scripts/MainMenuFace.cs @@ -12,8 +12,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Menus { sealed class MainMenuFace : MonoBehaviour diff --git a/Menus/MainMenu/Scripts/MainMenuSelectable.cs b/Menus/MainMenu/Scripts/MainMenuSelectable.cs index 0b85242e5..27b08c1b2 100644 --- a/Menus/MainMenu/Scripts/MainMenuSelectable.cs +++ b/Menus/MainMenu/Scripts/MainMenuSelectable.cs @@ -7,8 +7,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Menus { abstract class MainMenuSelectable : MonoBehaviour diff --git a/Menus/MainMenu/Scripts/MainMenuToggle.cs b/Menus/MainMenu/Scripts/MainMenuToggle.cs index 971088c0e..8279a689a 100644 --- a/Menus/MainMenu/Scripts/MainMenuToggle.cs +++ b/Menus/MainMenu/Scripts/MainMenuToggle.cs @@ -5,8 +5,6 @@ using UnityEngine.EventSystems; using UnityEngine.UI; -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Menus { sealed class MainMenuToggle : MainMenuSelectable, IRayEnterHandler, IRayExitHandler, IPointerClickHandler diff --git a/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage b/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage new file mode 100644 index 000000000..7b220d68c --- /dev/null +++ b/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92141740e6a868417b9d76f3cef3dd6acae8d91c8525a7d98cdbbadefe751a9c +size 1462 diff --git a/Patches/Dependencies_asmdef.unitypackage.meta b/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage.meta similarity index 100% rename from Patches/Dependencies_asmdef.unitypackage.meta rename to Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage.meta diff --git a/Patches/Dependencies_asmdef.unitypackage b/Patches/Dependencies_asmdef.unitypackage deleted file mode 100644 index 37df10eea..000000000 --- a/Patches/Dependencies_asmdef.unitypackage +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff5efccb5edb9bfe42f5b022b177795e53296cb0c2c333ecd6d5943d124c0e6d -size 1007 diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index 7f6e2333b..6d39184ec 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -1,4 +1,3 @@ -#if UNITY_2018_4_OR_NEWER using System; using System.Collections.Generic; using System.IO; @@ -150,6 +149,7 @@ static void EditProjectSettings() Selection.activeObject = settings; } +#if UNITY_2018_4_OR_NEWER [SettingsProvider] static SettingsProvider CreateSettingsProvider() { @@ -202,6 +202,7 @@ static SettingsProvider CreateSettingsProvider() return provider; } +#endif static void OnAutoOpenStateChanged() { @@ -548,5 +549,4 @@ static void InitializeInputManager() ObjectUtils.Destroy(s_InputManager.GetComponent()); } } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 09059cf69..8fc2ca325 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -12,6 +12,10 @@ [assembly: OptionalDependency("PolyToolkit.PolyApi", "INCLUDE_POLY_TOOLKIT")] +#if UNITY_2018_4_OR_NEWER +[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] +#endif + namespace UnityEditor.Experimental.EditorVR.Core { #if UNITY_EDITOR @@ -578,3 +582,29 @@ static NoEditorVR() } #endif } + +#if !INCLUDE_TEXT_MESH_PRO +namespace TMPro +{ + public class TextMeshPro + { + public string text; + public Color color; + public bool enabled; + } + + public class TextMeshProUGUI : MonoBehaviour + { + public string text; + public Color color; + public Font font; + public Material fontMaterial; + public RectTransform rectTransform; + + public virtual Material GetModifiedMaterial(Material baseMaterial) + { + return null; + } + } +} +#endif diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index 2c811bc35..df04c5c7e 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -44,7 +44,7 @@ void UpdateType() { if (type == k_GameObjetTypeString) { -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER switch (PrefabUtility.GetPrefabAssetType(asset)) { case PrefabAssetType.Model: diff --git a/Scripts/Data/DefaultScriptReferences.cs b/Scripts/Data/DefaultScriptReferences.cs index 1cdb66a37..7e8d80378 100644 --- a/Scripts/Data/DefaultScriptReferences.cs +++ b/Scripts/Data/DefaultScriptReferences.cs @@ -104,8 +104,10 @@ static void UpdateScriptReferences() if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); +#if UNITY_2018_4_OR_NEWER defaultScriptReferences.m_ScriptPrefab = PrefabUtility.SaveAsPrefabAsset(prefabsRoot, Path.ChangeExtension(k_Path, "prefab")); defaultScriptReferences.m_EditingContexts = EditingContextManager.GetEditingContextAssets().ConvertAll(ec => (ScriptableObject)ec); +#endif AssetDatabase.CreateAsset(defaultScriptReferences, k_Path); diff --git a/Scripts/Handles/UI/DropDown.cs b/Scripts/Handles/UI/DropDown.cs index f1464c058..1aa1fd613 100644 --- a/Scripts/Handles/UI/DropDown.cs +++ b/Scripts/Handles/UI/DropDown.cs @@ -12,8 +12,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.UI { sealed class DropDown : MonoBehaviour diff --git a/Scripts/Modules/FeedbackModule/FeedbackModule.cs b/Scripts/Modules/FeedbackModule/FeedbackModule.cs index 93b9d1b50..42d5d9b48 100644 --- a/Scripts/Modules/FeedbackModule/FeedbackModule.cs +++ b/Scripts/Modules/FeedbackModule/FeedbackModule.cs @@ -10,8 +10,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR { public abstract class FeedbackRequest diff --git a/Scripts/Modules/SelectionModule/SelectionModule.cs b/Scripts/Modules/SelectionModule/SelectionModule.cs index a8256026a..a67c41c47 100644 --- a/Scripts/Modules/SelectionModule/SelectionModule.cs +++ b/Scripts/Modules/SelectionModule/SelectionModule.cs @@ -136,7 +136,7 @@ GameObject GetGroupRoot(GameObject hoveredObject) if (m_GroupMap.TryGetValue(hoveredObject, out groupParent)) return groupParent; -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER var groupRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(hoveredObject); if (groupRoot) diff --git a/Scripts/Modules/SnappingModule/SnappingModule.cs b/Scripts/Modules/SnappingModule/SnappingModule.cs index 413138bea..4938dd897 100644 --- a/Scripts/Modules/SnappingModule/SnappingModule.cs +++ b/Scripts/Modules/SnappingModule/SnappingModule.cs @@ -13,8 +13,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Modules { [MainMenuItem("Snapping", "Settings", "Select snapping modes")] diff --git a/Scripts/Modules/TooltipModule/TooltipUI.cs b/Scripts/Modules/TooltipModule/TooltipUI.cs index 73e941366..1fbe5b583 100644 --- a/Scripts/Modules/TooltipModule/TooltipUI.cs +++ b/Scripts/Modules/TooltipModule/TooltipUI.cs @@ -7,8 +7,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Modules { sealed class TooltipUI : MonoBehaviour, IWillRender diff --git a/Scripts/UI/GradientButton.cs b/Scripts/UI/GradientButton.cs index b0165b91b..f2eb2fec5 100644 --- a/Scripts/UI/GradientButton.cs +++ b/Scripts/UI/GradientButton.cs @@ -12,8 +12,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.UI { sealed class GradientButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler diff --git a/Scripts/UI/InputField.cs b/Scripts/UI/InputField.cs index 33b89e1cd..d9b80a1b8 100644 --- a/Scripts/UI/InputField.cs +++ b/Scripts/UI/InputField.cs @@ -4,7 +4,6 @@ using TMPro; using UnityEditor.Experimental.EditorVR.Extensions; using UnityEditor.Experimental.EditorVR.Utilities; -using UnityEditor.Experimental.EditorVR.Workspaces; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; diff --git a/Scripts/UI/NumericInputField.cs b/Scripts/UI/NumericInputField.cs index e71fd84f0..230fe53eb 100644 --- a/Scripts/UI/NumericInputField.cs +++ b/Scripts/UI/NumericInputField.cs @@ -1,4 +1,3 @@ -#if UNITY_2018_4_OR_NEWER using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; @@ -249,7 +248,7 @@ void ParseNumberField() if (!float.TryParse(m_Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out floatVal)) { -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER ExpressionEvaluator.Evaluate(m_Text, out floatVal); #endif } @@ -264,7 +263,7 @@ void ParseNumberField() int intVal; if (!int.TryParse(m_Text, out intVal)) { -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER ExpressionEvaluator.Evaluate(m_Text, out intVal); m_Text = intVal.ToString(k_IntFieldFormatString); #endif @@ -277,5 +276,4 @@ void ParseNumberField() SendOnValueChangedAndUpdateLabel(); } } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Scripts/Utilities/CameraUtils.cs b/Scripts/Utilities/CameraUtils.cs index 278ed45b8..7cc87bd01 100644 --- a/Scripts/Utilities/CameraUtils.cs +++ b/Scripts/Utilities/CameraUtils.cs @@ -16,7 +16,7 @@ public static Camera GetMainCamera() if (!camera) camera = UnityObject.FindObjectOfType(); -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER var viewerCamera = VRView.viewerCamera; if (!Application.isPlaying && viewerCamera) camera = viewerCamera; @@ -32,7 +32,7 @@ public static Transform GetCameraRig() { var rig = camera.transform.parent; -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER if (!Application.isPlaying) { if (VRView.cameraRig) @@ -61,4 +61,4 @@ public static Quaternion LocalRotateTowardCamera(Transform parentTransform) Vector3.Dot(camVector, Vector3.forward) > 0 ? Vector3.up : Vector3.down); } } -} +} \ No newline at end of file diff --git a/Tools/LocomotionTool/LocomotionTool.cs b/Tools/LocomotionTool/LocomotionTool.cs index dcba39577..08e7536ff 100644 --- a/Tools/LocomotionTool/LocomotionTool.cs +++ b/Tools/LocomotionTool/LocomotionTool.cs @@ -272,6 +272,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon // HACK: Because we don't get mouse input through action maps, just use Update void Update() { +#if UNITY_2018_4_OR_NEWER var mouseDelta = VRView.MouseDelta; if (VRView.LeftMouseButtonHeld) @@ -316,6 +317,7 @@ void Update() } m_MouseWasHeld = VRView.LeftMouseButtonHeld; +#endif } bool DoFlying(ConsumeControlDelegate consumeControl) @@ -770,7 +772,9 @@ bool DoTwoHandedScaling(ConsumeControlDelegate consumeControl) if (worldResetHeld && otherWorldResetHeld) { m_AllowScaling = false; +#if UNITY_2018_4_OR_NEWER cameraRig.position = VRView.headCenteredOrigin; +#endif cameraRig.rotation = Quaternion.identity; ResetViewerScale(); @@ -841,7 +845,9 @@ IEnumerator MoveTowardTarget(Vector3 targetPosition) var offset = cameraRig.position - CameraUtils.GetMainCamera().transform.position; offset.y = 0; +#if UNITY_2018_4_OR_NEWER offset += VRView.headCenteredOrigin * this.GetViewerScale(); +#endif targetPosition += offset; const float kTargetDuration = 0.05f; diff --git a/Tools/LocomotionTool/Scripts/Ring.cs b/Tools/LocomotionTool/Scripts/Ring.cs index 06616f65f..7728e7d86 100644 --- a/Tools/LocomotionTool/Scripts/Ring.cs +++ b/Tools/LocomotionTool/Scripts/Ring.cs @@ -111,8 +111,10 @@ void Update() m_EleveationText.color = new Color(1f, 1f, 1f, m_IntensityCore); m_CoordinatesText.color = new Color(1f, 1f, 1f, Mathf.Max(m_IntensityCore, m_Intensity)); +#if UNITY_2018_4_OR_NEWER if (VRView.MiddleMouseButtonHeld && !m_MouseWasHeld) m_CoordinatesText.enabled = !m_CoordinatesText.enabled; +#endif m_MouseWasHeld = VRView.MiddleMouseButtonHeld; diff --git a/Tools/LocomotionTool/Scripts/ViewerScaleVisuals.cs b/Tools/LocomotionTool/Scripts/ViewerScaleVisuals.cs index 3ea97d32b..abe73117a 100644 --- a/Tools/LocomotionTool/Scripts/ViewerScaleVisuals.cs +++ b/Tools/LocomotionTool/Scripts/ViewerScaleVisuals.cs @@ -7,8 +7,6 @@ using TMPro; #endif -[assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] - namespace UnityEditor.Experimental.EditorVR.Tools { sealed class ViewerScaleVisuals : MonoBehaviour, IUsesViewerScale diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index 7ee0cb24a..8eea924f9 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -244,7 +244,7 @@ public void UpdateSelf(float width, int depth, bool? expanded, bool selected, bo UpdateArrow(expanded); -#if UNITY_EDITOR +#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER var isPrefab = gameObject && PrefabUtility.GetPrefabInstanceStatus(gameObject) == PrefabInstanceStatus.Connected; #else var isPrefab = false; From 4990de806b1f94bf12dd48e769ff550ecfec83df Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Mon, 30 Sep 2019 10:10:20 -0700 Subject: [PATCH 57/75] Utilize the CCU for controlling compilation requirements for EditorXR --- Editor/BuildCallbacks.cs | 2 +- Editor/HapticPulsesEditor.cs | 2 +- Editor/ProxyFeedbackEditor.cs | 2 +- Editor/SeedXRInputBindings.cs | 2 +- Scripts/Core/Contexts/EditingContextManager.cs | 2 +- Scripts/Core/Contexts/EditorXRContext.cs | 2 +- Scripts/Core/EditorVR.DirectSelection.cs | 2 +- Scripts/Core/EditorVR.Interfaces.cs | 2 +- Scripts/Core/EditorVR.Menus.cs | 2 +- Scripts/Core/EditorVR.MiniWorlds.cs | 2 +- Scripts/Core/EditorVR.Rays.cs | 2 +- Scripts/Core/EditorVR.Tools.cs | 2 +- Scripts/Core/EditorVR.ToolsMenu.cs | 2 +- Scripts/Core/EditorVR.UI.cs | 2 +- Scripts/Core/EditorVR.Vacuumables.cs | 2 +- Scripts/Core/EditorVR.Viewer.cs | 2 +- Scripts/Core/EditorVR.cs | 7 ++++--- Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs | 2 +- .../InterfaceConnectors/AdaptivePositionModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/DeviceInputModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/FeedbackModuleConnector.cs | 2 +- .../InterfaceConnectors/GazeDivergenceModuleConnector.cs | 2 +- Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/HierarchyModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/HighlightModuleConnector.cs | 2 +- .../InterfaceConnectors/IntersectionModuleConnector.cs | 2 +- Scripts/Core/InterfaceConnectors/LockModuleConnector.cs | 2 +- .../InterfaceConnectors/MultipleRayInputModuleConnector.cs | 2 +- Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs | 2 +- .../InterfaceConnectors/ProjectFolderModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/SceneObjectModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/SelectionModuleConnector.cs | 2 +- .../SerializedPreferencesModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/SnappingModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/SpatialHashModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/SpatialHintModuleConnector.cs | 2 +- .../InterfaceConnectors/SpatialScrollModuleConnector.cs | 2 +- Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs | 2 +- Scripts/Core/InterfaceConnectors/WebModuleConnector.cs | 2 +- .../Core/InterfaceConnectors/WorkspaceModuleConnector.cs | 2 +- Scripts/Data/AssetData.cs | 2 +- Scripts/Data/DefaultScriptReferences.cs | 2 +- Scripts/Modules/HapticsModule/HapticsModule.cs | 2 +- Scripts/Modules/HierarchyModule.cs | 2 +- Scripts/Modules/ProjectFolderModule.cs | 2 +- Scripts/Modules/SelectionModule/SelectionModule.cs | 2 +- Scripts/UI/NumericInputField.cs | 4 ++-- Scripts/Utilities/CameraUtils.cs | 4 ++-- Tests/Editor/BuildPlayerTest.cs | 2 +- Tests/Editor/CompilationTest.cs | 2 ++ Tests/Editor/Unit/Core/EditingContextManagerTests.cs | 2 +- Tools/LocomotionTool/LocomotionTool.cs | 6 +++--- Tools/LocomotionTool/Scripts/Ring.cs | 2 +- Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs | 2 +- Workspaces/InspectorWorkspace/InspectorWorkspace.cs | 2 +- 55 files changed, 63 insertions(+), 60 deletions(-) diff --git a/Editor/BuildCallbacks.cs b/Editor/BuildCallbacks.cs index 2f1dbbaf1..814c073d1 100644 --- a/Editor/BuildCallbacks.cs +++ b/Editor/BuildCallbacks.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.IO; diff --git a/Editor/HapticPulsesEditor.cs b/Editor/HapticPulsesEditor.cs index 355432113..16f043564 100644 --- a/Editor/HapticPulsesEditor.cs +++ b/Editor/HapticPulsesEditor.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Core; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Editor/ProxyFeedbackEditor.cs b/Editor/ProxyFeedbackEditor.cs index 9a7e3dcf2..244599b21 100644 --- a/Editor/ProxyFeedbackEditor.cs +++ b/Editor/ProxyFeedbackEditor.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Editor/SeedXRInputBindings.cs b/Editor/SeedXRInputBindings.cs index 962befd8a..8fd23c031 100644 --- a/Editor/SeedXRInputBindings.cs +++ b/Editor/SeedXRInputBindings.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; // Copied from UnityEditor.XR.LegacyInputHelpers diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index 6d39184ec..60902dd58 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -149,7 +149,7 @@ static void EditProjectSettings() Selection.activeObject = settings; } -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR [SettingsProvider] static SettingsProvider CreateSettingsProvider() { diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index de7e22057..c4657c178 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.DirectSelection.cs b/Scripts/Core/EditorVR.DirectSelection.cs index 978dc9ae7..ad852cfee 100644 --- a/Scripts/Core/EditorVR.DirectSelection.cs +++ b/Scripts/Core/EditorVR.DirectSelection.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.Interfaces.cs b/Scripts/Core/EditorVR.Interfaces.cs index c8776d869..c7f79ecfd 100644 --- a/Scripts/Core/EditorVR.Interfaces.cs +++ b/Scripts/Core/EditorVR.Interfaces.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; diff --git a/Scripts/Core/EditorVR.Menus.cs b/Scripts/Core/EditorVR.Menus.cs index 7c551fee5..1f80c3af6 100644 --- a/Scripts/Core/EditorVR.Menus.cs +++ b/Scripts/Core/EditorVR.Menus.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.MiniWorlds.cs b/Scripts/Core/EditorVR.MiniWorlds.cs index 50446fce4..0251543dc 100644 --- a/Scripts/Core/EditorVR.MiniWorlds.cs +++ b/Scripts/Core/EditorVR.MiniWorlds.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Extensions; diff --git a/Scripts/Core/EditorVR.Rays.cs b/Scripts/Core/EditorVR.Rays.cs index f35fe0f21..038a5f10a 100644 --- a/Scripts/Core/EditorVR.Rays.cs +++ b/Scripts/Core/EditorVR.Rays.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Helpers; diff --git a/Scripts/Core/EditorVR.Tools.cs b/Scripts/Core/EditorVR.Tools.cs index 7e1f405e8..01fc9bbfe 100644 --- a/Scripts/Core/EditorVR.Tools.cs +++ b/Scripts/Core/EditorVR.Tools.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Core/EditorVR.ToolsMenu.cs b/Scripts/Core/EditorVR.ToolsMenu.cs index 10f1c7710..ae0497e16 100644 --- a/Scripts/Core/EditorVR.ToolsMenu.cs +++ b/Scripts/Core/EditorVR.ToolsMenu.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Linq; using UnityEngine; diff --git a/Scripts/Core/EditorVR.UI.cs b/Scripts/Core/EditorVR.UI.cs index 241802db1..74582fd15 100644 --- a/Scripts/Core/EditorVR.UI.cs +++ b/Scripts/Core/EditorVR.UI.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.UI; diff --git a/Scripts/Core/EditorVR.Vacuumables.cs b/Scripts/Core/EditorVR.Vacuumables.cs index 276183941..56ad9b390 100644 --- a/Scripts/Core/EditorVR.Vacuumables.cs +++ b/Scripts/Core/EditorVR.Vacuumables.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/EditorVR.Viewer.cs b/Scripts/Core/EditorVR.Viewer.cs index 770b7c89f..954b8e220 100644 --- a/Scripts/Core/EditorVR.Viewer.cs +++ b/Scripts/Core/EditorVR.Viewer.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections; using System.Collections.Generic; diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 8fc2ca325..87d7fa007 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -11,8 +11,9 @@ using UnityEngine.InputNew; [assembly: OptionalDependency("PolyToolkit.PolyApi", "INCLUDE_POLY_TOOLKIT")] +[assembly: OptionalDependency("UnityEditor.Experimental.EditorVR.Core.EditorVR", "ENABLE_EDITORXR")] -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR [assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] #endif @@ -21,7 +22,7 @@ namespace UnityEditor.Experimental.EditorVR.Core #if UNITY_EDITOR [InitializeOnLoad] #endif -#if UNITY_2018_4_OR_NEWER +#if UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER [RequiresTag(k_VRPlayerTag)] sealed partial class EditorVR : MonoBehaviour, IEditor, IConnectInterfaces { @@ -563,7 +564,7 @@ static NoEditorVR() { if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) { - var message = "EditorXR requires Unity 2018.4 or above."; + var message = "EditorXR requires Unity 2018.4 or the latest, non-beta version of Unity."; var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); switch (result) { diff --git a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs index 61ea9cf53..72d753904 100644 --- a/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ActionsModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs index 4b0f738e7..a0aa295f8 100644 --- a/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/AdaptivePositionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs index 0e0190a81..9b971e786 100644 --- a/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/DeviceInputModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs index 8ab7394c7..b4674ef46 100644 --- a/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/FeedbackModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR namespace UnityEditor.Experimental.EditorVR.Core { partial class EditorVR diff --git a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs index 3893a4c7b..f400c4cfe 100644 --- a/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/GazeDivergenceModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs index 02c40602b..1be28efd8 100644 --- a/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HapticsModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs index f44a78c10..35347efff 100644 --- a/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HierarchyModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR #if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs index a850350de..b3d5ed4a3 100644 --- a/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/HighlightModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs index 65b44bd00..bd7d4ede7 100644 --- a/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/IntersectionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs index da484764c..9d71c6c61 100644 --- a/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/LockModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs index cb7c05b67..693b46950 100644 --- a/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/MultipleRayInputModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs index eee08ba22..157220ea8 100644 --- a/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/PolyModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR; using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs index a32ec651a..afb209739 100644 --- a/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/ProjectFolderModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR #if UNITY_EDITOR using UnityEditor.Experimental.EditorVR.Modules; diff --git a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs index 2a9cd4026..aba422005 100644 --- a/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SceneObjectModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs index 805c562de..5dd18eaaf 100644 --- a/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SelectionModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs index 65775f9f9..1e390bd0c 100644 --- a/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SerializedPreferencesModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs index 40ad6efbf..b6bb52c2f 100644 --- a/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SnappingModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs index 4b938aae5..45b905434 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHashModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs index b58829d80..bf447cd9d 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialHintModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs index c14e21f3f..ebaeee7cf 100644 --- a/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/SpatialScrollModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs index a6ee2d1c3..6ad83e6b8 100644 --- a/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/TooltipModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs index d0669d537..6d877b7e5 100644 --- a/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WebModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; namespace UnityEditor.Experimental.EditorVR.Core diff --git a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs index b0fb4f832..44fb7d47e 100644 --- a/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs +++ b/Scripts/Core/InterfaceConnectors/WorkspaceModuleConnector.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using UnityEditor.Experimental.EditorVR.Modules; using UnityEditor.Experimental.EditorVR.Workspaces; diff --git a/Scripts/Data/AssetData.cs b/Scripts/Data/AssetData.cs index df04c5c7e..e5075c1d8 100644 --- a/Scripts/Data/AssetData.cs +++ b/Scripts/Data/AssetData.cs @@ -44,7 +44,7 @@ void UpdateType() { if (type == k_GameObjetTypeString) { -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR switch (PrefabUtility.GetPrefabAssetType(asset)) { case PrefabAssetType.Model: diff --git a/Scripts/Data/DefaultScriptReferences.cs b/Scripts/Data/DefaultScriptReferences.cs index 7e8d80378..0cce7374a 100644 --- a/Scripts/Data/DefaultScriptReferences.cs +++ b/Scripts/Data/DefaultScriptReferences.cs @@ -104,7 +104,7 @@ static void UpdateScriptReferences() if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR defaultScriptReferences.m_ScriptPrefab = PrefabUtility.SaveAsPrefabAsset(prefabsRoot, Path.ChangeExtension(k_Path, "prefab")); defaultScriptReferences.m_EditingContexts = EditingContextManager.GetEditingContextAssets().ConvertAll(ec => (ScriptableObject)ec); #endif diff --git a/Scripts/Modules/HapticsModule/HapticsModule.cs b/Scripts/Modules/HapticsModule/HapticsModule.cs index 434d3c161..9a8eaa4e5 100644 --- a/Scripts/Modules/HapticsModule/HapticsModule.cs +++ b/Scripts/Modules/HapticsModule/HapticsModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.IO; using UnityEditor.Experimental.EditorVR.Core; diff --git a/Scripts/Modules/HierarchyModule.cs b/Scripts/Modules/HierarchyModule.cs index 7e4841ff0..1888d069f 100644 --- a/Scripts/Modules/HierarchyModule.cs +++ b/Scripts/Modules/HierarchyModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.Linq; diff --git a/Scripts/Modules/ProjectFolderModule.cs b/Scripts/Modules/ProjectFolderModule.cs index 7937725a3..c0505fe99 100644 --- a/Scripts/Modules/ProjectFolderModule.cs +++ b/Scripts/Modules/ProjectFolderModule.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System; using System.Collections; using System.Collections.Generic; diff --git a/Scripts/Modules/SelectionModule/SelectionModule.cs b/Scripts/Modules/SelectionModule/SelectionModule.cs index a67c41c47..251805904 100644 --- a/Scripts/Modules/SelectionModule/SelectionModule.cs +++ b/Scripts/Modules/SelectionModule/SelectionModule.cs @@ -136,7 +136,7 @@ GameObject GetGroupRoot(GameObject hoveredObject) if (m_GroupMap.TryGetValue(hoveredObject, out groupParent)) return groupParent; -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR var groupRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(hoveredObject); if (groupRoot) diff --git a/Scripts/UI/NumericInputField.cs b/Scripts/UI/NumericInputField.cs index 230fe53eb..cc793cb2e 100644 --- a/Scripts/UI/NumericInputField.cs +++ b/Scripts/UI/NumericInputField.cs @@ -248,7 +248,7 @@ void ParseNumberField() if (!float.TryParse(m_Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out floatVal)) { -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR ExpressionEvaluator.Evaluate(m_Text, out floatVal); #endif } @@ -263,7 +263,7 @@ void ParseNumberField() int intVal; if (!int.TryParse(m_Text, out intVal)) { -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR ExpressionEvaluator.Evaluate(m_Text, out intVal); m_Text = intVal.ToString(k_IntFieldFormatString); #endif diff --git a/Scripts/Utilities/CameraUtils.cs b/Scripts/Utilities/CameraUtils.cs index 7cc87bd01..0e8c1d3e1 100644 --- a/Scripts/Utilities/CameraUtils.cs +++ b/Scripts/Utilities/CameraUtils.cs @@ -16,7 +16,7 @@ public static Camera GetMainCamera() if (!camera) camera = UnityObject.FindObjectOfType(); -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR var viewerCamera = VRView.viewerCamera; if (!Application.isPlaying && viewerCamera) camera = viewerCamera; @@ -32,7 +32,7 @@ public static Transform GetCameraRig() { var rig = camera.transform.parent; -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR if (!Application.isPlaying) { if (VRView.cameraRig) diff --git a/Tests/Editor/BuildPlayerTest.cs b/Tests/Editor/BuildPlayerTest.cs index b1e0c0293..a50b17bd9 100644 --- a/Tests/Editor/BuildPlayerTest.cs +++ b/Tests/Editor/BuildPlayerTest.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR #if !UNITY_CLOUD_BUILD using NUnit.Framework; diff --git a/Tests/Editor/CompilationTest.cs b/Tests/Editor/CompilationTest.cs index 04376ad19..84ea825cb 100644 --- a/Tests/Editor/CompilationTest.cs +++ b/Tests/Editor/CompilationTest.cs @@ -31,6 +31,8 @@ public void NoEditorVR() { var defines = EditorUserBuildSettings.activeScriptCompilationDefines.ToList(); defines.Remove("UNITY_2018_4_OR_NEWER"); + defines.Remove("UNITY_2019_1_OR_NEWER"); + defines.Remove("ENABLE_EDITORXR"); TestCompile(defines.ToArray()); } diff --git a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs index edd0c1991..4d501a3c6 100644 --- a/Tests/Editor/Unit/Core/EditingContextManagerTests.cs +++ b/Tests/Editor/Unit/Core/EditingContextManagerTests.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using NUnit.Framework; using System.Collections.Generic; using System.IO; diff --git a/Tools/LocomotionTool/LocomotionTool.cs b/Tools/LocomotionTool/LocomotionTool.cs index 08e7536ff..2aec17e9f 100644 --- a/Tools/LocomotionTool/LocomotionTool.cs +++ b/Tools/LocomotionTool/LocomotionTool.cs @@ -272,7 +272,7 @@ public void ProcessInput(ActionMapInput input, ConsumeControlDelegate consumeCon // HACK: Because we don't get mouse input through action maps, just use Update void Update() { -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR var mouseDelta = VRView.MouseDelta; if (VRView.LeftMouseButtonHeld) @@ -772,7 +772,7 @@ bool DoTwoHandedScaling(ConsumeControlDelegate consumeControl) if (worldResetHeld && otherWorldResetHeld) { m_AllowScaling = false; -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR cameraRig.position = VRView.headCenteredOrigin; #endif cameraRig.rotation = Quaternion.identity; @@ -845,7 +845,7 @@ IEnumerator MoveTowardTarget(Vector3 targetPosition) var offset = cameraRig.position - CameraUtils.GetMainCamera().transform.position; offset.y = 0; -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR offset += VRView.headCenteredOrigin * this.GetViewerScale(); #endif diff --git a/Tools/LocomotionTool/Scripts/Ring.cs b/Tools/LocomotionTool/Scripts/Ring.cs index 7728e7d86..b688c8e6a 100644 --- a/Tools/LocomotionTool/Scripts/Ring.cs +++ b/Tools/LocomotionTool/Scripts/Ring.cs @@ -111,7 +111,7 @@ void Update() m_EleveationText.color = new Color(1f, 1f, 1f, m_IntensityCore); m_CoordinatesText.color = new Color(1f, 1f, 1f, Mathf.Max(m_IntensityCore, m_Intensity)); -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR if (VRView.MiddleMouseButtonHeld && !m_MouseWasHeld) m_CoordinatesText.enabled = !m_CoordinatesText.enabled; #endif diff --git a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs index 8eea924f9..50ac5c914 100644 --- a/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs +++ b/Workspaces/HierarchyWorkspace/Scripts/HierarchyListItem.cs @@ -244,7 +244,7 @@ public void UpdateSelf(float width, int depth, bool? expanded, bool selected, bo UpdateArrow(expanded); -#if UNITY_EDITOR && UNITY_2018_4_OR_NEWER +#if UNITY_EDITOR && ENABLE_EDITORXR var isPrefab = gameObject && PrefabUtility.GetPrefabInstanceStatus(gameObject) == PrefabInstanceStatus.Connected; #else var isPrefab = false; diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index 98f340f99..a927c71ab 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -1,4 +1,4 @@ -#if UNITY_2018_4_OR_NEWER +#if ENABLE_EDITORXR using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Handles; From bd83d0509a097eb2447d89ac99da90f40a735263 Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Mon, 30 Sep 2019 15:00:31 -0700 Subject: [PATCH 58/75] Fix compile error --- Scripts/Core/EditorVR.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 87d7fa007..35ffe4547 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -11,7 +11,7 @@ using UnityEngine.InputNew; [assembly: OptionalDependency("PolyToolkit.PolyApi", "INCLUDE_POLY_TOOLKIT")] -[assembly: OptionalDependency("UnityEditor.Experimental.EditorVR.Core.EditorVR", "ENABLE_EDITORXR")] +[assembly: OptionalDependency("UnityEditor.Experimental.EditorVR.Core.EditorXRRequirementsMet", "ENABLE_EDITORXR")] #if ENABLE_EDITORXR [assembly: OptionalDependency("TMPro.TextMeshProUGUI", "INCLUDE_TEXT_MESH_PRO")] @@ -19,10 +19,14 @@ namespace UnityEditor.Experimental.EditorVR.Core { +#if UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER + class EditorXRRequirementsMet { } +#endif + #if UNITY_EDITOR [InitializeOnLoad] #endif -#if UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER +#if ENABLE_EDITORXR [RequiresTag(k_VRPlayerTag)] sealed partial class EditorVR : MonoBehaviour, IEditor, IConnectInterfaces { From 5394ac78a0831e11ea06672d6b0c36827dde7efe Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Fri, 4 Oct 2019 16:04:29 -0700 Subject: [PATCH 59/75] Wrap in conditional define to see if that fixes compilation order --- Scripts/Core/Contexts/EditingContextManager.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index 60902dd58..aa535fc28 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -1,3 +1,4 @@ +#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.IO; @@ -549,4 +550,5 @@ static void InitializeInputManager() ObjectUtils.Destroy(s_InputManager.GetComponent()); } } -} \ No newline at end of file +} +#endif \ No newline at end of file From 3d44ca82072c5ec1a07ce06f1de875e64fe0cc5d Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Fri, 4 Oct 2019 16:52:43 -0700 Subject: [PATCH 60/75] Apply another pass at fixing compile errors --- Editor/EditingContextManagerEditor.cs | 4 +++- Scripts/Core/Contexts/EditingContextManager.cs | 6 +++--- Scripts/Core/Contexts/EditorXRContext.cs | 6 +++--- Scripts/Core/VRView.cs | 2 ++ Scripts/Helpers/PlayerFloor.cs | 2 ++ Scripts/Helpers/VRSmoothCamera.cs | 2 +- Tests/Editor/EditorVRTestInitializer.cs | 4 +++- Tools/LocomotionTool/Scripts/Ring.cs | 3 ++- 8 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Editor/EditingContextManagerEditor.cs b/Editor/EditingContextManagerEditor.cs index 371469302..f1bbad1cb 100644 --- a/Editor/EditingContextManagerEditor.cs +++ b/Editor/EditingContextManagerEditor.cs @@ -1,4 +1,5 @@ -using System; +#if ENABLE_EDITORXR +using System; using UnityEngine; namespace UnityEditor.Experimental.EditorVR.Core @@ -51,3 +52,4 @@ public override void OnInspectorGUI() } } } +#endif \ No newline at end of file diff --git a/Scripts/Core/Contexts/EditingContextManager.cs b/Scripts/Core/Contexts/EditingContextManager.cs index aa535fc28..ab551aa5c 100644 --- a/Scripts/Core/Contexts/EditingContextManager.cs +++ b/Scripts/Core/Contexts/EditingContextManager.cs @@ -1,4 +1,3 @@ -#if ENABLE_EDITORXR using System; using System.Collections.Generic; using System.IO; @@ -18,6 +17,7 @@ namespace UnityEditor.Experimental.EditorVR.Core #endif sealed class EditingContextManager : MonoBehaviour { +#if ENABLE_EDITORXR #pragma warning disable 649 [SerializeField] UnityObject m_DefaultContext; @@ -549,6 +549,6 @@ static void InitializeInputManager() ObjectUtils.Destroy(s_InputManager.GetComponent()); ObjectUtils.Destroy(s_InputManager.GetComponent()); } +#endif // ENABLE_EDITORXR } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index c4657c178..06d76dabb 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -1,5 +1,4 @@ -#if ENABLE_EDITORXR -using System; +using System; using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.EditorVR.Utilities; @@ -11,6 +10,7 @@ namespace UnityEditor.Experimental.EditorVR.Core [CreateAssetMenu(menuName = "EditorXR/Editing Context")] class EditorXRContext : ScriptableObject, IEditingContext { +#if ENABLE_EDITORXR static EditorVR s_Instance; // Used only by PreferencesGUI #pragma warning disable 649 @@ -167,6 +167,6 @@ static void PreferencesGUI() EditorGUILayout.EndVertical(); } #endif +#endif // ENABLE_EDITORXR } } -#endif diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 3dd1ab726..d92ba7af4 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -1,3 +1,4 @@ +#if ENABLE_EDITORXR using System; using System.Linq; using System.Reflection; @@ -523,3 +524,4 @@ void SetAutoRepaintOnSceneChanged(Type viewType, bool enabled) #endif } } +#endif \ No newline at end of file diff --git a/Scripts/Helpers/PlayerFloor.cs b/Scripts/Helpers/PlayerFloor.cs index 2905ed612..dfb3a47e4 100644 --- a/Scripts/Helpers/PlayerFloor.cs +++ b/Scripts/Helpers/PlayerFloor.cs @@ -46,7 +46,9 @@ void Update() m_FloorPosition.x = m_Camera.position.x + k_XOffset * currentScale; m_FloorPosition.z = m_Camera.position.z - k_ZOffset * currentScale; m_FloorPosition.y = m_CameraRig.transform.position.y; +#if ENABLE_EDITORXR m_FloorPosition -= VRView.headCenteredOrigin * currentScale; +#endif transform.position = m_FloorPosition; m_CameraForwardTarget = m_Camera.transform.XZForward(); m_CameraForwardCurrent = Vector3.Lerp(m_CameraForwardCurrent, m_CameraForwardTarget, Time.unscaledDeltaTime * kLerpMultiplier); diff --git a/Scripts/Helpers/VRSmoothCamera.cs b/Scripts/Helpers/VRSmoothCamera.cs index 2672cf39f..5f3022dd4 100644 --- a/Scripts/Helpers/VRSmoothCamera.cs +++ b/Scripts/Helpers/VRSmoothCamera.cs @@ -95,7 +95,7 @@ void LateUpdate() { m_SmoothCamera.CopyFrom(m_VRCamera); // This copies the transform as well var vrCameraTexture = m_VRCamera.targetTexture; -#if UNITY_EDITOR +#if UNITY_EDITOR && ENABLE_EDITORXR if (vrCameraTexture && (!m_RenderTexture || m_RenderTexture.width != vrCameraTexture.width || m_RenderTexture.height != vrCameraTexture.height)) { var guiRect = new Rect(0f, 0f, vrCameraTexture.width, vrCameraTexture.height); diff --git a/Tests/Editor/EditorVRTestInitializer.cs b/Tests/Editor/EditorVRTestInitializer.cs index ff872b360..930761cdf 100644 --- a/Tests/Editor/EditorVRTestInitializer.cs +++ b/Tests/Editor/EditorVRTestInitializer.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +#if ENABLE_EDITORXR +using NUnit.Framework; using UnityEditor.Experimental.EditorVR.Core; namespace UnityEditor.Experimental.EditorVR.Tests.Core @@ -28,3 +29,4 @@ public void CleanupAfterAllTests() } } } +#endif \ No newline at end of file diff --git a/Tools/LocomotionTool/Scripts/Ring.cs b/Tools/LocomotionTool/Scripts/Ring.cs index b688c8e6a..6f1a2bbb8 100644 --- a/Tools/LocomotionTool/Scripts/Ring.cs +++ b/Tools/LocomotionTool/Scripts/Ring.cs @@ -1,3 +1,4 @@ + using TMPro; using UnityEditor.Experimental.EditorVR.Core; using UnityEditor.Experimental.EditorVR.Utilities; @@ -114,9 +115,9 @@ void Update() #if ENABLE_EDITORXR if (VRView.MiddleMouseButtonHeld && !m_MouseWasHeld) m_CoordinatesText.enabled = !m_CoordinatesText.enabled; -#endif m_MouseWasHeld = VRView.MiddleMouseButtonHeld; +#endif var ringEnabled = !Mathf.Approximately(m_Intensity, 0f); m_RingRenderer.enabled = ringEnabled; From 587d0827d212eae74433b588c52d94366d006d9b Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Fri, 4 Oct 2019 17:03:39 -0700 Subject: [PATCH 61/75] Fix another compile error during install steps --- Scripts/Core/Contexts/EditorXRContext.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index 06d76dabb..c51c620f9 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -10,7 +10,21 @@ namespace UnityEditor.Experimental.EditorVR.Core [CreateAssetMenu(menuName = "EditorXR/Editing Context")] class EditorXRContext : ScriptableObject, IEditingContext { -#if ENABLE_EDITORXR +#if !ENABLE_EDITORXR + public bool copyMainCameraSettings { get; } + public bool copyMainCameraImageEffectsToHMD { get; } + public bool copyMainCameraImageEffectsToPresentationCamera { get; } + public bool instanceExists { get; } + public void Setup() + { + throw new NotImplementedException(); + } + + public void Dispose() + { + throw new NotImplementedException(); + } +#else static EditorVR s_Instance; // Used only by PreferencesGUI #pragma warning disable 649 @@ -167,6 +181,6 @@ static void PreferencesGUI() EditorGUILayout.EndVertical(); } #endif -#endif // ENABLE_EDITORXR +#endif // !ENABLE_EDITORXR } } From 7c090b9923d7124885b6500d684d3b7b10c1b38a Mon Sep 17 00:00:00 2001 From: Amir Ebrahimi Date: Fri, 4 Oct 2019 17:12:46 -0700 Subject: [PATCH 62/75] Fix missing EditorVR class to match .cs filename --- Scripts/Core/EditorVR.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 35ffe4547..a84bba69c 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -560,11 +560,11 @@ static EditorVR() #endif } #else - class NoEditorVR + class EditorVR { const string k_ShowCustomEditorWarning = "EditorVR.ShowCustomEditorWarning"; - static NoEditorVR() + static EditorVR() { if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) { From 24e556a0ece2163ac2c280f37d7164f45fda6b17 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Tue, 22 Oct 2019 10:49:36 -0700 Subject: [PATCH 63/75] Add `!(UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER)` check around EditorVR fallback class to prevent version warning dialog from appearing in supported versions; Add `OptionalDependency` attribute for UnityEngine.SpatialTracking and automatically import `com.unity.xr.legacyinputhelpers` if it is missing --- Scripts/Core/EditorVR.cs | 7 +++++-- Scripts/Core/VRView.cs | 20 +++++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index a84bba69c..091908522 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -23,10 +23,10 @@ namespace UnityEditor.Experimental.EditorVR.Core class EditorXRRequirementsMet { } #endif +#if ENABLE_EDITORXR #if UNITY_EDITOR [InitializeOnLoad] #endif -#if ENABLE_EDITORXR [RequiresTag(k_VRPlayerTag)] sealed partial class EditorVR : MonoBehaviour, IEditor, IConnectInterfaces { @@ -559,7 +559,10 @@ static EditorVR() } #endif } -#else +#elif !(UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER) +#if UNITY_EDITOR + [InitializeOnLoad] +#endif class EditorVR { const string k_ShowCustomEditorWarning = "EditorVR.ShowCustomEditorWarning"; diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index d92ba7af4..16f799f81 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -2,17 +2,26 @@ using System; using System.Linq; using System.Reflection; +using UnityEditor.Experimental.EditorVR; using UnityEditor.Experimental.EditorVR.Helpers; using UnityEditor.Experimental.EditorVR.Utilities; using UnityEngine; using UnityEngine.Assertions; -using UnityEngine.SpatialTracking; using UnityEngine.XR; using InputTracking = UnityEngine.XR.InputTracking; using TrackingSpaceType = UnityEngine.XR.TrackingSpaceType; +#if INCLUDE_SPATIAL_TRACKING +using UnityEngine.SpatialTracking; +#endif + +[assembly: OptionalDependency("UnityEngine.SpatialTracking.TrackedPoseDriver", "INCLUDE_SPATIAL_TRACKING")] + namespace UnityEditor.Experimental.EditorVR.Core { +#if UNITY_EDITOR + [InitializeOnLoad] +#endif sealed class VRView #if UNITY_EDITOR : EditorWindow @@ -68,6 +77,13 @@ public static Camera customPreviewCamera Rect m_ToggleDeviceViewRect = new Rect(5, 0, 140, 20); // Width will be set based on window size Rect m_PresentationCameraRect = new Rect(0, 0, 165, 20); // Y position and width will be set based on window size +#if !INCLUDE_SPATIAL_TRACKING && UNITY_2019_1_OR_NEWER + static VRView() + { + PackageManager.Client.Add("com.unity.xr.legacyinputhelpers"); + } +#endif + public static Transform cameraRig { get @@ -211,11 +227,13 @@ public static void CreateCameraRig(ref Camera camera, ref Transform cameraRig) if (Application.isPlaying) { +#if INCLUDE_SPATIAL_TRACKING var tpd = camera.GetComponent(); if (!tpd) tpd = camera.gameObject.AddComponent(); tpd.UseRelativeTransform = false; +#endif } else { From d384feff80e3d673b4e5ff61e26312301c1ffbf4 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 28 Oct 2019 09:45:42 -0700 Subject: [PATCH 64/75] Remove warnings that appear if PolyToolkit is not in the project --- Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs | 2 +- Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs index 05cd29ccd..98d1974ec 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridAsset.cs @@ -40,10 +40,10 @@ public class PolyGridAsset : IListViewItemData, IWeb public bool initialized { get { return m_Initialized; } } public long complexity { get { return m_Complexity; } } +#if INCLUDE_POLY_TOOLKIT public event Action modelImportCompleted; public event Action thumbnailImportCompleted; -#if INCLUDE_POLY_TOOLKIT static PolyGridAsset() { s_Options = PolyImportOptions.Default(); diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs index 702e0bb2c..f3d012797 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridItem.cs @@ -189,8 +189,10 @@ public void UpdateTransforms(float scale) if (!data.initialized) data.Initialize(); +#if INCLUDE_POLY_TOOLKIT data.modelImportCompleted += OnModelImportCompleted; data.thumbnailImportCompleted += OnThumbnailImportCompleted; +#endif } // Don't scale the item while changing visibility because this would conflict with AnimateVisibility @@ -406,11 +408,13 @@ IEnumerator AnimateVisibility(bool visible, Action callback) { transform.localScale = Vector3.zero; } +#if INCLUDE_POLY_TOOLKIT else { data.modelImportCompleted -= OnModelImportCompleted; data.thumbnailImportCompleted -= OnThumbnailImportCompleted; } +#endif var currentScale = transform.localScale; var targetScale = visible ? m_IconScale * scaleFactor : Vector3.zero; From f5fdfbcb84f57956e3da6d0474a54a7564dc54ec Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 28 Oct 2019 14:25:50 -0700 Subject: [PATCH 65/75] Move version check into its own file in the CCU assembly; Split asmdef patch into PolyToolkit and SpatialTracking; Update readme to reflect current setup process; Add stub class with serialized fields to ensure EditorVR default references survive package import --- ...smdef_Dependencies_Pre_2019_1.unitypackage | 3 -- Patches/PolyToolkit_asmdef.unitypackage | 3 ++ ...a => PolyToolkit_asmdef.unitypackage.meta} | 2 +- Patches/SpatialTracking_2018.4.unitypackage | 3 ++ .../SpatialTracking_2018.4.unitypackage.meta | 7 +++ README.md | 12 +++-- Scripts/Core/EditorVR.cs | 46 ++++++++----------- .../Editor/EXR-Utilities-Editor.asmdef | 12 +++-- Scripts/Utilities/Editor/VersionCheck.cs | 33 +++++++++++++ Scripts/Utilities/Editor/VersionCheck.cs.meta | 11 +++++ 10 files changed, 93 insertions(+), 39 deletions(-) delete mode 100644 Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage create mode 100644 Patches/PolyToolkit_asmdef.unitypackage rename Patches/{Asmdef_Dependencies_Pre_2019_1.unitypackage.meta => PolyToolkit_asmdef.unitypackage.meta} (74%) create mode 100644 Patches/SpatialTracking_2018.4.unitypackage create mode 100644 Patches/SpatialTracking_2018.4.unitypackage.meta create mode 100644 Scripts/Utilities/Editor/VersionCheck.cs create mode 100644 Scripts/Utilities/Editor/VersionCheck.cs.meta diff --git a/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage b/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage deleted file mode 100644 index 7b220d68c..000000000 --- a/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92141740e6a868417b9d76f3cef3dd6acae8d91c8525a7d98cdbbadefe751a9c -size 1462 diff --git a/Patches/PolyToolkit_asmdef.unitypackage b/Patches/PolyToolkit_asmdef.unitypackage new file mode 100644 index 000000000..345fad939 --- /dev/null +++ b/Patches/PolyToolkit_asmdef.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e43ac761d1b09682c67f31688b8311010456ec799223ea13f8ff33289721b3c +size 771 diff --git a/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage.meta b/Patches/PolyToolkit_asmdef.unitypackage.meta similarity index 74% rename from Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage.meta rename to Patches/PolyToolkit_asmdef.unitypackage.meta index f62fbca2c..85025da08 100644 --- a/Patches/Asmdef_Dependencies_Pre_2019_1.unitypackage.meta +++ b/Patches/PolyToolkit_asmdef.unitypackage.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6abfefbdb52a5274ba0e5293dfe29473 +guid: 9d8a8043219ecc2468e7d901b7eff3ff DefaultImporter: externalObjects: {} userData: diff --git a/Patches/SpatialTracking_2018.4.unitypackage b/Patches/SpatialTracking_2018.4.unitypackage new file mode 100644 index 000000000..5b09533ca --- /dev/null +++ b/Patches/SpatialTracking_2018.4.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e3581333ae4af126957d8a0e67c5931d819a3ca176ec387094711973ff14398 +size 627 diff --git a/Patches/SpatialTracking_2018.4.unitypackage.meta b/Patches/SpatialTracking_2018.4.unitypackage.meta new file mode 100644 index 000000000..7c2506198 --- /dev/null +++ b/Patches/SpatialTracking_2018.4.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 06d3631214f49e044a2e0f9fcf6dc5b6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md index fbdb01036..86f202d43 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,10 @@ If you're a developer, we recommend that you take a look at the [Getting Started - [git-lfs](https://git-lfs.github.com/) - [git-submodule](https://git-scm.com/docs/git-submodule) -### Project Asset Dependencies +### Project Package Dependencies - [Textmesh Pro](https://docs.unity3d.com/Packages/com.unity.textmeshpro@1.2/manual/index.html#installation) - [Legacy Input Helpers](https://docs.unity3d.com/Packages/com.unity.xr.legacyinputhelpers@1.0/manual/index.html#installing-comunityxrlegacyinputhelpers) (2019.1+) - - Users of 2018.3 do not need Legacy Input Helpers + - Users of 2018.4 do not need Legacy Input Helpers ### Cloning 1. Create a new Unity project or use an existing one @@ -46,11 +46,13 @@ Optionally, you could add a [git hook for post-checkout](https://ttboj.wordpress If you plan on making changes to EditorXR and/or contributing back, then you'll need to set the `Asset Serialization` property under Edit->Project Settings->Editor to `Force Text`. ### Assembly Definitions -In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. Some of EditorXR's dependencies do not include assembly definitions in their current forms, so after importing EditorXR (in Unity 2018.3 and below), you must add them. +In order to support a variety of platform configurations, and to optionally strip its code out of player builds, EditorXR uses assembly definitions. Some of EditorXR's dependencies do not include assembly definitions in their current forms, so after importing EditorXR (in Unity 2018.4), you must add them. -For easy set-up, EditorXR includes a .unitypackage (`Patches/Dependencies_asmdef.unitypackage`) containing an assembly definition for the PolyToolkit and UnityEngine.SpatialTracking, which are referenced by EditorXR. Simply import it via Assets > Import Package > Custom Package... +For easy set-up when cloning the repository, EditorXR includes two `.unitypackage` files (`Patches/PolyToolkit_asmdef.unitypackage` and `Patches/SpatialTracking_2018.4.unitypackage`) containing assembly definitions for the Google Poly Toolkit and UnityEngine.SpatialTracking, which are referenced by EditorXR. Simply import them via Assets > Import Package > Custom Package... +- **For all Unity versions**: import the `PolyToolkit_asmdef` package to add assembly definitions to the PolyToolkit folder if you wish to integrate the PolyToolkit from the Asset Store +- **For Unity 2018.4**: Import both the `PolyToolkit_asmdef` *and* `SpatialTracking_2018.4` packages to fix compile errors that occur due to missing package dependencies -This is not required for Unity versions 2019.1 and above, though you will need to add an assembly definition in order to reference PolyToolkit. +If you are using the release package, you will need to *delete* the `UnityEngine.SpatialTracking` assembly definition to prevent it from conflicting with the assembly definiton from the `Legacy Input Helpers` package, which will be automatically imported when you import EditorXR. ## All contributions are subject to the [Unity Contribution Agreement (UCA)](https://unity3d.com/legal/licenses/Unity_Contribution_Agreement) By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions. diff --git a/Scripts/Core/EditorVR.cs b/Scripts/Core/EditorVR.cs index 091908522..b2531e4b5 100644 --- a/Scripts/Core/EditorVR.cs +++ b/Scripts/Core/EditorVR.cs @@ -559,34 +559,28 @@ static EditorVR() } #endif } -#elif !(UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER) -#if UNITY_EDITOR - [InitializeOnLoad] -#endif - class EditorVR +#else + sealed partial class EditorVR : MonoBehaviour { - const string k_ShowCustomEditorWarning = "EditorVR.ShowCustomEditorWarning"; +#pragma warning disable 649 + [SerializeField] + MonoBehaviour m_ProxyRayPrefab; - static EditorVR() - { - if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) - { - var message = "EditorXR requires Unity 2018.4 or the latest, non-beta version of Unity."; - var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); - switch (result) - { - case 0: - Application.OpenURL("https://unity3d.com/get-unity/download"); - break; - case 1: - EditorPrefs.SetBool(k_ShowCustomEditorWarning, false); - break; - case 2: - Debug.Log("" + message + ""); - break; - } - } - } + [SerializeField] + ScriptableObject m_ProxyExtras; + + [SerializeField] + Camera m_EventCameraPrefab; + + [SerializeField] + GameObject m_PlayerModelPrefab; + + [SerializeField] + GameObject m_PlayerFloorPrefab; + + [SerializeField] + GameObject m_PreviewCameraPrefab; +#pragma warning restore 649 } #endif } diff --git a/Scripts/Utilities/Editor/EXR-Utilities-Editor.asmdef b/Scripts/Utilities/Editor/EXR-Utilities-Editor.asmdef index 21fbc88c9..12fb26b3a 100644 --- a/Scripts/Utilities/Editor/EXR-Utilities-Editor.asmdef +++ b/Scripts/Utilities/Editor/EXR-Utilities-Editor.asmdef @@ -1,10 +1,14 @@ { "name": "EXR-Utilities-Editor", - "references": [ - "EXR" - ], + "references": [], + "optionalUnityReferences": [], "includePlatforms": [ "Editor" ], - "excludePlatforms": [] + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] } \ No newline at end of file diff --git a/Scripts/Utilities/Editor/VersionCheck.cs b/Scripts/Utilities/Editor/VersionCheck.cs new file mode 100644 index 000000000..31a9f81f8 --- /dev/null +++ b/Scripts/Utilities/Editor/VersionCheck.cs @@ -0,0 +1,33 @@ +#if !(UNITY_2018_4_OR_NEWER || UNITY_2019_1_OR_NEWER) +using UnityEngine; + +namespace UnityEditor.Experimental.EditorVR.Core +{ + [InitializeOnLoad] + class VersionCheck + { + const string k_ShowCustomEditorWarning = "EditorVR.ShowCustomEditorWarning"; + + static VersionCheck() + { + if (EditorPrefs.GetBool(k_ShowCustomEditorWarning, true)) + { + var message = "EditorXR requires Unity 2018.4 or the latest, non-beta version of Unity."; + var result = EditorUtility.DisplayDialogComplex("Update Unity", message, "Download", "Ignore", "Remind Me Again"); + switch (result) + { + case 0: + Application.OpenURL("https://unity3d.com/get-unity/download"); + break; + case 1: + EditorPrefs.SetBool(k_ShowCustomEditorWarning, false); + break; + case 2: + Debug.Log("" + message + ""); + break; + } + } + } + } +} +#endif diff --git a/Scripts/Utilities/Editor/VersionCheck.cs.meta b/Scripts/Utilities/Editor/VersionCheck.cs.meta new file mode 100644 index 000000000..46bbeb805 --- /dev/null +++ b/Scripts/Utilities/Editor/VersionCheck.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a47596688951b3c46bde336d85589b9f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From d5acf53e371fc065d84e1b4b2d69d966153e11ac Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 31 Oct 2019 19:03:39 -0700 Subject: [PATCH 66/75] Fix scaling issue in VRView if presentation camera is enabled; Catch NullReferenceExceptions in SetupMonoScriptTypeNames that can occur if there are import issues on referenced MonoScripts or if file names don't match class names; Fix BoundsExtensions.ContainsCompletely; Fix scaling issue in ProjectWorkspace and PolyWorkspace --- Scripts/Core/Contexts/EditorXRContext.cs | 47 +++++++++++++++++-- Scripts/Core/VRView.cs | 2 +- Scripts/Extensions/BoundsExtensions.cs | 7 +-- .../Scripts/PolyGridViewController.cs | 2 + .../Scripts/AssetGridViewController.cs | 2 + 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/Scripts/Core/Contexts/EditorXRContext.cs b/Scripts/Core/Contexts/EditorXRContext.cs index c51c620f9..1dc543f98 100644 --- a/Scripts/Core/Contexts/EditorXRContext.cs +++ b/Scripts/Core/Contexts/EditorXRContext.cs @@ -133,17 +133,56 @@ void OnValidate() void SetupMonoScriptTypeNames() { + const string warningString = "Could not get class for MonoScript: {0}"; if (m_DefaultMainMenu) - m_DefaultMainMenuName = m_DefaultMainMenu.GetClass().AssemblyQualifiedName; + { + var defaultMenuType = m_DefaultMainMenu.GetClass(); + if (defaultMenuType == null) + Debug.LogWarningFormat(warningString, AssetDatabase.GetAssetPath(m_DefaultMainMenu)); + else + m_DefaultMainMenuName = defaultMenuType.AssemblyQualifiedName; + } if (m_DefaultAlternateMenu) - m_DefaultAlternateMenuName = m_DefaultAlternateMenu.GetClass().AssemblyQualifiedName; + { + var defaultAlternateMenuType = m_DefaultAlternateMenu.GetClass(); + if (defaultAlternateMenuType == null) + Debug.LogWarningFormat(warningString, AssetDatabase.GetAssetPath(m_DefaultAlternateMenu)); + else + m_DefaultAlternateMenuName = defaultAlternateMenuType.AssemblyQualifiedName; + } if (m_DefaultToolStack != null) - m_DefaultToolStackNames = m_DefaultToolStack.Select(ms => ms.GetClass().AssemblyQualifiedName).ToList(); + { + m_DefaultToolStackNames = new List(); + foreach (var defaultToolType in m_DefaultToolStack) + { + var defaultToolClass = defaultToolType.GetClass(); + if (defaultToolClass == null) + { + Debug.LogWarningFormat(warningString, AssetDatabase.GetAssetPath(defaultToolType)); + continue; + } + + m_DefaultToolStackNames.Add(defaultToolClass.AssemblyQualifiedName); + } + } if (m_HiddenTypes != null) - m_HiddenTypeNames = m_HiddenTypes.Select(ms => ms.GetClass().AssemblyQualifiedName).ToList(); + { + m_HiddenTypeNames = new List(); + foreach (var hiddenType in m_HiddenTypes) + { + var hiddenTypeClass = hiddenType.GetClass(); + if (hiddenTypeClass == null) + { + Debug.LogWarningFormat(warningString, AssetDatabase.GetAssetPath(hiddenType)); + continue; + } + + m_HiddenTypeNames.Add(hiddenTypeClass.AssemblyQualifiedName); + } + } } static void PreferencesGUI() diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 16f799f81..3d2cf7ee8 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -369,7 +369,7 @@ void PrepareCameraTargetTexture(Rect cameraRect) // Always render camera into a RT CreateCameraTargetTexture(ref m_TargetTexture, cameraRect, false); m_Camera.targetTexture = m_TargetTexture; - XRSettings.showDeviceView = !customPreviewCamera && m_ShowDeviceView; + XRSettings.showDeviceView = m_ShowDeviceView; } void OnGUI() diff --git a/Scripts/Extensions/BoundsExtensions.cs b/Scripts/Extensions/BoundsExtensions.cs index 03d651586..49764d21a 100644 --- a/Scripts/Extensions/BoundsExtensions.cs +++ b/Scripts/Extensions/BoundsExtensions.cs @@ -10,11 +10,8 @@ static class BoundsExtensions /// The bounds to compare with this one public static bool ContainsCompletely(this Bounds bounds, Bounds otherBounds) { - if (bounds.min.MinComponent() > otherBounds.min.MinComponent() - || bounds.max.MinComponent() < otherBounds.max.MinComponent()) - return false; - - return true; + return bounds.max.x >= otherBounds.max.x && bounds.max.y >= otherBounds.max.y && bounds.max.z >= otherBounds.max.z + && bounds.min.x <= otherBounds.min.x && bounds.min.y <= otherBounds.min.y && bounds.min.z <= otherBounds.min.z; } } } diff --git a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs index b7ea5995b..9a3dea9db 100644 --- a/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs +++ b/Workspaces/PolyWorkspace/Scripts/PolyGridViewController.cs @@ -115,6 +115,8 @@ void SetNextPageToken(string nextPageToken) protected override void ComputeConditions() { + m_ItemSize = GetObjectSize(m_Templates[0]); + base.ComputeConditions(); m_NumPerRow = (int)(m_Size.x / m_ItemSize.x); diff --git a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs index 566c1a02b..bba839b19 100644 --- a/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs +++ b/Workspaces/ProjectWorkspace/Scripts/AssetGridViewController.cs @@ -96,6 +96,8 @@ protected override void Start() protected override void ComputeConditions() { + m_ItemSize = GetObjectSize(m_Templates[0]); + base.ComputeConditions(); m_NumPerRow = (int)(m_Size.x / m_ItemSize.x); From 779c4a0a4a3d214203372b89ba4dad5811ba6a2f Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 31 Oct 2019 19:15:34 -0700 Subject: [PATCH 67/75] Fix an issue where VRSmoothCamera was creating a new RenderTarget every frame; Fix GUI scaling issue when device view is disabled --- Scripts/Core/VRView.cs | 3 +++ Scripts/Helpers/VRSmoothCamera.cs | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 3d2cf7ee8..2d4647bf0 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -464,6 +464,9 @@ void DoDrawCamera(Rect rect) if (!XRDevice.isPresent) return; + if (!m_ShowDeviceView) + return; + UnityEditor.Handles.DrawCamera(rect, m_Camera, m_RenderMode); if (Event.current.type == EventType.Repaint) { diff --git a/Scripts/Helpers/VRSmoothCamera.cs b/Scripts/Helpers/VRSmoothCamera.cs index 5f3022dd4..69035cc2c 100644 --- a/Scripts/Helpers/VRSmoothCamera.cs +++ b/Scripts/Helpers/VRSmoothCamera.cs @@ -98,8 +98,7 @@ void LateUpdate() #if UNITY_EDITOR && ENABLE_EDITORXR if (vrCameraTexture && (!m_RenderTexture || m_RenderTexture.width != vrCameraTexture.width || m_RenderTexture.height != vrCameraTexture.height)) { - var guiRect = new Rect(0f, 0f, vrCameraTexture.width, vrCameraTexture.height); - var cameraRect = EditorGUIUtility.PointsToPixels(guiRect); + var cameraRect = new Rect(0f, 0f, vrCameraTexture.width, vrCameraTexture.height); VRView.activeView.CreateCameraTargetTexture(ref m_RenderTexture, cameraRect, false); m_RenderTexture.name = "Smooth Camera RT"; } From f6cdce1a7245adb04b61de9d862943d202ecb775 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 31 Oct 2019 22:05:25 -0700 Subject: [PATCH 68/75] Fix flipped texture in VRView in 2019.1+ --- Scripts/Core/VRView.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 2d4647bf0..a69ea626d 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -436,6 +436,11 @@ void OnGUI() { if (e.type == EventType.Repaint) { +#if UNITY_2019_1_OR_NEWER + if (!customPreviewCamera) + guiRect = new Rect(guiRect.position.x, guiRect.position.y + guiRect.height, guiRect.width, -guiRect.height); +#endif + var renderTexture = customPreviewCamera && customPreviewCamera.targetTexture ? customPreviewCamera.targetTexture : m_TargetTexture; GUI.DrawTexture(guiRect, renderTexture, ScaleMode.StretchToFill, false); } From 89d6023b28188279fb46e112ff8cc21d2324a1b7 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Thu, 31 Oct 2019 22:13:55 -0700 Subject: [PATCH 69/75] Fix warnings related to deprecated input APIs in 2019.2; Fix import issue with InspectorWorkspace; Fix exception related to destroying playerbody on closing VRView --- Scripts/Core/EditorVR.Viewer.cs | 3 ++- Scripts/Core/VRView.cs | 2 ++ Scripts/Input/BaseVRInputToEvents.cs | 11 ++--------- Workspaces/InspectorWorkspace/InspectorWorkspace.cs | 4 +--- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Scripts/Core/EditorVR.Viewer.cs b/Scripts/Core/EditorVR.Viewer.cs index 954b8e220..e0703625a 100644 --- a/Scripts/Core/EditorVR.Viewer.cs +++ b/Scripts/Core/EditorVR.Viewer.cs @@ -109,8 +109,9 @@ internal override void OnDestroy() if (cameraRig) cameraRig.transform.parent = null; - ObjectUtils.Destroy(m_PlayerBody.gameObject); ObjectUtils.Destroy(m_PlayerFloor); + if (m_PlayerBody) + ObjectUtils.Destroy(m_PlayerBody.gameObject); if (customPreviewCamera != null) ObjectUtils.Destroy(((MonoBehaviour)customPreviewCamera).gameObject); diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index a69ea626d..998482c88 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -319,9 +319,11 @@ void UpdateCameraTransform() if (!m_Camera) return; +#pragma warning disable 618 var cameraTransform = m_Camera.transform; cameraTransform.localPosition = InputTracking.GetLocalPosition(XRNode.Head); cameraTransform.localRotation = InputTracking.GetLocalRotation(XRNode.Head); +#pragma warning restore 618 } public void CreateCameraTargetTexture(ref RenderTexture renderTexture, Rect cameraRect, bool hdr) diff --git a/Scripts/Input/BaseVRInputToEvents.cs b/Scripts/Input/BaseVRInputToEvents.cs index f5c2b97be..2f0431309 100644 --- a/Scripts/Input/BaseVRInputToEvents.cs +++ b/Scripts/Input/BaseVRInputToEvents.cs @@ -170,18 +170,11 @@ void SendButtonEvents(VRInputDevice.Handedness hand, int deviceIndex) void SendTrackingEvents(VRInputDevice.Handedness hand, int deviceIndex) { +#pragma warning disable 618 XRNode node = hand == VRInputDevice.Handedness.Left ? XRNode.LeftHand : XRNode.RightHand; - - InputTracking.GetNodeStates(m_NodeStates); - -// foreach (var nodeState in m_NodeStates) -// { -// if (nodeState.nodeType == node && !nodeState.tracked) -// return; -// } - var localPosition = InputTracking.GetLocalPosition(node); var localRotation = InputTracking.GetLocalRotation(node); +#pragma warning restore 618 if (localPosition == m_LastPositionValues[(int)hand] && localRotation == m_LastRotationValues[(int)hand]) return; diff --git a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs index a927c71ab..795915ca0 100644 --- a/Workspaces/InspectorWorkspace/InspectorWorkspace.cs +++ b/Workspaces/InspectorWorkspace/InspectorWorkspace.cs @@ -1,4 +1,3 @@ -#if ENABLE_EDITORXR using System.Collections.Generic; using UnityEditor.Experimental.EditorVR.Data; using UnityEditor.Experimental.EditorVR.Handles; @@ -7,7 +6,7 @@ namespace UnityEditor.Experimental.EditorVR.Workspaces { -#if UNITY_EDITOR +#if ENABLE_EDITORXR && UNITY_EDITOR [MainMenuItem("Inspector", "Workspaces", "View and edit GameObject properties")] sealed class InspectorWorkspace : Workspace, ISelectionChanged, IInspectorWorkspace { @@ -398,4 +397,3 @@ sealed class InspectorWorkspace : Workspace } #endif } -#endif From e9773b935c60da9da3ed0c4682422b0811316b3b Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Fri, 1 Nov 2019 16:57:53 -0700 Subject: [PATCH 70/75] Remove early-out in DoDrawCamera; Add workaround for GUI scaling issue (`XRSettings.showDeviceView` is always true) --- Scripts/Core/VRView.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Scripts/Core/VRView.cs b/Scripts/Core/VRView.cs index 998482c88..1320eef6b 100644 --- a/Scripts/Core/VRView.cs +++ b/Scripts/Core/VRView.cs @@ -371,7 +371,9 @@ void PrepareCameraTargetTexture(Rect cameraRect) // Always render camera into a RT CreateCameraTargetTexture(ref m_TargetTexture, cameraRect, false); m_Camera.targetTexture = m_TargetTexture; - XRSettings.showDeviceView = m_ShowDeviceView; + //XRSettings.showDeviceView = m_ShowDeviceView; + //TODO: Fix GUI scaling bug + XRSettings.showDeviceView = true; // Always set to true to work around GUI scaling bug } void OnGUI() @@ -471,9 +473,6 @@ void DoDrawCamera(Rect rect) if (!XRDevice.isPresent) return; - if (!m_ShowDeviceView) - return; - UnityEditor.Handles.DrawCamera(rect, m_Camera, m_RenderMode); if (Event.current.type == EventType.Repaint) { @@ -552,4 +551,4 @@ void SetAutoRepaintOnSceneChanged(Type viewType, bool enabled) #endif } } -#endif \ No newline at end of file +#endif From 865fbe898a0cea5891d741f57fb663cf77c43734 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Sun, 3 Nov 2019 22:03:17 -0800 Subject: [PATCH 71/75] Cache min/max values in BoundsExtensions.ContainsCompletely --- Scripts/Extensions/BoundsExtensions.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Scripts/Extensions/BoundsExtensions.cs b/Scripts/Extensions/BoundsExtensions.cs index 49764d21a..12ca0dda1 100644 --- a/Scripts/Extensions/BoundsExtensions.cs +++ b/Scripts/Extensions/BoundsExtensions.cs @@ -10,8 +10,12 @@ static class BoundsExtensions /// The bounds to compare with this one public static bool ContainsCompletely(this Bounds bounds, Bounds otherBounds) { - return bounds.max.x >= otherBounds.max.x && bounds.max.y >= otherBounds.max.y && bounds.max.z >= otherBounds.max.z - && bounds.min.x <= otherBounds.min.x && bounds.min.y <= otherBounds.min.y && bounds.min.z <= otherBounds.min.z; + var boundsMin = bounds.min; + var boundsMax = bounds.max; + var otherBoundsMin = otherBounds.min; + var otherBoundsMax = otherBounds.max; + return boundsMax.x >= otherBoundsMax.x && boundsMax.y >= otherBoundsMax.y && boundsMax.z >= otherBoundsMax.z + && boundsMin.x <= otherBoundsMin.x && boundsMin.y <= otherBoundsMin.y && boundsMin.z <= otherBoundsMin.z; } } } From d537e506e27d02eaea98f5d7e24b9e1f30acb195 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 4 Nov 2019 15:40:38 -0800 Subject: [PATCH 72/75] Fix a bug where users could undo the step of adding input bindings to their project using `ApplyModifiedPropertiesWithoutUndo`; Fix a bug with sphere select by togging the intersection tester collider to update the physics system with the new transform values; Update sphere selection to use Physics.OverlapSphereNonAlloc --- Editor/SeedXRInputBindings.cs | 2 +- Scripts/Utilities/IntersectionUtils.cs | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Editor/SeedXRInputBindings.cs b/Editor/SeedXRInputBindings.cs index 8fd23c031..1e30e851b 100644 --- a/Editor/SeedXRInputBindings.cs +++ b/Editor/SeedXRInputBindings.cs @@ -551,7 +551,7 @@ public void GenerateXRBindings() LoadExistingDataAndCheckAgainstNewData(inputManagerCurrentData, ref axisMap, ref currentInputData); if (ApplyDataToInputManager(currentInputData, axisList, axisMap, ref inputManagerCurrentData)) { - serializedObject.ApplyModifiedProperties(); + serializedObject.ApplyModifiedPropertiesWithoutUndo(); AssetDatabase.Refresh(); } } diff --git a/Scripts/Utilities/IntersectionUtils.cs b/Scripts/Utilities/IntersectionUtils.cs index 9905eecbd..431f5f518 100644 --- a/Scripts/Utilities/IntersectionUtils.cs +++ b/Scripts/Utilities/IntersectionUtils.cs @@ -8,6 +8,7 @@ static class IntersectionUtils { // Local method use only -- created here to reduce garbage collection static readonly Vector3[] k_TriangleVertices = new Vector3[3]; + static readonly Collider[] k_Colliders = new Collider[64]; public static Mesh BakedMesh { private get; set; } /// @@ -260,14 +261,20 @@ public static bool TestSphere(MeshCollider collisionTester, Transform obj, Vecto testerTransform.localScale = objScale; - var overlaps = Physics.OverlapSphere(center, radius); + // HACK: Signal to the physics system that the collider has moved + collisionTester.enabled = false; + collisionTester.enabled = true; + + var count = Physics.OverlapSphereNonAlloc(center, radius, k_Colliders); testerTransform.position = Vector3.zero; testerTransform.localScale = Vector3.one; testerTransform.rotation = Quaternion.identity; - foreach (var intersection in overlaps) + for (var i = 0; i < count; i++) { + var intersection = k_Colliders[i]; + if (intersection.gameObject == collisionTester.gameObject) return true; } From 327eed18edaf5b7e0ecccf6282b450aabdd37313 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 4 Nov 2019 16:05:42 -0800 Subject: [PATCH 73/75] Set RightTouch and RightTouchOpenVR child object tags to `ShowInMiniWorld`; Add `HMDOnly` to the culling mask in MiniWorld.prefab to render player head in MiniWorld --- Prefabs/Proxies/RightTouch.prefab | 4030 ++++++++-------- Prefabs/Proxies/RightTouchOpenVR.prefab | 4076 +++++++++-------- .../MiniWorldWorkspace/MiniWorld.prefab | 229 +- 3 files changed, 4305 insertions(+), 4030 deletions(-) diff --git a/Prefabs/Proxies/RightTouch.prefab b/Prefabs/Proxies/RightTouch.prefab index 036e2d9d9..1e0928912 100644 --- a/Prefabs/Proxies/RightTouch.prefab +++ b/Prefabs/Proxies/RightTouch.prefab @@ -3,8 +3,9 @@ --- !u!1 &141214 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 401760} @@ -19,9 +20,10 @@ GameObject: m_IsActive: 1 --- !u!4 &401760 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 141214} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: -0.775, z: 0} @@ -36,30 +38,106 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 0} - propertyPath: m_animator - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_controllerMask - value: 2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 141214} - m_IsPrefabParent: 1 +--- !u!114 &114371224785607966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1ee80ff6078a6344b26cc7dfb8dc8b5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FadeInDuration: 0.5 + m_FadeOutDuration: 2 + m_RayOrigin: {fileID: 4000010594257346} + m_MenuOrigin: {fileID: 4000013278877548} + m_AlternateMenuOrigin: {fileID: 4000014173169826} + m_PreviewOrigin: {fileID: 4000013824268610} + m_FieldGrabOrigin: {fileID: 4000013218449236} + m_NaturalOrientation: {fileID: 401760} + m_ProxyAnimator: {fileID: 114430790308988334} + m_AffordanceMap: {fileID: 11400000, guid: 129b6143c3275c34d8eb78fdc637e1bf, type: 2} + m_ProxyBackgroundMaterial: {fileID: 2100000, guid: 782cf64e6b630ac40b6a1e975ab25369, + type: 2} + m_Affordances: + - m_Control: 2 + m_Transforms: + - {fileID: 4141045235645334} + m_Renderers: + - {fileID: 137384519796214532} + m_Materials: [] + m_Tooltips: + - {fileID: 114954792296329226} + - m_Control: 3 + m_Transforms: + - {fileID: 4861379918189578} + m_Renderers: + - {fileID: 137860676430645794} + m_Materials: [] + m_Tooltips: + - {fileID: 114785413795988170} + - m_Control: 17 + m_Transforms: + - {fileID: 4303942671141876} + m_Renderers: + - {fileID: 137256447395258168} + m_Materials: [] + m_Tooltips: + - {fileID: 114677039945447526} + - m_Control: 18 + m_Transforms: + - {fileID: 4967554931155654} + m_Renderers: + - {fileID: 137266879967115598} + m_Materials: [] + m_Tooltips: + - {fileID: 114160435961296996} + - m_Control: 22 + m_Transforms: + - {fileID: 4262851930533278} + m_Renderers: + - {fileID: 137135476691345580} + m_Materials: [] + m_Tooltips: + - {fileID: 114144232768918692} + - m_Control: 0 + m_Transforms: + - {fileID: 4262851930533278} + m_Renderers: + - {fileID: 137135476691345580} + m_Materials: [] + m_Tooltips: + - {fileID: 114144232768918692} + - m_Control: 1 + m_Transforms: + - {fileID: 4262851930533278} + m_Renderers: + - {fileID: 137135476691345580} + m_Materials: [] + m_Tooltips: + - {fileID: 114144232768918692} +--- !u!114 &114430790308988334 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 460af9702a1fe674a932ad1a15f33bfa, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProxyActionMap: {fileID: 11400000, guid: 9fba3ce585063484a937428d7ef14426, type: 2} --- !u!1 &1000010902826424 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4000013824268610} @@ -70,11 +148,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000013824268610 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010902826424} + m_LocalRotation: {x: -0.258819, y: 0, z: 0, w: 0.9659259} + m_LocalPosition: {x: 0, y: 0.074, z: 0.0746} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401760} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} --- !u!1 &1000011728326988 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4000014173169826} @@ -85,11 +178,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000014173169826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011728326988} + m_LocalRotation: {x: -0, y: -0.06975647, z: -0, w: 0.9975641} + m_LocalPosition: {x: 0, y: 0.0208, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401760} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} --- !u!1 &1000013093051286 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4000013278877548} @@ -100,11 +208,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000013278877548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013093051286} + m_LocalRotation: {x: 0.7053843, y: -0.049325276, z: 0.049325276, w: 0.7053843} + m_LocalPosition: {x: 0, y: -0.02, z: 0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401760} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: -8, z: 0} --- !u!1 &1000013401176380 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4000010594257346} @@ -115,11 +238,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000010594257346 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013401176380} + m_LocalRotation: {x: 0, y: -0.06975647, z: 0, w: 0.9975641} + m_LocalPosition: {x: 0, y: -0.003, z: 0.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401760} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} --- !u!1 &1000013806026548 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4000013218449236} @@ -130,11 +268,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000013218449236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013806026548} + m_LocalRotation: {x: -0.258819, y: -0, z: -0, w: 0.9659259} + m_LocalPosition: {x: 0, y: 0.025, z: 0.0746} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401760} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} --- !u!1 &1005848784311688 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4949098236580280} @@ -146,11 +299,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4949098236580280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005848784311688} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: -0.0856, y: 0.0183, z: 0.0203} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4435916632384040} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114393778609686160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005848784311688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4262851930533278} + m_TooltipAlignment: 0 + m_FacingDirection: 48 --- !u!1 &1075225135487756 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4772095215456836} @@ -162,27 +346,123 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4772095215456836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1075225135487756} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0.0292, y: 0.004699999, z: 0.03799997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4741300536469656} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114721097397684990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1075225135487756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4262851930533278} + m_TooltipAlignment: 0 + m_FacingDirection: 3 --- !u!1 &1097431607461160 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4132596029922228} - component: {fileID: 137053190810926704} m_Layer: 0 m_Name: rctrl:ring_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4132596029922228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1097431607461160} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137053190810926704 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1097431607461160} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4126803399466278} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4126803399466278} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 --- !u!1 &1137090502453960 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4609009495890344} @@ -194,26 +474,79 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1150131010631960 +--- !u!4 &4609009495890344 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1137090502453960} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.053, y: -0.0322, z: -0.0609} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114797330353378208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1137090502453960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4861379918189578} + m_TooltipAlignment: 1 + m_FacingDirection: 4 +--- !u!1 &1150131010631960 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4415140144413600} m_Layer: 5 m_Name: XTargets - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4415140144413600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150131010631960} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4740462098850048} + - {fileID: 4193693584349866} + - {fileID: 4609009495890344} + - {fileID: 4975842997142516} + - {fileID: 4428473521008618} + - {fileID: 4461677150117254} + - {fileID: 4819480960601886} + m_Father: {fileID: 4126803399466278} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1150673465062974 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4141045235645334} @@ -222,31 +555,115 @@ GameObject: - component: {fileID: 114954792296329226} m_Layer: 0 m_Name: rctrl:b_trigger - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4141045235645334 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150673465062974} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4126803399466278} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65852169674020222 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150673465062974} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.027765447, y: 0.018602315, z: 0.026097508} + m_Center: {x: 0.000057839174, y: -0.0013404132, z: -0.014336119} +--- !u!114 &114263219804559234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150673465062974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114954792296329226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150673465062974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114818693513810646} + - {fileID: 114477311298177296} + - {fileID: 114146401256077078} + - {fileID: 114115039550712136} --- !u!1 &1158696048999856 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4737845126328112} m_Layer: 0 m_Name: rctrl:geometry_null - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4737845126328112 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158696048999856} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4201774794186484} + - {fileID: 4714105738963836} + - {fileID: 4309331764344058} + - {fileID: 4595526221329018} + - {fileID: 4428499584343618} + - {fileID: 4213088615859462} + - {fileID: 4132596029922228} + - {fileID: 4868360366993678} + - {fileID: 4299850320256762} + - {fileID: 4123461771605112} + m_Father: {fileID: 4468861945253596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1158790607797268 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4861379918189578} @@ -255,16 +672,75 @@ GameObject: - component: {fileID: 114785413795988170} m_Layer: 0 m_Name: rctrl:b_hold - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4861379918189578 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158790607797268} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4126803399466278} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65459743621227226 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158790607797268} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.01031644, y: 0.023385666, z: 0.014417363} + m_Center: {x: 0.015382331, y: -0.0015480693, z: 0.0025578106} +--- !u!114 &114864354679307248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158790607797268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114785413795988170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158790607797268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114616434717012976} + - {fileID: 114797330353378208} + - {fileID: 114651106060554268} + - {fileID: 114294948195862080} --- !u!1 &1161437425677644 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4975842997142516} @@ -276,59 +752,285 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4975842997142516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161437425677644} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: -0.0077, y: -0.0702, z: -0.0129} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} +--- !u!114 &114651106060554268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161437425677644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4861379918189578} + m_TooltipAlignment: 0 + m_FacingDirection: 8 --- !u!1 &1186380334687238 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4868360366993678} - component: {fileID: 137860676430645794} m_Layer: 0 m_Name: rctrl:side_trigger_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4868360366993678 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186380334687238} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137860676430645794 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186380334687238} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4861379918189578} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4861379918189578} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 --- !u!1 &1197275204241102 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4309331764344058} - component: {fileID: 137124385760650122} m_Layer: 0 m_Name: rctrl:controller_body_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1230513834025656 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4714105738963836} - - component: {fileID: 137266879967115598} +--- !u!4 &4309331764344058 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197275204241102} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137124385760650122 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197275204241102} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4126803399466278} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4126803399466278} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &1230513834025656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4714105738963836} + - component: {fileID: 137266879967115598} m_Layer: 0 m_Name: rctrl:b_button_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4714105738963836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230513834025656} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137266879967115598 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230513834025656} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4967554931155654} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4967554931155654} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 --- !u!1 &1233936287937872 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4050085195557600} @@ -340,611 +1042,614 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4050085195557600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233936287937872} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0.0339, y: -0.0124, z: 0.005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4741300536469656} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114504767995776134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233936287937872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4303942671141876} + m_TooltipAlignment: 2 + m_FacingDirection: 3 --- !u!1 &1253741596773166 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4741300536469656} m_Layer: 5 m_Name: ZTargets - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4741300536469656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253741596773166} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4865833572681538} + - {fileID: 4590480200574912} + - {fileID: 4519651820907242} + - {fileID: 4050085195557600} + - {fileID: 4772095215456836} + m_Father: {fileID: 4126803399466278} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1257924916287186 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4299850320256762} - component: {fileID: 137917119107452386} m_Layer: 0 m_Name: rctrl:surface_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4299850320256762 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257924916287186} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137917119107452386 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257924916287186} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4126803399466278} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4126803399466278} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 --- !u!1 &1270860684327054 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4201774794186484} - component: {fileID: 137256447395258168} m_Layer: 0 m_Name: rctrl:a_button_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1327913336508108 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4700744897584782} - m_Layer: 0 - m_Name: rctrl:b_button03 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1350724557845080 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4819480960601886} - - component: {fileID: 114747652218319094} - m_Layer: 5 - m_Name: StickTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1354246959799404 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4262851930533278} - - component: {fileID: 136882614972082170} - - component: {fileID: 114234204927649004} - - component: {fileID: 114144232768918692} - - component: {fileID: 114554780637870098} - - component: {fileID: 114151593935219754} - m_Layer: 0 - m_Name: rctrl:b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1369601225623450 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4967554931155654} - - component: {fileID: 65790928518198970} - - component: {fileID: 114757071004709214} - - component: {fileID: 114160435961296996} - m_Layer: 0 - m_Name: rctrl:b_button02 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1398705686299148 -GameObject: +--- !u!4 &4201774794186484 +Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4468861945253596} - - component: {fileID: 95234667007351356} - m_Layer: 0 - m_Name: right_touch_controller_model_skel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1438604499360920 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1270860684327054} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137256447395258168 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1270860684327054} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4303942671141876} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4303942671141876} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1 &1327913336508108 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4126803399466278} + - component: {fileID: 4700744897584782} m_Layer: 0 - m_Name: rctrl:right_touch_controller_world - m_TagString: Untagged + m_Name: rctrl:b_button03 + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1442115720587582 +--- !u!4 &4700744897584782 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327913336508108} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4126803399466278} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1350724557845080 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4193693584349866} - - component: {fileID: 114146401256077078} + - component: {fileID: 4819480960601886} + - component: {fileID: 114747652218319094} m_Layer: 5 - m_Name: RightTriggerTarget + m_Name: StickTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1518033752911412 +--- !u!4 &4819480960601886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350724557845080} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0, y: 0.0088, z: 0.0636} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114747652218319094 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350724557845080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4262851930533278} + m_TooltipAlignment: 1 + m_FacingDirection: 12 +--- !u!1 &1354246959799404 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4595526221329018} - - component: {fileID: 137384519796214532} + - component: {fileID: 4262851930533278} + - component: {fileID: 136882614972082170} + - component: {fileID: 114234204927649004} + - component: {fileID: 114144232768918692} + - component: {fileID: 114554780637870098} + - component: {fileID: 114151593935219754} m_Layer: 0 - m_Name: rctrl:main_trigger_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1519692768916538 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4461677150117254} - - component: {fileID: 114217440721163064} - m_Layer: 5 - m_Name: ATarget + m_Name: rctrl:b_stick m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1534898526410036 +--- !u!4 &4262851930533278 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4323038109076564} + m_Father: {fileID: 4126803399466278} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &136882614972082170 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.007829846 + m_Height: 0.019195441 + m_Direction: 0 + m_Center: {x: -0.012366092, y: -4.7276738e-11, z: 2.0965747e-10} +--- !u!114 &114234204927649004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114144232768918692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114393778609686160} + - {fileID: 114747652218319094} + - {fileID: 114721097397684990} +--- !u!114 &114554780637870098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114393778609686160} + - {fileID: 114747652218319094} + - {fileID: 114721097397684990} +--- !u!114 &114151593935219754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1354246959799404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114393778609686160} + - {fileID: 114747652218319094} + - {fileID: 114721097397684990} +--- !u!1 &1369601225623450 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4590480200574912} - - component: {fileID: 114294948195862080} - m_Layer: 5 - m_Name: GripTarget + - component: {fileID: 4967554931155654} + - component: {fileID: 65790928518198970} + - component: {fileID: 114757071004709214} + - component: {fileID: 114160435961296996} + m_Layer: 0 + m_Name: rctrl:b_button02 m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1593208168887254 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4392599575704444} - - component: {fileID: 114593974785552794} - m_Layer: 5 - m_Name: BTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1664486717501344 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4323038109076564} - m_Layer: 0 - m_Name: rctrl:b_stick_IGNORE - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1709957570693898 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4519651820907242} - - component: {fileID: 114165319659903594} - m_Layer: 5 - m_Name: BTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1737130671896222 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4428499584343618} - - component: {fileID: 137570146333118910} - m_Layer: 0 - m_Name: rctrl:o_button_decal_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1784013462903384 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4435916632384040} - m_Layer: 5 - m_Name: YTargets - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1805439301474714 +--- !u!4 &4967554931155654 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369601225623450} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4126803399466278} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65790928518198970 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369601225623450} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114757071004709214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369601225623450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114160435961296996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369601225623450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114593974785552794} + - {fileID: 114356962429680012} + - {fileID: 114165319659903594} +--- !u!1 &1398705686299148 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4303942671141876} - - component: {fileID: 65981701301502606} - - component: {fileID: 114781435029337812} - - component: {fileID: 114677039945447526} + - component: {fileID: 4468861945253596} + - component: {fileID: 95234667007351356} m_Layer: 0 - m_Name: rctrl:b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1858875676224310 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120935013021772} - - component: {fileID: 114214439590146602} - m_Layer: 5 - m_Name: ATarget + m_Name: right_touch_controller_model_skel m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1876231781455492 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4123461771605112} - - component: {fileID: 137135476691345580} - m_Layer: 0 - m_Name: rctrl:thumbstick_ball_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1892711114474286 +--- !u!4 &4468861945253596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1398705686299148} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4737845126328112} + - {fileID: 4126803399466278} + m_Father: {fileID: 401760} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &95234667007351356 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1398705686299148} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Controller: {fileID: 0} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1438604499360920 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4213088615859462} - - component: {fileID: 137295908091608730} + - component: {fileID: 4126803399466278} m_Layer: 0 - m_Name: rctrl:o_button_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1923358430747190 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4865833572681538} - - component: {fileID: 114115039550712136} - m_Layer: 5 - m_Name: TriggerTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1929222051200978 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4446969229174396} - - component: {fileID: 114616434717012976} - m_Layer: 5 - m_Name: GripTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1967411513287734 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4740462098850048} - - component: {fileID: 114477311298177296} - m_Layer: 5 - m_Name: LeftTriggerTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1987276695526044 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4428473521008618} - - component: {fileID: 114356962429680012} - m_Layer: 5 - m_Name: BTarget + m_Name: rctrl:right_touch_controller_world m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1993913996661480 +--- !u!4 &4126803399466278 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1438604499360920} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4303942671141876} + - {fileID: 4967554931155654} + - {fileID: 4700744897584782} + - {fileID: 4861379918189578} + - {fileID: 4262851930533278} + - {fileID: 4141045235645334} + - {fileID: 4415140144413600} + - {fileID: 4435916632384040} + - {fileID: 4741300536469656} + m_Father: {fileID: 4468861945253596} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1442115720587582 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4144220702821868} - - component: {fileID: 114818693513810646} + - component: {fileID: 4193693584349866} + - component: {fileID: 114146401256077078} m_Layer: 5 - m_Name: TriggerTarget + m_Name: RightTriggerTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &4000010594257346 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013401176380} - m_LocalRotation: {x: 0, y: -0.06975647, z: 0, w: 0.9975641} - m_LocalPosition: {x: 0, y: -0.003, z: 0.03} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 401760} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} ---- !u!4 &4000013218449236 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013806026548} - m_LocalRotation: {x: -0.258819, y: -0, z: -0, w: 0.9659259} - m_LocalPosition: {x: 0, y: 0.025, z: 0.0746} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 401760} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} ---- !u!4 &4000013278877548 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013093051286} - m_LocalRotation: {x: 0.7053843, y: -0.049325276, z: 0.049325276, w: 0.7053843} - m_LocalPosition: {x: 0, y: -0.02, z: 0.05} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 401760} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 90, y: -8, z: 0} ---- !u!4 &4000013824268610 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010902826424} - m_LocalRotation: {x: -0.258819, y: 0, z: 0, w: 0.9659259} - m_LocalPosition: {x: 0, y: 0.074, z: 0.0746} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 401760} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} ---- !u!4 &4000014173169826 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011728326988} - m_LocalRotation: {x: -0, y: -0.06975647, z: -0, w: 0.9975641} - m_LocalPosition: {x: 0, y: 0.0208, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 401760} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} ---- !u!4 &4050085195557600 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233936287937872} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.0339, y: -0.0124, z: 0.005} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4741300536469656} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4120935013021772 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1858875676224310} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0841, y: -0.0254, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4435916632384040} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4123461771605112 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1876231781455492} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4126803399466278 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1438604499360920} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4303942671141876} - - {fileID: 4967554931155654} - - {fileID: 4700744897584782} - - {fileID: 4861379918189578} - - {fileID: 4262851930533278} - - {fileID: 4141045235645334} - - {fileID: 4415140144413600} - - {fileID: 4435916632384040} - - {fileID: 4741300536469656} - m_Father: {fileID: 4468861945253596} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4132596029922228 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1097431607461160} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4141045235645334 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150673465062974} - m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} - m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4126803399466278} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4144220702821868 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1993913996661480} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: -0.000000013062143, w: -0.00000018679738} - m_LocalPosition: {x: 0.0077, y: 0.0941, z: 0.015} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4435916632384040} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 180.00002, z: 8} --- !u!4 &4193693584349866 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1442115720587582} m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} m_LocalPosition: {x: -0.0184, y: 0.0414, z: -0} @@ -953,1001 +1658,13 @@ Transform: m_Father: {fileID: 4415140144413600} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4201774794186484 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1270860684327054} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4213088615859462 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1892711114474286} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4262851930533278 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} - m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4323038109076564} - m_Father: {fileID: 4126803399466278} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4299850320256762 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1257924916287186} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4303942671141876 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1805439301474714} - m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} - m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4126803399466278} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4309331764344058 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1197275204241102} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4323038109076564 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1664486717501344} - m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} - m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4262851930533278} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4392599575704444 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1593208168887254} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0879, y: -0.0067, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4435916632384040} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4415140144413600 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150131010631960} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4740462098850048} - - {fileID: 4193693584349866} - - {fileID: 4609009495890344} - - {fileID: 4975842997142516} - - {fileID: 4428473521008618} - - {fileID: 4461677150117254} - - {fileID: 4819480960601886} - m_Father: {fileID: 4126803399466278} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4428473521008618 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1987276695526044} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 0, y: 0.020899996, z: 0.038199976} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4428499584343618 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1737130671896222} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4435916632384040 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1784013462903384} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4144220702821868} - - {fileID: 4446969229174396} - - {fileID: 4392599575704444} - - {fileID: 4120935013021772} - - {fileID: 4949098236580280} - m_Father: {fileID: 4126803399466278} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4446969229174396 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1929222051200978} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0767, y: -0.0451, z: -0.0289} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4435916632384040} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4461677150117254 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1519692768916538} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0, y: -0.0225, z: 0.0382} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4468861945253596 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1398705686299148} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4737845126328112} - - {fileID: 4126803399466278} - m_Father: {fileID: 401760} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4519651820907242 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1709957570693898} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.0339, y: 0.00069999904, z: 0.03799997} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4741300536469656} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4590480200574912 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1534898526410036} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.04, y: -0.0292, z: -0.0282} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4741300536469656} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4595526221329018 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1518033752911412} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4609009495890344 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1137090502453960} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 0.053, y: -0.0322, z: -0.0609} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4700744897584782 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1327913336508108} - m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} - m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4126803399466278} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4714105738963836 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230513834025656} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4737845126328112 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1158696048999856} - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4201774794186484} - - {fileID: 4714105738963836} - - {fileID: 4309331764344058} - - {fileID: 4595526221329018} - - {fileID: 4428499584343618} - - {fileID: 4213088615859462} - - {fileID: 4132596029922228} - - {fileID: 4868360366993678} - - {fileID: 4299850320256762} - - {fileID: 4123461771605112} - m_Father: {fileID: 4468861945253596} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4740462098850048 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1967411513287734} - m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} - m_LocalPosition: {x: 0.0184, y: 0.0414, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} ---- !u!4 &4741300536469656 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1253741596773166} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4865833572681538} - - {fileID: 4590480200574912} - - {fileID: 4519651820907242} - - {fileID: 4050085195557600} - - {fileID: 4772095215456836} - m_Father: {fileID: 4126803399466278} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4772095215456836 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1075225135487756} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: -0.0292, y: 0.004699999, z: 0.03799997} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4741300536469656} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4819480960601886 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1350724557845080} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0, y: 0.0088, z: 0.0636} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4861379918189578 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1158790607797268} - m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} - m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4126803399466278} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4865833572681538 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1923358430747190} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: -0, y: 0.0301, z: 0.0595} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4741300536469656} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4868360366993678 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1186380334687238} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4737845126328112} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4949098236580280 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1005848784311688} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: -0.0856, y: 0.0183, z: 0.0203} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4435916632384040} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4967554931155654 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1369601225623450} - m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} - m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4126803399466278} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4975842997142516 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161437425677644} - m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} - m_LocalPosition: {x: -0.0077, y: -0.0702, z: -0.0129} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4415140144413600} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} ---- !u!65 &65459743621227226 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1158790607797268} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.01031644, y: 0.023385666, z: 0.014417363} - m_Center: {x: 0.015382331, y: -0.0015480693, z: 0.0025578106} ---- !u!65 &65790928518198970 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1369601225623450} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} - m_Center: {x: 0, y: 0, z: 0} ---- !u!65 &65852169674020222 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150673465062974} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.027765447, y: 0.018602315, z: 0.026097508} - m_Center: {x: 0.000057839174, y: -0.0013404132, z: -0.014336119} ---- !u!65 &65981701301502606 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1805439301474714} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} - m_Center: {x: 0, y: 0, z: 0} ---- !u!95 &95234667007351356 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1398705686299148} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Controller: {fileID: 0} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!114 &114115039550712136 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1923358430747190} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4141045235645334} - m_TooltipAlignment: 1 - m_FacingDirection: 3 ---- !u!114 &114144232768918692 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114393778609686160} - - {fileID: 114747652218319094} - - {fileID: 114721097397684990} ---- !u!114 &114146401256077078 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1442115720587582} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4141045235645334} - m_TooltipAlignment: 0 - m_FacingDirection: 8 ---- !u!114 &114151593935219754 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114393778609686160} - - {fileID: 114747652218319094} - - {fileID: 114721097397684990} ---- !u!114 &114160435961296996 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1369601225623450} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114593974785552794} - - {fileID: 114356962429680012} - - {fileID: 114165319659903594} ---- !u!114 &114165319659903594 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1709957570693898} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4967554931155654} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114214439590146602 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1858875676224310} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4303942671141876} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114217440721163064 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1519692768916538} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4303942671141876} - m_TooltipAlignment: 2 - m_FacingDirection: 12 ---- !u!114 &114234204927649004 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114263219804559234 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150673465062974} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114294948195862080 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1534898526410036} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4861379918189578} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114356962429680012 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1987276695526044} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4967554931155654} - m_TooltipAlignment: 0 - m_FacingDirection: 12 ---- !u!114 &114371224785607966 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141214} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1ee80ff6078a6344b26cc7dfb8dc8b5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FadeInDuration: 0.5 - m_FadeOutDuration: 2 - m_RayOrigin: {fileID: 4000010594257346} - m_MenuOrigin: {fileID: 4000013278877548} - m_AlternateMenuOrigin: {fileID: 4000014173169826} - m_PreviewOrigin: {fileID: 4000013824268610} - m_FieldGrabOrigin: {fileID: 4000013218449236} - m_NaturalOrientation: {fileID: 401760} - m_ProxyAnimator: {fileID: 114430790308988334} - m_AffordanceMap: {fileID: 11400000, guid: 129b6143c3275c34d8eb78fdc637e1bf, type: 2} - m_ProxyBackgroundMaterial: {fileID: 2100000, guid: 782cf64e6b630ac40b6a1e975ab25369, - type: 2} - m_Affordances: - - m_Control: 2 - m_Transforms: - - {fileID: 4141045235645334} - m_Renderers: - - {fileID: 137384519796214532} - m_Materials: [] - m_Tooltips: - - {fileID: 114954792296329226} - - m_Control: 3 - m_Transforms: - - {fileID: 4861379918189578} - m_Renderers: - - {fileID: 137860676430645794} - m_Materials: [] - m_Tooltips: - - {fileID: 114785413795988170} - - m_Control: 17 - m_Transforms: - - {fileID: 4303942671141876} - m_Renderers: - - {fileID: 137256447395258168} - m_Materials: [] - m_Tooltips: - - {fileID: 114677039945447526} - - m_Control: 18 - m_Transforms: - - {fileID: 4967554931155654} - m_Renderers: - - {fileID: 137266879967115598} - m_Materials: [] - m_Tooltips: - - {fileID: 114160435961296996} - - m_Control: 22 - m_Transforms: - - {fileID: 4262851930533278} - m_Renderers: - - {fileID: 137135476691345580} - m_Materials: [] - m_Tooltips: - - {fileID: 114144232768918692} - - m_Control: 0 - m_Transforms: - - {fileID: 4262851930533278} - m_Renderers: - - {fileID: 137135476691345580} - m_Materials: [] - m_Tooltips: - - {fileID: 114144232768918692} - - m_Control: 1 - m_Transforms: - - {fileID: 4262851930533278} - m_Renderers: - - {fileID: 137135476691345580} - m_Materials: [] - m_Tooltips: - - {fileID: 114144232768918692} ---- !u!114 &114393778609686160 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1005848784311688} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4262851930533278} - m_TooltipAlignment: 0 - m_FacingDirection: 48 ---- !u!114 &114430790308988334 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 141214} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 460af9702a1fe674a932ad1a15f33bfa, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ProxyActionMap: {fileID: 11400000, guid: 9fba3ce585063484a937428d7ef14426, type: 2} ---- !u!114 &114477311298177296 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1967411513287734} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4141045235645334} - m_TooltipAlignment: 2 - m_FacingDirection: 4 ---- !u!114 &114504767995776134 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233936287937872} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4303942671141876} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114554780637870098 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114393778609686160} - - {fileID: 114747652218319094} - - {fileID: 114721097397684990} ---- !u!114 &114593974785552794 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1593208168887254} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4967554931155654} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114616434717012976 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1929222051200978} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4861379918189578} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114651106060554268 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161437425677644} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4861379918189578} - m_TooltipAlignment: 0 - m_FacingDirection: 8 ---- !u!114 &114677039945447526 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1805439301474714} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114214439590146602} - - {fileID: 114217440721163064} - - {fileID: 114504767995776134} ---- !u!114 &114721097397684990 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1075225135487756} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4262851930533278} - m_TooltipAlignment: 0 - m_FacingDirection: 3 ---- !u!114 &114747652218319094 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1350724557845080} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4262851930533278} - m_TooltipAlignment: 1 - m_FacingDirection: 12 ---- !u!114 &114757071004709214 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1369601225623450} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114781435029337812 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1805439301474714} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114785413795988170 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1158790607797268} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114616434717012976} - - {fileID: 114797330353378208} - - {fileID: 114651106060554268} - - {fileID: 114294948195862080} ---- !u!114 &114797330353378208 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1137090502453960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4861379918189578} - m_TooltipAlignment: 1 - m_FacingDirection: 4 ---- !u!114 &114818693513810646 +--- !u!114 &114146401256077078 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1993913996661480} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442115720587582} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} @@ -1955,201 +1672,46 @@ MonoBehaviour: m_EditorClassIdentifier: m_TooltipTarget: {fileID: 0} m_TooltipSource: {fileID: 4141045235645334} - m_TooltipAlignment: 1 - m_FacingDirection: 48 ---- !u!114 &114864354679307248 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1158790607797268} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114954792296329226 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150673465062974} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114818693513810646} - - {fileID: 114477311298177296} - - {fileID: 114146401256077078} - - {fileID: 114115039550712136} ---- !u!136 &136882614972082170 -CapsuleCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1354246959799404} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.007829846 - m_Height: 0.019195441 - m_Direction: 0 - m_Center: {x: -0.012366092, y: -4.7276738e-11, z: 2.0965747e-10} ---- !u!137 &137053190810926704 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1097431607461160} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300004, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4126803399466278} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4126803399466278} - m_AABB: - m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} - m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} - m_DirtyAABB: 0 ---- !u!137 &137124385760650122 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1197275204241102} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300006, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4126803399466278} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4126803399466278} - m_AABB: - m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} - m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} - m_DirtyAABB: 0 ---- !u!137 &137135476691345580 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1876231781455492} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300012, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4126803399466278} - - {fileID: 4262851930533278} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4126803399466278} - m_AABB: - m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} - m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} - m_DirtyAABB: 0 ---- !u!137 &137256447395258168 + m_TooltipAlignment: 0 + m_FacingDirection: 8 +--- !u!1 &1518033752911412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4595526221329018} + - component: {fileID: 137384519796214532} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4595526221329018 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1518033752911412} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137384519796214532 SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1270860684327054} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1518033752911412} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2158,6 +1720,7 @@ SkinnedMeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} m_StaticBatchInfo: @@ -2183,164 +1746,270 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300018, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Mesh: {fileID: 4300008, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} m_Bones: - - {fileID: 4303942671141876} + - {fileID: 4141045235645334} m_BlendShapeWeights: [] - m_RootBone: {fileID: 4303942671141876} + m_RootBone: {fileID: 4141045235645334} m_AABB: - m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} - m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} m_DirtyAABB: 0 ---- !u!137 &137266879967115598 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230513834025656} +--- !u!1 &1519692768916538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4461677150117254} + - component: {fileID: 114217440721163064} + m_Layer: 5 + m_Name: ATarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4461677150117254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519692768916538} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0, y: -0.0225, z: 0.0382} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114217440721163064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519692768916538} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300016, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4967554931155654} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4967554931155654} - m_AABB: - m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} - m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} - m_DirtyAABB: 0 ---- !u!137 &137295908091608730 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1892711114474286} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4303942671141876} + m_TooltipAlignment: 2 + m_FacingDirection: 12 +--- !u!1 &1534898526410036 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4590480200574912} + - component: {fileID: 114294948195862080} + m_Layer: 5 + m_Name: GripTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4590480200574912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534898526410036} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0.04, y: -0.0292, z: -0.0282} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4741300536469656} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114294948195862080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534898526410036} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300010, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4700744897584782} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4700744897584782} - m_AABB: - m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} - m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} - m_DirtyAABB: 0 ---- !u!137 &137384519796214532 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1518033752911412} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4861379918189578} + m_TooltipAlignment: 2 + m_FacingDirection: 3 +--- !u!1 &1593208168887254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4392599575704444} + - component: {fileID: 114593974785552794} + m_Layer: 5 + m_Name: BTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4392599575704444 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1593208168887254} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0879, y: -0.0067, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4435916632384040} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114593974785552794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1593208168887254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4967554931155654} + m_TooltipAlignment: 2 + m_FacingDirection: 48 +--- !u!1 &1664486717501344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4323038109076564} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4323038109076564 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1664486717501344} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4262851930533278} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1709957570693898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4519651820907242} + - component: {fileID: 114165319659903594} + m_Layer: 5 + m_Name: BTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4519651820907242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1709957570693898} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0.0339, y: 0.00069999904, z: 0.03799997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4741300536469656} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114165319659903594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1709957570693898} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300008, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4141045235645334} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4141045235645334} - m_AABB: - m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} - m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} - m_DirtyAABB: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4967554931155654} + m_TooltipAlignment: 2 + m_FacingDirection: 3 +--- !u!1 &1737130671896222 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4428499584343618} + - component: {fileID: 137570146333118910} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4428499584343618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737130671896222} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &137570146333118910 SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1737130671896222} m_Enabled: 1 m_CastShadows: 1 @@ -2350,6 +2019,7 @@ SkinnedMeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} m_StaticBatchInfo: @@ -2384,12 +2054,202 @@ SkinnedMeshRenderer: m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} m_DirtyAABB: 0 ---- !u!137 &137860676430645794 +--- !u!1 &1784013462903384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4435916632384040} + m_Layer: 5 + m_Name: YTargets + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4435916632384040 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784013462903384} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4144220702821868} + - {fileID: 4446969229174396} + - {fileID: 4392599575704444} + - {fileID: 4120935013021772} + - {fileID: 4949098236580280} + m_Father: {fileID: 4126803399466278} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1805439301474714 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4303942671141876} + - component: {fileID: 65981701301502606} + - component: {fileID: 114781435029337812} + - component: {fileID: 114677039945447526} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4303942671141876 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1805439301474714} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4126803399466278} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65981701301502606 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1805439301474714} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114781435029337812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1805439301474714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114677039945447526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1805439301474714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114214439590146602} + - {fileID: 114217440721163064} + - {fileID: 114504767995776134} +--- !u!1 &1858875676224310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4120935013021772} + - component: {fileID: 114214439590146602} + m_Layer: 5 + m_Name: ATarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4120935013021772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1858875676224310} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0841, y: -0.0254, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4435916632384040} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114214439590146602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1858875676224310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4303942671141876} + m_TooltipAlignment: 2 + m_FacingDirection: 48 +--- !u!1 &1876231781455492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4123461771605112} + - component: {fileID: 137135476691345580} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4123461771605112 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876231781455492} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137135476691345580 SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1186380334687238} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876231781455492} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2398,6 +2258,7 @@ SkinnedMeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} m_StaticBatchInfo: @@ -2423,21 +2284,54 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300014, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Mesh: {fileID: 4300012, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} m_Bones: - - {fileID: 4861379918189578} + - {fileID: 4126803399466278} + - {fileID: 4262851930533278} m_BlendShapeWeights: [] - m_RootBone: {fileID: 4861379918189578} + m_RootBone: {fileID: 4126803399466278} m_AABB: - m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} - m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} m_DirtyAABB: 0 ---- !u!137 &137917119107452386 +--- !u!1 &1892711114474286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4213088615859462} + - component: {fileID: 137295908091608730} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4213088615859462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892711114474286} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4737845126328112} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137295908091608730 SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1257924916287186} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1892711114474286} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2446,6 +2340,7 @@ SkinnedMeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} m_StaticBatchInfo: @@ -2471,12 +2366,247 @@ SkinnedMeshRenderer: m_Quality: 0 m_UpdateWhenOffscreen: 0 m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300002, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Mesh: {fileID: 4300010, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} m_Bones: - - {fileID: 4126803399466278} + - {fileID: 4700744897584782} m_BlendShapeWeights: [] - m_RootBone: {fileID: 4126803399466278} + m_RootBone: {fileID: 4700744897584782} m_AABB: - m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} - m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} m_DirtyAABB: 0 +--- !u!1 &1923358430747190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4865833572681538} + - component: {fileID: 114115039550712136} + m_Layer: 5 + m_Name: TriggerTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4865833572681538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1923358430747190} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0, y: 0.0301, z: 0.0595} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4741300536469656} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114115039550712136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1923358430747190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4141045235645334} + m_TooltipAlignment: 1 + m_FacingDirection: 3 +--- !u!1 &1929222051200978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4446969229174396} + - component: {fileID: 114616434717012976} + m_Layer: 5 + m_Name: GripTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4446969229174396 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929222051200978} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0767, y: -0.0451, z: -0.0289} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4435916632384040} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114616434717012976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929222051200978} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4861379918189578} + m_TooltipAlignment: 2 + m_FacingDirection: 48 +--- !u!1 &1967411513287734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4740462098850048} + - component: {fileID: 114477311298177296} + m_Layer: 5 + m_Name: LeftTriggerTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4740462098850048 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967411513287734} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 0.0184, y: 0.0414, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} +--- !u!114 &114477311298177296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967411513287734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4141045235645334} + m_TooltipAlignment: 2 + m_FacingDirection: 4 +--- !u!1 &1987276695526044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4428473521008618} + - component: {fileID: 114356962429680012} + m_Layer: 5 + m_Name: BTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4428473521008618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1987276695526044} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: 0.020899996, z: 0.038199976} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4415140144413600} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114356962429680012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1987276695526044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4967554931155654} + m_TooltipAlignment: 0 + m_FacingDirection: 12 +--- !u!1 &1993913996661480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4144220702821868} + - component: {fileID: 114818693513810646} + m_Layer: 5 + m_Name: TriggerTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4144220702821868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993913996661480} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: -0.000000013062143, w: -0.00000018679738} + m_LocalPosition: {x: 0.0077, y: 0.0941, z: 0.015} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4435916632384040} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180.00002, z: 8} +--- !u!114 &114818693513810646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993913996661480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4141045235645334} + m_TooltipAlignment: 1 + m_FacingDirection: 48 diff --git a/Prefabs/Proxies/RightTouchOpenVR.prefab b/Prefabs/Proxies/RightTouchOpenVR.prefab index 168071331..91f98e511 100644 --- a/Prefabs/Proxies/RightTouchOpenVR.prefab +++ b/Prefabs/Proxies/RightTouchOpenVR.prefab @@ -1,53 +1,173 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1523256443734892} - m_IsPrefabParent: 1 --- !u!1 &1004669452273820 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4297694078927738} - component: {fileID: 137272724241667846} m_Layer: 0 m_Name: rctrl:ring_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4297694078927738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1004669452273820} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137272724241667846 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1004669452273820} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4392979907288068} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4392979907288068} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 --- !u!1 &1059154825281568 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4312418380685016} - component: {fileID: 137034442852996544} m_Layer: 0 m_Name: rctrl:o_button_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4312418380685016 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1059154825281568} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137034442852996544 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1059154825281568} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4923778637095892} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4923778637095892} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 --- !u!1 &1081293603496134 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4349839082530818} @@ -59,27 +179,123 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4349839082530818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081293603496134} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0841, y: -0.0254, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4265941804760648} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114494648423173430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081293603496134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4229993619938756} + m_TooltipAlignment: 2 + m_FacingDirection: 48 --- !u!1 &1082573214156024 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4546336978305340} - component: {fileID: 137868210150696092} m_Layer: 0 m_Name: rctrl:controller_body_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4546336978305340 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1082573214156024} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137868210150696092 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1082573214156024} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4392979907288068} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4392979907288068} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 --- !u!1 &1212151519367658 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4419786898047702} @@ -91,11 +307,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4419786898047702 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1212151519367658} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: 0.020899996, z: 0.038199976} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4634274355736766} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114501672211928808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1212151519367658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739231913698558} + m_TooltipAlignment: 0 + m_FacingDirection: 12 --- !u!1 &1230358172930540 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4087876391306780} @@ -107,11 +354,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4087876391306780 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230358172930540} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0.04, y: -0.0292, z: -0.0282} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4449091758499836} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114641856822819510 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230358172930540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4618432556778024} + m_TooltipAlignment: 2 + m_FacingDirection: 3 --- !u!1 &1230595922584620 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4075327793272532} @@ -123,11 +401,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1256076955954310 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} +--- !u!4 &4075327793272532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230595922584620} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0.0339, y: 0.00069999904, z: 0.03799997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4449091758499836} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114128233377198556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1230595922584620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739231913698558} + m_TooltipAlignment: 2 + m_FacingDirection: 3 +--- !u!1 &1256076955954310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4882697647327558} @@ -138,27 +447,108 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4882697647327558 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1256076955954310} + m_LocalRotation: {x: -0.000000029802322, y: -0.06975648, z: 0.0000000018626451, + w: 0.9975641} + m_LocalPosition: {x: 0, y: -0.003000021, z: 0.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4259604204601724} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} --- !u!1 &1265269784871290 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4340855915195298} - component: {fileID: 137750340071255144} m_Layer: 0 m_Name: rctrl:main_trigger_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4340855915195298 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265269784871290} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137750340071255144 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265269784871290} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4739441083625398} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4739441083625398} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 --- !u!1 &1276142292023468 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4739441083625398} @@ -167,16 +557,75 @@ GameObject: - component: {fileID: 114659390789333790} m_Layer: 0 m_Name: rctrl:b_trigger - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4739441083625398 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276142292023468} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4392979907288068} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65819152491953944 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276142292023468} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.027765447, y: 0.018602315, z: 0.026097508} + m_Center: {x: 0.000057839174, y: -0.0013404132, z: -0.014336119} +--- !u!114 &114032048618342948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276142292023468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114659390789333790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276142292023468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114664260787613270} + - {fileID: 114697781153637380} + - {fileID: 114242146399915576} + - {fileID: 114749624403577488} --- !u!1 &1300317305236888 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4599552818975300} @@ -188,11 +637,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4599552818975300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300317305236888} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 0.0184, y: 0.0414, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4634274355736766} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} +--- !u!114 &114697781153637380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300317305236888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739441083625398} + m_TooltipAlignment: 2 + m_FacingDirection: 4 --- !u!1 &1300727566292708 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4314296935398236} @@ -204,11 +684,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4314296935398236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300727566292708} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0, y: 0.0301, z: 0.0595} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4449091758499836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114749624403577488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300727566292708} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739441083625398} + m_TooltipAlignment: 1 + m_FacingDirection: 3 --- !u!1 &1310876574352590 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4259604204601724} @@ -219,26 +730,62 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4259604204601724 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310876574352590} + m_LocalRotation: {x: 0.34028777, y: 0.0113129085, z: -0.015474446, w: 0.94012594} + m_LocalPosition: {x: 0.0040553696, y: -0.006948471, z: -0.053190824} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4319904545768872} + - {fileID: 4882697647327558} + - {fileID: 4182888507544958} + - {fileID: 4799468984284310} + - {fileID: 4286406122114976} + - {fileID: 4866118000331932} + m_Father: {fileID: 4617753192742486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 39.805, y: 0.8010001, z: -1.596} --- !u!1 &1311200378102564 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4708024812184322} m_Layer: 0 m_Name: rctrl:b_stick_IGNORE - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4708024812184322 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1311200378102564} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4123612427290732} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1346335321641892 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4232457299302766} @@ -250,41 +797,117 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4232457299302766 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1346335321641892} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.053, y: -0.0322, z: -0.0609} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4634274355736766} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114791300422754232 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1346335321641892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4618432556778024} + m_TooltipAlignment: 1 + m_FacingDirection: 4 --- !u!1 &1358144050439746 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4449091758499836} m_Layer: 5 m_Name: ZTargets - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1375005451987192 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 +--- !u!4 &4449091758499836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1358144050439746} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4314296935398236} + - {fileID: 4087876391306780} + - {fileID: 4075327793272532} + - {fileID: 4935076605609942} + - {fileID: 4275253748442240} + m_Father: {fileID: 4392979907288068} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1375005451987192 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4220067225726358} m_Layer: 0 m_Name: rctrl:geometry_null - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4220067225726358 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375005451987192} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4957872136414150} + - {fileID: 4931755424072790} + - {fileID: 4546336978305340} + - {fileID: 4340855915195298} + - {fileID: 4980108489728468} + - {fileID: 4312418380685016} + - {fileID: 4297694078927738} + - {fileID: 4824644894463188} + - {fileID: 4701842204964542} + - {fileID: 4980958811979122} + m_Father: {fileID: 4319904545768872} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1389113628653208 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4618432556778024} @@ -293,16 +916,75 @@ GameObject: - component: {fileID: 114122849436668294} m_Layer: 0 m_Name: rctrl:b_hold - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4618432556778024 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1389113628653208} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4392979907288068} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65968421824177942 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1389113628653208} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.01031644, y: 0.023385666, z: 0.014417363} + m_Center: {x: 0.015382331, y: -0.0015480693, z: 0.0025578106} +--- !u!114 &114119452087568442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1389113628653208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114122849436668294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1389113628653208} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114180644782525004} + - {fileID: 114791300422754232} + - {fileID: 114160022324085170} + - {fileID: 114641856822819510} --- !u!1 &1397649965331254 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4275253748442240} @@ -314,11 +996,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4275253748442240 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397649965331254} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0.0292, y: 0.004699999, z: 0.03799997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4449091758499836} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114414424634211024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397649965331254} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4123612427290732} + m_TooltipAlignment: 0 + m_FacingDirection: 3 --- !u!1 &1398662719640768 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4386011025919524} @@ -330,42 +1043,158 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4386011025919524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1398662719640768} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0767, y: -0.0451, z: -0.0289} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4265941804760648} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114180644782525004 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1398662719640768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4618432556778024} + m_TooltipAlignment: 2 + m_FacingDirection: 48 --- !u!1 &1404765211522878 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4265941804760648} m_Layer: 5 m_Name: YTargets - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4265941804760648 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404765211522878} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4056806496174470} + - {fileID: 4386011025919524} + - {fileID: 4242311232206074} + - {fileID: 4349839082530818} + - {fileID: 4509256393421740} + m_Father: {fileID: 4392979907288068} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1489487933936840 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4957872136414150} - component: {fileID: 137049207766417360} m_Layer: 0 m_Name: rctrl:a_button_PLY - m_TagString: Untagged + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4957872136414150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489487933936840} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137049207766417360 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489487933936840} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4229993619938756} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4229993619938756} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 --- !u!1 &1523256443734892 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - component: {fileID: 4617753192742486} @@ -378,448 +1207,940 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1571403491183624 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4980108489728468} - - component: {fileID: 137050152289606164} - m_Layer: 0 - m_Name: rctrl:o_button_decal_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1585823021358844 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4242311232206074} - - component: {fileID: 114181912130766552} - m_Layer: 5 - m_Name: BTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1589431354275110 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4931755424072790} - - component: {fileID: 137060639317806984} - m_Layer: 0 - m_Name: rctrl:b_button_PLY - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1596791305360918 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4229993619938756} - - component: {fileID: 65645417938629278} - - component: {fileID: 114998847366586044} - - component: {fileID: 114781060718220892} - m_Layer: 0 - m_Name: rctrl:b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1598100167736768 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4509256393421740} - - component: {fileID: 114864846006039090} - m_Layer: 5 - m_Name: StickTarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1640381821328388 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4005889465213416} - - component: {fileID: 114552424188776510} - m_Layer: 5 - m_Name: ATarget - m_TagString: ShowInMiniWorld - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1668967570677920 +--- !u!4 &4617753192742486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523256443734892} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.775, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4259604204601724} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114331393344479226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523256443734892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1ee80ff6078a6344b26cc7dfb8dc8b5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FadeInDuration: 0.5 + m_FadeOutDuration: 2 + m_RayOrigin: {fileID: 4882697647327558} + m_MenuOrigin: {fileID: 4182888507544958} + m_AlternateMenuOrigin: {fileID: 4799468984284310} + m_PreviewOrigin: {fileID: 4286406122114976} + m_FieldGrabOrigin: {fileID: 4866118000331932} + m_NaturalOrientation: {fileID: 4617753192742486} + m_ProxyAnimator: {fileID: 114374282034907428} + m_AffordanceMap: {fileID: 11400000, guid: 129b6143c3275c34d8eb78fdc637e1bf, type: 2} + m_ProxyBackgroundMaterial: {fileID: 2100000, guid: 782cf64e6b630ac40b6a1e975ab25369, + type: 2} + m_Affordances: + - m_Control: 2 + m_Transforms: + - {fileID: 4739441083625398} + m_Renderers: + - {fileID: 137750340071255144} + m_Materials: [] + m_Tooltips: + - {fileID: 114659390789333790} + - m_Control: 3 + m_Transforms: + - {fileID: 4618432556778024} + m_Renderers: + - {fileID: 137644539707614746} + m_Materials: [] + m_Tooltips: + - {fileID: 114122849436668294} + - m_Control: 17 + m_Transforms: + - {fileID: 4229993619938756} + m_Renderers: + - {fileID: 137049207766417360} + m_Materials: [] + m_Tooltips: + - {fileID: 114781060718220892} + - m_Control: 18 + m_Transforms: + - {fileID: 4739231913698558} + m_Renderers: + - {fileID: 137060639317806984} + m_Materials: [] + m_Tooltips: + - {fileID: 114158651688308136} + - m_Control: 22 + m_Transforms: + - {fileID: 4123612427290732} + m_Renderers: + - {fileID: 137608865302087796} + m_Materials: [] + m_Tooltips: + - {fileID: 114804913368841552} + - m_Control: 0 + m_Transforms: + - {fileID: 4123612427290732} + m_Renderers: + - {fileID: 137608865302087796} + m_Materials: [] + m_Tooltips: + - {fileID: 114804913368841552} + - m_Control: 1 + m_Transforms: + - {fileID: 4123612427290732} + m_Renderers: + - {fileID: 137608865302087796} + m_Materials: [] + m_Tooltips: + - {fileID: 114804913368841552} +--- !u!114 &114374282034907428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523256443734892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 460af9702a1fe674a932ad1a15f33bfa, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProxyActionMap: {fileID: 11400000, guid: 9fba3ce585063484a937428d7ef14426, type: 2} +--- !u!1 &1571403491183624 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4605918937442712} - - component: {fileID: 114667663321992456} - m_Layer: 5 - m_Name: StickTarget + - component: {fileID: 4980108489728468} + - component: {fileID: 137050152289606164} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1695441185812742 +--- !u!4 &4980108489728468 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571403491183624} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137050152289606164 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571403491183624} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4923778637095892} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4923778637095892} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &1585823021358844 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4056806496174470} - - component: {fileID: 114664260787613270} + - component: {fileID: 4242311232206074} + - component: {fileID: 114181912130766552} m_Layer: 5 - m_Name: TriggerTarget + m_Name: BTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1717647672430186 +--- !u!4 &4242311232206074 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1585823021358844} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: 0.0879, y: -0.0067, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4265941804760648} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114181912130766552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1585823021358844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739231913698558} + m_TooltipAlignment: 2 + m_FacingDirection: 48 +--- !u!1 &1589431354275110 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4824644894463188} - - component: {fileID: 137644539707614746} + - component: {fileID: 4931755424072790} + - component: {fileID: 137060639317806984} m_Layer: 0 - m_Name: rctrl:side_trigger_PLY - m_TagString: Untagged + m_Name: rctrl:b_button_PLY + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1744041827634116 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4634274355736766} - m_Layer: 5 - m_Name: XTargets - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1756550066817936 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4392979907288068} - m_Layer: 0 - m_Name: rctrl:right_touch_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1802177967822326 +--- !u!4 &4931755424072790 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1589431354275110} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137060639317806984 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1589431354275110} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4739231913698558} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4739231913698558} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &1596791305360918 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4182888507544958} + - component: {fileID: 4229993619938756} + - component: {fileID: 65645417938629278} + - component: {fileID: 114998847366586044} + - component: {fileID: 114781060718220892} m_Layer: 0 - m_Name: MenuOrigin + m_Name: rctrl:b_button01 m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1827281207666842 +--- !u!4 &4229993619938756 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596791305360918} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4392979907288068} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &65645417938629278 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596791305360918} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114998847366586044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596791305360918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114781060718220892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596791305360918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114494648423173430} + - {fileID: 114552424188776510} + - {fileID: 114067799735170948} +--- !u!1 &1598100167736768 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4701842204964542} - - component: {fileID: 137919000248738318} - m_Layer: 0 - m_Name: rctrl:surface_PLY - m_TagString: Untagged + - component: {fileID: 4509256393421740} + - component: {fileID: 114864846006039090} + m_Layer: 5 + m_Name: StickTarget + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1833285544795360 +--- !u!4 &4509256393421740 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598100167736768} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} + m_LocalPosition: {x: -0.0856, y: 0.0183, z: 0.0203} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4265941804760648} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} +--- !u!114 &114864846006039090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598100167736768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4123612427290732} + m_TooltipAlignment: 0 + m_FacingDirection: 48 +--- !u!1 &1640381821328388 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4923778637095892} - m_Layer: 0 - m_Name: rctrl:b_button03 - m_TagString: Untagged + - component: {fileID: 4005889465213416} + - component: {fileID: 114552424188776510} + m_Layer: 5 + m_Name: ATarget + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1833602971288856 +--- !u!4 &4005889465213416 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640381821328388} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0, y: -0.0225, z: 0.0382} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4634274355736766} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114552424188776510 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1640381821328388} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4229993619938756} + m_TooltipAlignment: 2 + m_FacingDirection: 12 +--- !u!1 &1668967570677920 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4799468984284310} - m_Layer: 0 - m_Name: AltMenuOrigin + - component: {fileID: 4605918937442712} + - component: {fileID: 114667663321992456} + m_Layer: 5 + m_Name: StickTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1858766135871422 +--- !u!4 &4605918937442712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1668967570677920} + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0, y: 0.0088, z: 0.0636} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4634274355736766} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!114 &114667663321992456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1668967570677920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4123612427290732} + m_TooltipAlignment: 1 + m_FacingDirection: 12 +--- !u!1 &1695441185812742 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4116854624871162} - - component: {fileID: 114160022324085170} + - component: {fileID: 4056806496174470} + - component: {fileID: 114664260787613270} m_Layer: 5 - m_Name: RightGripTarget + m_Name: TriggerTarget m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1874255680932674 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 6 - m_Component: - - component: {fileID: 4123612427290732} - - component: {fileID: 136243378981334904} - - component: {fileID: 114917541663066898} - - component: {fileID: 114804913368841552} - - component: {fileID: 114374814748694916} - - component: {fileID: 114246993504168904} - m_Layer: 0 - m_Name: rctrl:b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1884805618760934 +--- !u!4 &4056806496174470 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1695441185812742} + m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: -0.000000013062143, w: -0.00000018679738} + m_LocalPosition: {x: 0.0077, y: 0.0941, z: 0.015} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4265941804760648} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180.00002, z: 8} +--- !u!114 &114664260787613270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1695441185812742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739441083625398} + m_TooltipAlignment: 1 + m_FacingDirection: 48 +--- !u!1 &1717647672430186 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4497999718139404} - - component: {fileID: 114242146399915576} - m_Layer: 5 - m_Name: RightTriggerTarget + - component: {fileID: 4824644894463188} + - component: {fileID: 137644539707614746} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1891931915061114 +--- !u!4 &4824644894463188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1717647672430186} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137644539707614746 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1717647672430186} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4618432556778024} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4618432556778024} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &1744041827634116 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4935076605609942} - - component: {fileID: 114067799735170948} + - component: {fileID: 4634274355736766} m_Layer: 5 - m_Name: ATarget + m_Name: XTargets m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1905885652100770 +--- !u!4 &4634274355736766 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744041827634116} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4599552818975300} + - {fileID: 4497999718139404} + - {fileID: 4232457299302766} + - {fileID: 4116854624871162} + - {fileID: 4419786898047702} + - {fileID: 4005889465213416} + - {fileID: 4605918937442712} + m_Father: {fileID: 4392979907288068} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1756550066817936 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4286406122114976} + - component: {fileID: 4392979907288068} m_Layer: 0 - m_Name: PreviewOrigin + m_Name: rctrl:right_touch_controller_world m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1916842633872340 +--- !u!4 &4392979907288068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1756550066817936} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4229993619938756} + - {fileID: 4739231913698558} + - {fileID: 4923778637095892} + - {fileID: 4618432556778024} + - {fileID: 4123612427290732} + - {fileID: 4739441083625398} + - {fileID: 4634274355736766} + - {fileID: 4265941804760648} + - {fileID: 4449091758499836} + m_Father: {fileID: 4319904545768872} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1802177967822326 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4866118000331932} + - component: {fileID: 4182888507544958} m_Layer: 0 - m_Name: FieldGrabOrigin + m_Name: MenuOrigin m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1940169755506398 +--- !u!4 &4182888507544958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802177967822326} + m_LocalRotation: {x: 0.7053843, y: -0.049325276, z: 0.04932528, w: 0.7053843} + m_LocalPosition: {x: 0, y: -0.019999962, z: 0.049999982} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4259604204601724} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: -8, z: 0} +--- !u!1 &1827281207666842 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4739231913698558} - - component: {fileID: 65652449211325790} - - component: {fileID: 114229475745225828} - - component: {fileID: 114158651688308136} + - component: {fileID: 4701842204964542} + - component: {fileID: 137919000248738318} m_Layer: 0 - m_Name: rctrl:b_button02 - m_TagString: Untagged + m_Name: rctrl:surface_PLY + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1944088577171534 +--- !u!4 &4701842204964542 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1827281207666842} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137919000248738318 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1827281207666842} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Bones: + - {fileID: 4392979907288068} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4392979907288068} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &1833285544795360 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4319904545768872} - - component: {fileID: 95090493450937518} + - component: {fileID: 4923778637095892} m_Layer: 0 - m_Name: right_touch_controller_model_skel - m_TagString: Untagged + m_Name: rctrl:b_button03 + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1962913295011080 +--- !u!4 &4923778637095892 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833285544795360} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4392979907288068} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1833602971288856 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4980958811979122} - - component: {fileID: 137608865302087796} + - component: {fileID: 4799468984284310} m_Layer: 0 - m_Name: rctrl:thumbstick_ball_PLY - m_TagString: Untagged + m_Name: AltMenuOrigin + m_TagString: ShowInMiniWorld m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &4005889465213416 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1640381821328388} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0, y: -0.0225, z: 0.0382} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4634274355736766} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4056806496174470 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1695441185812742} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: -0.000000013062143, w: -0.00000018679738} - m_LocalPosition: {x: 0.0077, y: 0.0941, z: 0.015} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4265941804760648} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 180.00002, z: 8} ---- !u!4 &4075327793272532 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230595922584620} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.0339, y: 0.00069999904, z: 0.03799997} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4449091758499836} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4087876391306780 +--- !u!4 &4799468984284310 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230358172930540} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.04, y: -0.0292, z: -0.0282} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1833602971288856} + m_LocalRotation: {x: -0.000000029802322, y: -0.06975648, z: 0.0000000018626451, + w: 0.9975641} + m_LocalPosition: {x: 0, y: 0.02079998, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 4449091758499836} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} + m_Father: {fileID: 4259604204601724} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} +--- !u!1 &1858766135871422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4116854624871162} + - component: {fileID: 114160022324085170} + m_Layer: 5 + m_Name: RightGripTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!4 &4116854624871162 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1858766135871422} m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} m_LocalPosition: {x: -0.0077, y: -0.0702, z: -0.0129} @@ -828,11 +2149,49 @@ Transform: m_Father: {fileID: 4634274355736766} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} +--- !u!114 &114160022324085170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1858766135871422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4618432556778024} + m_TooltipAlignment: 0 + m_FacingDirection: 8 +--- !u!1 &1874255680932674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4123612427290732} + - component: {fileID: 136243378981334904} + - component: {fileID: 114917541663066898} + - component: {fileID: 114804913368841552} + - component: {fileID: 114374814748694916} + - component: {fileID: 114246993504168904} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!4 &4123612427290732 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1874255680932674} m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} @@ -842,136 +2201,200 @@ Transform: m_Father: {fileID: 4392979907288068} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4182888507544958 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1802177967822326} - m_LocalRotation: {x: 0.7053843, y: -0.049325276, z: 0.04932528, w: 0.7053843} - m_LocalPosition: {x: 0, y: -0.019999962, z: 0.049999982} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4259604204601724} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 90, y: -8, z: 0} ---- !u!4 &4220067225726358 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1375005451987192} - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4957872136414150} - - {fileID: 4931755424072790} - - {fileID: 4546336978305340} - - {fileID: 4340855915195298} - - {fileID: 4980108489728468} - - {fileID: 4312418380685016} - - {fileID: 4297694078927738} - - {fileID: 4824644894463188} - - {fileID: 4701842204964542} - - {fileID: 4980958811979122} - m_Father: {fileID: 4319904545768872} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4229993619938756 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1596791305360918} - m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} - m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4392979907288068} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4232457299302766 +--- !u!136 &136243378981334904 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1874255680932674} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.007829846 + m_Height: 0.019195441 + m_Direction: 0 + m_Center: {x: -0.012366092, y: -4.7276738e-11, z: 2.0965747e-10} +--- !u!114 &114917541663066898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1874255680932674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SelectionFlags: 3 +--- !u!114 &114804913368841552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1874255680932674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114864846006039090} + - {fileID: 114667663321992456} + - {fileID: 114414424634211024} +--- !u!114 &114374814748694916 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1874255680932674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114864846006039090} + - {fileID: 114667663321992456} + - {fileID: 114414424634211024} +--- !u!114 &114246993504168904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1874255680932674} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: + m_Placements: + - {fileID: 114864846006039090} + - {fileID: 114667663321992456} + - {fileID: 114414424634211024} +--- !u!1 &1884805618760934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4497999718139404} + - component: {fileID: 114242146399915576} + m_Layer: 5 + m_Name: RightTriggerTarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4497999718139404 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1346335321641892} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1884805618760934} m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 0.053, y: -0.0322, z: -0.0609} + m_LocalPosition: {x: -0.0184, y: 0.0414, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 4634274355736766} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4242311232206074 +--- !u!114 &114242146399915576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1884805618760934} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4739441083625398} + m_TooltipAlignment: 0 + m_FacingDirection: 8 +--- !u!1 &1891931915061114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4935076605609942} + - component: {fileID: 114067799735170948} + m_Layer: 5 + m_Name: ATarget + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4935076605609942 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1585823021358844} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0879, y: -0.0067, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4265941804760648} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4259604204601724 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1310876574352590} - m_LocalRotation: {x: 0.34028777, y: 0.0113129085, z: -0.015474446, w: 0.94012594} - m_LocalPosition: {x: 0.0040553696, y: -0.006948471, z: -0.053190824} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4319904545768872} - - {fileID: 4882697647327558} - - {fileID: 4182888507544958} - - {fileID: 4799468984284310} - - {fileID: 4286406122114976} - - {fileID: 4866118000331932} - m_Father: {fileID: 4617753192742486} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 39.805, y: 0.8010001, z: -1.596} ---- !u!4 &4265941804760648 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1404765211522878} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4056806496174470} - - {fileID: 4386011025919524} - - {fileID: 4242311232206074} - - {fileID: 4349839082530818} - - {fileID: 4509256393421740} - m_Father: {fileID: 4392979907288068} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4275253748442240 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1397649965331254} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1891931915061114} m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: -0.0292, y: 0.004699999, z: 0.03799997} + m_LocalPosition: {x: 0.0339, y: -0.0124, z: 0.005} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 4449091758499836} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} +--- !u!114 &114067799735170948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1891931915061114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipTarget: {fileID: 0} + m_TooltipSource: {fileID: 4229993619938756} + m_TooltipAlignment: 2 + m_FacingDirection: 3 +--- !u!1 &1905885652100770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4286406122114976} + m_Layer: 0 + m_Name: PreviewOrigin + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!4 &4286406122114976 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1905885652100770} m_LocalRotation: {x: -0.258819, y: -0, z: -4.6566134e-10, w: 0.9659259} m_LocalPosition: {x: 0, y: 0.073999986, z: 0.074600026} @@ -980,465 +2403,75 @@ Transform: m_Father: {fileID: 4259604204601724} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} ---- !u!4 &4297694078927738 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1004669452273820} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4312418380685016 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1059154825281568} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4314296935398236 +--- !u!1 &1916842633872340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4866118000331932} + m_Layer: 0 + m_Name: FieldGrabOrigin + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4866118000331932 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1300727566292708} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: -0, y: 0.0301, z: 0.0595} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916842633872340} + m_LocalRotation: {x: -0.258819, y: -0, z: -4.6566134e-10, w: 0.9659259} + m_LocalPosition: {x: 0, y: 0.02499998, z: 0.074599996} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 4449091758499836} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4319904545768872 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1944088577171534} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4220067225726358} - - {fileID: 4392979907288068} m_Father: {fileID: 4259604204601724} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4340855915195298 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1265269784871290} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4349839082530818 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1081293603496134} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0841, y: -0.0254, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4265941804760648} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4386011025919524 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1398662719640768} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: 0.0767, y: -0.0451, z: -0.0289} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4265941804760648} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4392979907288068 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1756550066817936} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4229993619938756} - - {fileID: 4739231913698558} - - {fileID: 4923778637095892} - - {fileID: 4618432556778024} - - {fileID: 4123612427290732} - - {fileID: 4739441083625398} - - {fileID: 4634274355736766} - - {fileID: 4265941804760648} - - {fileID: 4449091758499836} - m_Father: {fileID: 4319904545768872} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4419786898047702 + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} +--- !u!1 &1940169755506398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4739231913698558} + - component: {fileID: 65652449211325790} + - component: {fileID: 114229475745225828} + - component: {fileID: 114158651688308136} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4739231913698558 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1212151519367658} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 0, y: 0.020899996, z: 0.038199976} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940169755506398} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 4634274355736766} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4449091758499836 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1358144050439746} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4314296935398236} - - {fileID: 4087876391306780} - - {fileID: 4075327793272532} - - {fileID: 4935076605609942} - - {fileID: 4275253748442240} m_Father: {fileID: 4392979907288068} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4497999718139404 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1884805618760934} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0.0184, y: 0.0414, z: -0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4634274355736766} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4509256393421740 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1598100167736768} - m_LocalRotation: {x: 0.06975647, y: 0.9975641, z: 0, w: 0} - m_LocalPosition: {x: -0.0856, y: 0.0183, z: 0.0203} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4265941804760648} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 8} ---- !u!4 &4546336978305340 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1082573214156024} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4599552818975300 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1300317305236888} - m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} - m_LocalPosition: {x: 0.0184, y: 0.0414, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4634274355736766} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: -90} ---- !u!4 &4605918937442712 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1668967570677920} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0, y: 0.0088, z: 0.0636} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4634274355736766} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!4 &4617753192742486 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1523256443734892} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.775, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4259604204601724} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4618432556778024 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1389113628653208} - m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} - m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4392979907288068} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4634274355736766 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1744041827634116} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4599552818975300} - - {fileID: 4497999718139404} - - {fileID: 4232457299302766} - - {fileID: 4116854624871162} - - {fileID: 4419786898047702} - - {fileID: 4005889465213416} - - {fileID: 4605918937442712} - m_Father: {fileID: 4392979907288068} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4701842204964542 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1827281207666842} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4708024812184322 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1311200378102564} - m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} - m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4123612427290732} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4739231913698558 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1940169755506398} - m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} - m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4392979907288068} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4739441083625398 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1276142292023468} - m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} - m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4392979907288068} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4799468984284310 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1833602971288856} - m_LocalRotation: {x: -0.000000029802322, y: -0.06975648, z: 0.0000000018626451, - w: 0.9975641} - m_LocalPosition: {x: 0, y: 0.02079998, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4259604204601724} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} ---- !u!4 &4824644894463188 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1717647672430186} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4866118000331932 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1916842633872340} - m_LocalRotation: {x: -0.258819, y: -0, z: -4.6566134e-10, w: 0.9659259} - m_LocalPosition: {x: 0, y: 0.02499998, z: 0.074599996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4259604204601724} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} ---- !u!4 &4882697647327558 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1256076955954310} - m_LocalRotation: {x: -0.000000029802322, y: -0.06975648, z: 0.0000000018626451, - w: 0.9975641} - m_LocalPosition: {x: 0, y: -0.003000021, z: 0.03} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4259604204601724} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -8, z: 0} ---- !u!4 &4923778637095892 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1833285544795360} - m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} - m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4392979907288068} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4931755424072790 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1589431354275110} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4935076605609942 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1891931915061114} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: 0} - m_LocalPosition: {x: 0.0339, y: -0.0124, z: 0.005} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4449091758499836} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: -90, y: 180, z: 0} ---- !u!4 &4957872136414150 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1489487933936840} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4980108489728468 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1571403491183624} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4980958811979122 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1962913295011080} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4220067225726358} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &65645417938629278 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1596791305360918} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} - m_Center: {x: 0, y: 0, z: 0} --- !u!65 &65652449211325790 BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1940169755506398} m_Material: {fileID: 0} m_IsTrigger: 0 @@ -1446,827 +2479,125 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.0132717155, y: 0.0132717155, z: 0.004411662} m_Center: {x: 0, y: 0, z: 0} ---- !u!65 &65819152491953944 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1276142292023468} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.027765447, y: 0.018602315, z: 0.026097508} - m_Center: {x: 0.000057839174, y: -0.0013404132, z: -0.014336119} ---- !u!65 &65968421824177942 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1389113628653208} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.01031644, y: 0.023385666, z: 0.014417363} - m_Center: {x: 0.015382331, y: -0.0015480693, z: 0.0025578106} ---- !u!95 &95090493450937518 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1944088577171534} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Controller: {fileID: 0} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!114 &114032048618342948 +--- !u!114 &114229475745225828 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1276142292023468} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940169755506398} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} m_Name: m_EditorClassIdentifier: m_SelectionFlags: 3 ---- !u!114 &114067799735170948 +--- !u!114 &114158651688308136 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1891931915061114} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940169755506398} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4229993619938756} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114119452087568442 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1389113628653208} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114122849436668294 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1389113628653208} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114180644782525004} - - {fileID: 114791300422754232} - - {fileID: 114160022324085170} - - {fileID: 114641856822819510} ---- !u!114 &114128233377198556 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230595922584620} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739231913698558} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114158651688308136 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1940169755506398} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} + m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} m_Name: m_EditorClassIdentifier: m_TooltipText: m_Placements: - {fileID: 114181912130766552} - - {fileID: 114501672211928808} - - {fileID: 114128233377198556} ---- !u!114 &114160022324085170 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1858766135871422} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4618432556778024} - m_TooltipAlignment: 0 - m_FacingDirection: 8 ---- !u!114 &114180644782525004 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1398662719640768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4618432556778024} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114181912130766552 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1585823021358844} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739231913698558} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114229475745225828 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1940169755506398} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114242146399915576 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1884805618760934} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739441083625398} - m_TooltipAlignment: 0 - m_FacingDirection: 8 ---- !u!114 &114246993504168904 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1874255680932674} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114864846006039090} - - {fileID: 114667663321992456} - - {fileID: 114414424634211024} ---- !u!114 &114331393344479226 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1523256443734892} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1ee80ff6078a6344b26cc7dfb8dc8b5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FadeInDuration: 0.5 - m_FadeOutDuration: 2 - m_RayOrigin: {fileID: 4882697647327558} - m_MenuOrigin: {fileID: 4182888507544958} - m_AlternateMenuOrigin: {fileID: 4799468984284310} - m_PreviewOrigin: {fileID: 4286406122114976} - m_FieldGrabOrigin: {fileID: 4866118000331932} - m_NaturalOrientation: {fileID: 4617753192742486} - m_ProxyAnimator: {fileID: 114374282034907428} - m_AffordanceMap: {fileID: 11400000, guid: 129b6143c3275c34d8eb78fdc637e1bf, type: 2} - m_ProxyBackgroundMaterial: {fileID: 2100000, guid: 782cf64e6b630ac40b6a1e975ab25369, - type: 2} - m_Affordances: - - m_Control: 2 - m_Transforms: - - {fileID: 4739441083625398} - m_Renderers: - - {fileID: 137750340071255144} - m_Materials: [] - m_Tooltips: - - {fileID: 114659390789333790} - - m_Control: 3 - m_Transforms: - - {fileID: 4618432556778024} - m_Renderers: - - {fileID: 137644539707614746} - m_Materials: [] - m_Tooltips: - - {fileID: 114122849436668294} - - m_Control: 17 - m_Transforms: - - {fileID: 4229993619938756} - m_Renderers: - - {fileID: 137049207766417360} - m_Materials: [] - m_Tooltips: - - {fileID: 114781060718220892} - - m_Control: 18 - m_Transforms: - - {fileID: 4739231913698558} - m_Renderers: - - {fileID: 137060639317806984} - m_Materials: [] - m_Tooltips: - - {fileID: 114158651688308136} - - m_Control: 22 - m_Transforms: - - {fileID: 4123612427290732} - m_Renderers: - - {fileID: 137608865302087796} - m_Materials: [] - m_Tooltips: - - {fileID: 114804913368841552} - - m_Control: 0 - m_Transforms: - - {fileID: 4123612427290732} - m_Renderers: - - {fileID: 137608865302087796} - m_Materials: [] - m_Tooltips: - - {fileID: 114804913368841552} - - m_Control: 1 - m_Transforms: - - {fileID: 4123612427290732} - m_Renderers: - - {fileID: 137608865302087796} - m_Materials: [] - m_Tooltips: - - {fileID: 114804913368841552} ---- !u!114 &114374282034907428 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1523256443734892} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 460af9702a1fe674a932ad1a15f33bfa, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ProxyActionMap: {fileID: 11400000, guid: 9fba3ce585063484a937428d7ef14426, type: 2} ---- !u!114 &114374814748694916 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1874255680932674} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114864846006039090} - - {fileID: 114667663321992456} - - {fileID: 114414424634211024} ---- !u!114 &114414424634211024 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1397649965331254} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4123612427290732} - m_TooltipAlignment: 0 - m_FacingDirection: 3 ---- !u!114 &114494648423173430 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1081293603496134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4229993619938756} - m_TooltipAlignment: 2 - m_FacingDirection: 48 ---- !u!114 &114501672211928808 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1212151519367658} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739231913698558} - m_TooltipAlignment: 0 - m_FacingDirection: 12 ---- !u!114 &114552424188776510 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1640381821328388} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4229993619938756} - m_TooltipAlignment: 2 - m_FacingDirection: 12 ---- !u!114 &114641856822819510 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1230358172930540} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4618432556778024} - m_TooltipAlignment: 2 - m_FacingDirection: 3 ---- !u!114 &114659390789333790 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1276142292023468} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114664260787613270} - - {fileID: 114697781153637380} - - {fileID: 114242146399915576} - - {fileID: 114749624403577488} ---- !u!114 &114664260787613270 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1695441185812742} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739441083625398} - m_TooltipAlignment: 1 - m_FacingDirection: 48 ---- !u!114 &114667663321992456 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1668967570677920} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4123612427290732} - m_TooltipAlignment: 1 - m_FacingDirection: 12 ---- !u!114 &114697781153637380 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1300317305236888} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739441083625398} - m_TooltipAlignment: 2 - m_FacingDirection: 4 ---- !u!114 &114749624403577488 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1300727566292708} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4739441083625398} - m_TooltipAlignment: 1 - m_FacingDirection: 3 ---- !u!114 &114781060718220892 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1596791305360918} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114494648423173430} - - {fileID: 114552424188776510} - - {fileID: 114067799735170948} ---- !u!114 &114791300422754232 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1346335321641892} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4618432556778024} - m_TooltipAlignment: 1 - m_FacingDirection: 4 ---- !u!114 &114804913368841552 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1874255680932674} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ad66fdc11251de14abca66510af466b6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: - m_Placements: - - {fileID: 114864846006039090} - - {fileID: 114667663321992456} - - {fileID: 114414424634211024} ---- !u!114 &114864846006039090 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1598100167736768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a7be78803ce3e9488c4593a17a970d2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipTarget: {fileID: 0} - m_TooltipSource: {fileID: 4123612427290732} - m_TooltipAlignment: 0 - m_FacingDirection: 48 ---- !u!114 &114917541663066898 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1874255680932674} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!114 &114998847366586044 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1596791305360918} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4fb8f7696afa96048aa938286d04f96c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SelectionFlags: 3 ---- !u!136 &136243378981334904 -CapsuleCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1874255680932674} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.007829846 - m_Height: 0.019195441 - m_Direction: 0 - m_Center: {x: -0.012366092, y: -4.7276738e-11, z: 2.0965747e-10} ---- !u!137 &137034442852996544 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1059154825281568} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300010, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4923778637095892} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4923778637095892} - m_AABB: - m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} - m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} - m_DirtyAABB: 0 ---- !u!137 &137049207766417360 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1489487933936840} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300018, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4229993619938756} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4229993619938756} - m_AABB: - m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} - m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} - m_DirtyAABB: 0 ---- !u!137 &137050152289606164 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1571403491183624} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4923778637095892} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4923778637095892} - m_AABB: - m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} - m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} - m_DirtyAABB: 0 ---- !u!137 &137060639317806984 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1589431354275110} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300016, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4739231913698558} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4739231913698558} - m_AABB: - m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} - m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} - m_DirtyAABB: 0 ---- !u!137 &137272724241667846 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1004669452273820} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300004, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: + - {fileID: 114501672211928808} + - {fileID: 114128233377198556} +--- !u!1 &1944088577171534 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4319904545768872} + - component: {fileID: 95090493450937518} + m_Layer: 0 + m_Name: right_touch_controller_model_skel + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4319904545768872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944088577171534} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4220067225726358} - {fileID: 4392979907288068} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4392979907288068} - m_AABB: - m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} - m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} - m_DirtyAABB: 0 + m_Father: {fileID: 4259604204601724} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &95090493450937518 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1944088577171534} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} + m_Controller: {fileID: 0} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1962913295011080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4980958811979122} + - component: {fileID: 137608865302087796} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: ShowInMiniWorld + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4980958811979122 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1962913295011080} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4220067225726358} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &137608865302087796 SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1962913295011080} m_Enabled: 1 m_CastShadows: 1 @@ -2276,6 +2607,7 @@ SkinnedMeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} m_StaticBatchInfo: @@ -2311,195 +2643,3 @@ SkinnedMeshRenderer: m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} m_DirtyAABB: 0 ---- !u!137 &137644539707614746 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1717647672430186} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300014, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4618432556778024} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4618432556778024} - m_AABB: - m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} - m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} - m_DirtyAABB: 0 ---- !u!137 &137750340071255144 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1265269784871290} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300008, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4739441083625398} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4739441083625398} - m_AABB: - m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} - m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} - m_DirtyAABB: 0 ---- !u!137 &137868210150696092 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1082573214156024} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300006, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4392979907288068} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4392979907288068} - m_AABB: - m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} - m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} - m_DirtyAABB: 0 ---- !u!137 &137919000248738318 -SkinnedMeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1827281207666842} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RenderingLayerMask: 4294967295 - m_Materials: - - {fileID: 2100000, guid: 621bf3f262f052e41810f4479fca3852, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300002, guid: 20d82fb66fc22fa40ae34d9489bd6fcd, type: 3} - m_Bones: - - {fileID: 4392979907288068} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 4392979907288068} - m_AABB: - m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} - m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} - m_DirtyAABB: 0 diff --git a/Workspaces/MiniWorldWorkspace/MiniWorld.prefab b/Workspaces/MiniWorldWorkspace/MiniWorld.prefab index c60660563..855cc6917 100644 --- a/Workspaces/MiniWorldWorkspace/MiniWorld.prefab +++ b/Workspaces/MiniWorldWorkspace/MiniWorld.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1000012496997414} - m_IsPrefabParent: 1 --- !u!1 &1000011423637276 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000012154794738} - component: {fileID: 33000011248571642} @@ -28,60 +18,12 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000011984273708 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000013977495158} - - component: {fileID: 33000013784866012} - - component: {fileID: 23000011857554672} - m_Layer: 5 - m_Name: ContentBounds - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012496997414 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000010512691356} - - component: {fileID: 114000012262627604} - - component: {fileID: 114000012428583066} - m_Layer: 5 - m_Name: MiniWorld - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4000010512691356 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012496997414} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000013977495158} - - {fileID: 4000012154794738} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &4000012154794738 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000011423637276} m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -90,25 +32,21 @@ Transform: m_Father: {fileID: 4000010512691356} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!4 &4000013977495158 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011984273708} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_Children: [] - m_Father: {fileID: 4000010512691356} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &23000011857554672 +--- !u!33 &33000011248571642 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011423637276} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23000012676393868 MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011984273708} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011423637276} m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 @@ -116,8 +54,10 @@ MeshRenderer: m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 22da450ccaba2fc48901abbf602b13a8, type: 2} + - {fileID: 2100000, guid: ff922c58ec940314fb07eec695ef7543, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -137,12 +77,53 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!23 &23000012676393868 +--- !u!1 &1000011984273708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000013977495158} + - component: {fileID: 33000013784866012} + - component: {fileID: 23000011857554672} + m_Layer: 5 + m_Name: ContentBounds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000013977495158 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011984273708} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 4000010512691356} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000013784866012 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011984273708} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &23000011857554672 MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011423637276} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011984273708} m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 @@ -150,8 +131,10 @@ MeshRenderer: m_MotionVectors: 0 m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: ff922c58ec940314fb07eec695ef7543, type: 2} + - {fileID: 2100000, guid: 22da450ccaba2fc48901abbf602b13a8, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -171,25 +154,46 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!33 &33000011248571642 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011423637276} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &33000013784866012 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011984273708} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1000012496997414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000010512691356} + - component: {fileID: 114000012262627604} + - component: {fileID: 114000012428583066} + m_Layer: 5 + m_Name: MiniWorld + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010512691356 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012496997414} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000013977495158} + - {fileID: 4000012154794738} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &114000012262627604 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012496997414} m_Enabled: 1 m_EditorHideFlags: 0 @@ -198,13 +202,14 @@ MonoBehaviour: m_EditorClassIdentifier: m_RendererCullingMask: serializedVersion: 2 - m_Bits: 23 + m_Bits: 2147483671 m_ReferenceTransform: {fileID: 0} --- !u!114 &114000012428583066 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012496997414} m_Enabled: 1 m_EditorHideFlags: 0 From 5b1fa984b76761749427c3a44e0c60fd8a2f4f78 Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 4 Nov 2019 16:30:35 -0800 Subject: [PATCH 74/75] Disable `RaycastTarget` on UnlockAllUI "text icon" to fix an issue where the Unlock All button was not clickable --- .../Prefabs/UnlockAllUI.prefab | 901 +++++++++--------- 1 file changed, 460 insertions(+), 441 deletions(-) diff --git a/Workspaces/LockedObjectsWorkspace/Prefabs/UnlockAllUI.prefab b/Workspaces/LockedObjectsWorkspace/Prefabs/UnlockAllUI.prefab index 5dd9227e2..e4f774c9a 100644 --- a/Workspaces/LockedObjectsWorkspace/Prefabs/UnlockAllUI.prefab +++ b/Workspaces/LockedObjectsWorkspace/Prefabs/UnlockAllUI.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1000014221612502} - m_IsPrefabParent: 1 --- !u!1 &1000010888724286 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000012173052050} - component: {fileID: 222000011703376656} @@ -29,12 +19,107 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224000012173052050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011703376656 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_CullTransparentMesh: 0 +--- !u!114 &114000011779290080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} + m_ColorMultiplier: 1 + m_FadeDuration: 0.125 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012074414550} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &114000010829597326 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &1000011482355368 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000012659354482} - component: {fileID: 114000010113740922} @@ -47,12 +132,83 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000012659354482 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.12, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000010399068762} + m_Father: {fileID: 224000010732985556} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000010113740922 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_AlternateIconSprite: {fileID: 0} + m_ButtonMeshRenderer: {fileID: 23000010983096818} + m_CanvasGroup: {fileID: 225000014165661354} + m_Icon: {fileID: 114000012074414550} + m_IconContainer: {fileID: 224000011347726248} + m_Button: {fileID: 114000011779290080} + m_SwapIconsOnClick: 1 + m_HighlightItems: + - {fileID: 114000012074414550} + - {fileID: 0} + m_GrayscaleGradient: 0 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000014165661354 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114315713945108014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: Unlock all objects + m_TooltipTarget: {fileID: 224831412631352754} + m_TooltipSource: {fileID: 224915802845480706} + m_TooltipAlignment: 1 --- !u!1 &1000012013970082 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000010399068762} - component: {fileID: 33000011821658162} @@ -64,121 +220,12 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000012765509944 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010732985556} - - component: {fileID: 225000012382640482} - m_Layer: 5 - m_Name: ButtonsContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013451221012 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011347726248} - m_Layer: 5 - m_Name: IconContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013806505726 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013301428538} - - component: {fileID: 222000013707217468} - - component: {fileID: 114000012074414550} - m_Layer: 5 - m_Name: Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014221612502 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010289652362} - m_Layer: 5 - m_Name: UnlockAllUI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1116775318079980 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224302788590816788} - - component: {fileID: 222191773522134406} - - component: {fileID: 114731343796596394} - m_Layer: 0 - m_Name: TextIcon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1168197739100542 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224831412631352754} - m_Layer: 5 - m_Name: TooltipTarget - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1863959334003162 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224915802845480706} - m_Layer: 5 - m_Name: TooltipSource - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!4 &4000010399068762 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012013970082} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -190,25 +237,20 @@ Transform: m_Father: {fileID: 4000012659354482} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000012659354482 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.12, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000010399068762} - m_Father: {fileID: 224000010732985556} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000011821658162 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012013970082} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} --- !u!23 &23000010983096818 MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012013970082} m_Enabled: 1 m_CastShadows: 0 @@ -218,6 +260,7 @@ MeshRenderer: m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 9a5391a306f086742a2f0d1088c296ed, type: 2} - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} @@ -240,112 +283,144 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!33 &33000011821658162 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012013970082} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!114 &114000010113740922 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_AlternateIconSprite: {fileID: 0} - m_ButtonMeshRenderer: {fileID: 23000010983096818} - m_CanvasGroup: {fileID: 225000014165661354} - m_Icon: {fileID: 114000012074414550} - m_IconContainer: {fileID: 224000011347726248} - m_Button: {fileID: 114000011779290080} - m_SwapIconsOnClick: 1 - m_HighlightItems: - - {fileID: 114000012074414550} - - {fileID: 0} - m_GrayscaleGradient: 0 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 ---- !u!114 &114000010829597326 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000011779290080 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} +--- !u!1 &1000012765509944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010732985556} + - component: {fileID: 225000012382640482} + m_Layer: 5 + m_Name: ButtonsContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010732985556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012765509944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000012659354482} + m_Father: {fileID: 224000010289652362} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &225000012382640482 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012765509944} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 0 - m_Colors: - m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} - m_ColorMultiplier: 1 - m_FadeDuration: 0.125 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled + m_Alpha: 1 m_Interactable: 1 - m_TargetGraphic: {fileID: 114000012074414550} - m_OnClick: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &1000013451221012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011347726248} + m_Layer: 5 + m_Name: IconContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011347726248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013451221012} + m_LocalRotation: {x: 1.1641534e-10, y: -0, z: -0.0000000014188118, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.00012516735, y: 0.0003, z: 0.00029999996} + m_Children: + - {fileID: 224000013301428538} + - {fileID: 224000012173052050} + - {fileID: 224302788590816788} + m_Father: {fileID: 4000010399068762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000013806505726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013301428538} + - component: {fileID: 222000013707217468} + - component: {fileID: 114000012074414550} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013301428538 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013806505726} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013707217468 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013806505726} + m_CullTransparentMesh: 0 --- !u!114 &114000012074414550 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000013806505726} m_Enabled: 0 m_EditorHideFlags: 0 @@ -358,8 +433,6 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 0} m_Type: 3 m_PreserveAspect: 0 @@ -368,26 +441,94 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 2 ---- !u!114 &114315713945108014 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: Unlock all objects - m_TooltipTarget: {fileID: 224831412631352754} - m_TooltipSource: {fileID: 224915802845480706} - m_TooltipAlignment: 1 + m_UseSpriteMesh: 0 +--- !u!1 &1000014221612502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010289652362} + m_Layer: 5 + m_Name: UnlockAllUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010289652362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014221612502} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010732985556} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -0.0134887695, y: 0} + m_SizeDelta: {x: 0.22439998, y: 0.05} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1116775318079980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224302788590816788} + - component: {fileID: 222191773522134406} + - component: {fileID: 114731343796596394} + m_Layer: 0 + m_Name: TextIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224302788590816788 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116775318079980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222191773522134406 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116775318079980} + m_CullTransparentMesh: 0 --- !u!114 &114731343796596394 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1116775318079980} m_Enabled: 1 m_EditorHideFlags: 0 @@ -396,12 +537,10 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_text: Unlock All m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 76ff077e92eb4fe41aa26173a3d98fb6, type: 2} @@ -414,6 +553,7 @@ MonoBehaviour: rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -437,7 +577,6 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_textAlignment: 514 - m_isAlignmentEnumConverted: 1 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -450,6 +589,7 @@ MonoBehaviour: m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -463,6 +603,7 @@ MonoBehaviour: m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_VertexBufferAutoSizeReduction: 1 m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 @@ -477,12 +618,9 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 - m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: - {fileID: 0} @@ -495,142 +633,28 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &222000011703376656 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} ---- !u!222 &222000013707217468 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013806505726} ---- !u!222 &222191773522134406 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116775318079980} ---- !u!224 &224000010289652362 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014221612502} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000010732985556} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -0.0135, y: 0} - m_SizeDelta: {x: 0.22439998, y: 0.05} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010732985556 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012765509944} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000012659354482} - m_Father: {fileID: 224000010289652362} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011347726248 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013451221012} - m_LocalRotation: {x: 1.1641534e-10, y: -0, z: -0.0000000014188118, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.00012516735, y: 0.0003, z: 0.00029999996} - m_Children: - - {fileID: 224000013301428538} - - {fileID: 224000012173052050} - - {fileID: 224302788590816788} - m_Father: {fileID: 4000010399068762} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 160, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012173052050 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013301428538 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013806505726} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224302788590816788 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116775318079980} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1168197739100542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224831412631352754} + m_Layer: 5 + m_Name: TooltipTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &224831412631352754 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1168197739100542} m_LocalRotation: {x: 0.00000008940696, y: 0.000000007531685, z: 8.5815555e-10, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -644,11 +668,28 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -0.029999996} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1863959334003162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224915802845480706} + m_Layer: 5 + m_Name: TooltipSource + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &224915802845480706 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1863959334003162} m_LocalRotation: {x: 0.00000008940696, y: 0.000000007531685, z: 8.5815555e-10, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -662,25 +703,3 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -0.009999998} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!225 &225000012382640482 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012765509944} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000014165661354 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 From 61d13267d80a536d7906e36441cc6aefcd7ccb1e Mon Sep 17 00:00:00 2001 From: Matt Schoen Date: Mon, 4 Nov 2019 16:43:14 -0800 Subject: [PATCH 75/75] Disable `RaycastTarget` on CreateEmptyUI and FocusUI "text icon" to fix an issue where the button was not clickable --- .../Prefabs/CreateEmptyUI.prefab | 813 +++++++-------- .../HierarchyWorkspace/Prefabs/FocusUI.prefab | 963 +++++++++--------- 2 files changed, 906 insertions(+), 870 deletions(-) diff --git a/Workspaces/HierarchyWorkspace/Prefabs/CreateEmptyUI.prefab b/Workspaces/HierarchyWorkspace/Prefabs/CreateEmptyUI.prefab index 15c45f9da..fb819d489 100644 --- a/Workspaces/HierarchyWorkspace/Prefabs/CreateEmptyUI.prefab +++ b/Workspaces/HierarchyWorkspace/Prefabs/CreateEmptyUI.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1000013010186534} - m_IsPrefabParent: 1 --- !u!1 &1000010363967744 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000010305994080} m_Layer: 5 @@ -26,12 +16,35 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224000010305994080 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010363967744} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} + m_Children: + - {fileID: 224000013759117198} + - {fileID: 224000010663495902} + - {fileID: 224147371836306382} + m_Father: {fileID: 4000013600292778} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1000010601652642 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000012913167682} - component: {fileID: 114000010499071494} @@ -44,12 +57,83 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000012913167682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010601652642} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.1507, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000013600292778} + m_Father: {fileID: 224000010384017794} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000010499071494 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010601652642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_AlternateIconSprite: {fileID: 0} + m_ButtonMeshRenderer: {fileID: 23000011649249944} + m_CanvasGroup: {fileID: 225000013917200088} + m_Icon: {fileID: 114000013561299652} + m_IconContainer: {fileID: 224000010305994080} + m_Button: {fileID: 114000010778606354} + m_SwapIconsOnClick: 1 + m_HighlightItems: + - {fileID: 114000013561299652} + - {fileID: 0} + m_GrayscaleGradient: 0 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000013917200088 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010601652642} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114000013026507788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010601652642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: Create Empty + m_TooltipTarget: {fileID: 4000014158741216} + m_TooltipSource: {fileID: 4000014289395366} + m_TooltipAlignment: 1 --- !u!1 &1000011021010368 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000014289395366} m_Layer: 0 @@ -59,12 +143,27 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000014289395366 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011021010368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.01, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000013600292778} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1000011388338706 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000013600292778} - component: {fileID: 33000010406955996} @@ -76,123 +175,12 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000012469261492 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010663495902} - - component: {fileID: 222000012464910594} - - component: {fileID: 114000010778606354} - - component: {fileID: 114000011816603204} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013010186534 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011345545158} - m_Layer: 5 - m_Name: CreateEmptyUI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013758235146 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000014158741216} - m_Layer: 0 - m_Name: TooltipTarget - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013855192298 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010384017794} - - component: {fileID: 225000013884091222} - m_Layer: 5 - m_Name: ButtonsContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013998482522 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013759117198} - - component: {fileID: 222000011435391612} - - component: {fileID: 114000013561299652} - m_Layer: 5 - m_Name: Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1290745927365436 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224147371836306382} - - component: {fileID: 222651019419839040} - - component: {fileID: 114258678361137342} - m_Layer: 0 - m_Name: TextIcon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4000012913167682 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010601652642} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.1507, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000013600292778} - m_Father: {fileID: 224000010384017794} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &4000013600292778 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000011388338706} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -204,37 +192,20 @@ Transform: m_Father: {fileID: 4000012913167682} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000014158741216 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013758235146} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.03, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4000013600292778} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000014289395366 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011021010368} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.01, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4000013600292778} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000010406955996 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011388338706} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} --- !u!23 &23000011649249944 MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000011388338706} m_Enabled: 1 m_CastShadows: 0 @@ -244,6 +215,7 @@ MeshRenderer: m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 9a5391a306f086742a2f0d1088c296ed, type: 2} - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} @@ -266,44 +238,58 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!33 &33000010406955996 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011388338706} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!114 &114000010499071494 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010601652642} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_AlternateIconSprite: {fileID: 0} - m_ButtonMeshRenderer: {fileID: 23000011649249944} - m_CanvasGroup: {fileID: 225000013917200088} - m_Icon: {fileID: 114000013561299652} - m_IconContainer: {fileID: 224000010305994080} - m_Button: {fileID: 114000010778606354} - m_SwapIconsOnClick: 1 - m_HighlightItems: - - {fileID: 114000013561299652} - - {fileID: 0} - m_GrayscaleGradient: 0 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 +--- !u!1 &1000012469261492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010663495902} + - component: {fileID: 222000012464910594} + - component: {fileID: 114000010778606354} + - component: {fileID: 114000011816603204} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010663495902 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012469261492} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010305994080} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012464910594 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012469261492} + m_CullTransparentMesh: 0 --- !u!114 &114000010778606354 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012469261492} m_Enabled: 1 m_EditorHideFlags: 0 @@ -339,7 +325,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114000010717983400, guid: 839f992336afa204a87a5eb02f659941, - type: 2} + type: 3} m_MethodName: OnLockButtonPressed m_Mode: 1 m_Arguments: @@ -350,13 +336,12 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 1 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null --- !u!114 &114000011816603204 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012469261492} m_Enabled: 1 m_EditorHideFlags: 0 @@ -369,8 +354,6 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 0} m_Type: 0 m_PreserveAspect: 0 @@ -379,26 +362,173 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114000013026507788 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010601652642} + m_UseSpriteMesh: 0 +--- !u!1 &1000013010186534 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011345545158} + m_Layer: 5 + m_Name: CreateEmptyUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011345545158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013010186534} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010384017794} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -0.0135, y: 0} + m_SizeDelta: {x: 0.22439998, y: 0.05} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000013758235146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000014158741216} + m_Layer: 0 + m_Name: TooltipTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000014158741216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013758235146} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.03, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000013600292778} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1000013855192298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010384017794} + - component: {fileID: 225000013884091222} + m_Layer: 5 + m_Name: ButtonsContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010384017794 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013855192298} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000012913167682} + m_Father: {fileID: 224000011345545158} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &225000013884091222 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013855192298} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: Create Empty - m_TooltipTarget: {fileID: 4000014158741216} - m_TooltipSource: {fileID: 4000014289395366} - m_TooltipAlignment: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &1000013998482522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013759117198} + - component: {fileID: 222000011435391612} + - component: {fileID: 114000013561299652} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013759117198 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013998482522} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010305994080} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011435391612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013998482522} + m_CullTransparentMesh: 0 --- !u!114 &114000013561299652 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000013998482522} m_Enabled: 0 m_EditorHideFlags: 0 @@ -411,8 +541,6 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 0} m_Type: 3 m_PreserveAspect: 0 @@ -421,11 +549,58 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 2 + m_UseSpriteMesh: 0 +--- !u!1 &1290745927365436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224147371836306382} + - component: {fileID: 222651019419839040} + - component: {fileID: 114258678361137342} + m_Layer: 0 + m_Name: TextIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224147371836306382 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1290745927365436} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010305994080} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222651019419839040 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1290745927365436} + m_CullTransparentMesh: 0 --- !u!114 &114258678361137342 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1290745927365436} m_Enabled: 1 m_EditorHideFlags: 0 @@ -434,12 +609,10 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_text: C m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ea721564999c75441b5b3aa01ae88f76, type: 2} @@ -452,6 +625,7 @@ MonoBehaviour: rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 + m_colorMode: 3 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} @@ -475,7 +649,6 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_textAlignment: 514 - m_isAlignmentEnumConverted: 1 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -488,6 +661,7 @@ MonoBehaviour: m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 + m_isTextTruncated: 0 m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -501,6 +675,7 @@ MonoBehaviour: m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_VertexBufferAutoSizeReduction: 1 m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 @@ -515,12 +690,9 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 - m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: - {fileID: 0} @@ -533,156 +705,3 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &222000011435391612 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013998482522} ---- !u!222 &222000012464910594 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012469261492} ---- !u!222 &222651019419839040 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1290745927365436} ---- !u!224 &224000010305994080 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010363967744} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} - m_Children: - - {fileID: 224000013759117198} - - {fileID: 224000010663495902} - - {fileID: 224147371836306382} - m_Father: {fileID: 4000013600292778} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010384017794 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013855192298} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000012913167682} - m_Father: {fileID: 224000011345545158} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010663495902 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012469261492} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010305994080} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011345545158 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013010186534} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000010384017794} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -640.0135, y: -240} - m_SizeDelta: {x: 0.22439998, y: 0.05} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013759117198 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013998482522} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010305994080} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224147371836306382 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1290745927365436} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000010305994080} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!225 &225000013884091222 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013855192298} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000013917200088 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010601652642} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 diff --git a/Workspaces/HierarchyWorkspace/Prefabs/FocusUI.prefab b/Workspaces/HierarchyWorkspace/Prefabs/FocusUI.prefab index 1875ac625..be6619379 100644 --- a/Workspaces/HierarchyWorkspace/Prefabs/FocusUI.prefab +++ b/Workspaces/HierarchyWorkspace/Prefabs/FocusUI.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1000014221612502} - m_IsPrefabParent: 1 --- !u!1 &1000010888724286 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224000012173052050} - component: {fileID: 222000011703376656} @@ -29,12 +19,119 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224000012173052050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.108500004, y: 0.108500004} + m_AnchorMax: {x: 0.8915, y: 0.8915} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011703376656 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_CullTransparentMesh: 0 +--- !u!114 &114000011779290080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} + m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} + m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} + m_ColorMultiplier: 1 + m_FadeDuration: 0.125 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012074414550} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000010717983400, guid: 839f992336afa204a87a5eb02f659941, + type: 3} + m_MethodName: OnLockButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 1 +--- !u!114 &114000010829597326 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010888724286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &1000011482355368 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000012659354482} - component: {fileID: 114000010113740922} @@ -47,12 +144,83 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!4 &4000012659354482 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.087201685, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000010399068762} + m_Father: {fileID: 224000010732985556} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114000010113740922 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AutoHighlight: 1 + m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} + m_AlternateIconSprite: {fileID: 0} + m_ButtonMeshRenderer: {fileID: 23000010983096818} + m_CanvasGroup: {fileID: 225000014165661354} + m_Icon: {fileID: 114000012074414550} + m_IconContainer: {fileID: 224000011347726248} + m_Button: {fileID: 114000011779290080} + m_SwapIconsOnClick: 1 + m_HighlightItems: + - {fileID: 114000012074414550} + - {fileID: 0} + m_GrayscaleGradient: 0 + m_AnimatedReveal: 0 + m_DelayBeforeReveal: 0.5 +--- !u!225 &225000014165661354 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &114000010255987122 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011482355368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TooltipText: Focus Selected + m_TooltipTarget: {fileID: 4000011902542736} + m_TooltipSource: {fileID: 4000013414226692} + m_TooltipAlignment: 1 --- !u!1 &1000012013970082 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 4000010399068762} - component: {fileID: 33000011821658162} @@ -64,121 +232,12 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1000012765509944 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010732985556} - - component: {fileID: 225000012382640482} - m_Layer: 5 - m_Name: ButtonsContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000012973494274 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000011902542736} - m_Layer: 0 - m_Name: TooltipTarget - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013025402038 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4000013414226692} - m_Layer: 0 - m_Name: TooltipSource - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013451221012 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000011347726248} - m_Layer: 5 - m_Name: IconContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000013806505726 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000013301428538} - - component: {fileID: 222000013707217468} - - component: {fileID: 114000012074414550} - m_Layer: 5 - m_Name: Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1000014221612502 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224000010289652362} - m_Layer: 5 - m_Name: FocusUI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1404592226499968 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224561758779374044} - - component: {fileID: 222084163820859426} - - component: {fileID: 114311782569621012} - m_Layer: 0 - m_Name: TextIcon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!4 &4000010399068762 Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012013970082} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} @@ -190,51 +249,20 @@ Transform: m_Father: {fileID: 4000012659354482} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000011902542736 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012973494274} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.03, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4000010399068762} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000012659354482 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.087201685, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000010399068762} - m_Father: {fileID: 224000010732985556} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &4000013414226692 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013025402038} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.01, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4000010399068762} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33000011821658162 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012013970082} + m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} --- !u!23 &23000010983096818 MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000012013970082} m_Enabled: 1 m_CastShadows: 0 @@ -244,6 +272,7 @@ MeshRenderer: m_LightProbeUsage: 0 m_ReflectionProbeUsage: 0 m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 9a5391a306f086742a2f0d1088c296ed, type: 2} - {fileID: 2100000, guid: e1423c0176008a841a94b94a6034bbf8, type: 2} @@ -266,139 +295,204 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!33 &33000011821658162 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012013970082} - m_Mesh: {fileID: 4300000, guid: 778451e1d0bcdba4aa329586e9d8146e, type: 3} ---- !u!114 &114000010113740922 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4ea8f288a8eeaef46b1f6bfb72debc2a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AutoHighlight: 1 - m_CustomHighlightColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_AlternateIconSprite: {fileID: 0} - m_ButtonMeshRenderer: {fileID: 23000010983096818} - m_CanvasGroup: {fileID: 225000014165661354} - m_Icon: {fileID: 114000012074414550} - m_IconContainer: {fileID: 224000011347726248} - m_Button: {fileID: 114000011779290080} - m_SwapIconsOnClick: 1 - m_HighlightItems: - - {fileID: 114000012074414550} - - {fileID: 0} - m_GrayscaleGradient: 0 - m_AnimatedReveal: 0 - m_DelayBeforeReveal: 0.5 ---- !u!114 &114000010255987122 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 121a9b94e41e9e444af3e8069a887154, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TooltipText: Focus Selected - m_TooltipTarget: {fileID: 4000011902542736} - m_TooltipSource: {fileID: 4000013414226692} - m_TooltipAlignment: 1 ---- !u!114 &114000010829597326 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114000011779290080 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} +--- !u!1 &1000012765509944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010732985556} + - component: {fileID: 225000012382640482} + m_Layer: 5 + m_Name: ButtonsContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010732985556 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012765509944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4000012659354482} + m_Father: {fileID: 224000010289652362} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &225000012382640482 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012765509944} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 0 - m_Colors: - m_NormalColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 1} - m_HighlightedColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} - m_PressedColor: {r: 0.19607843, g: 0.2, b: 0.2, a: 1} - m_DisabledColor: {r: 0.9607843, g: 0.972549, b: 0.9764706, a: 0.253} - m_ColorMultiplier: 1 - m_FadeDuration: 0.125 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled + m_Alpha: 1 m_Interactable: 1 - m_TargetGraphic: {fileID: 114000012074414550} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114000010717983400, guid: 839f992336afa204a87a5eb02f659941, - type: 2} - m_MethodName: OnLockButtonPressed - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 1 - m_CallState: 1 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &1000012973494274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000011902542736} + m_Layer: 0 + m_Name: TooltipTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000011902542736 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012973494274} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.03, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000010399068762} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1000013025402038 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4000013414226692} + m_Layer: 0 + m_Name: TooltipSource + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000013414226692 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013025402038} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.01, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000010399068762} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1000013451221012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011347726248} + m_Layer: 5 + m_Name: IconContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011347726248 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013451221012} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} + m_Children: + - {fileID: 224000013301428538} + - {fileID: 224000012173052050} + - {fileID: 224561758779374044} + m_Father: {fileID: 4000010399068762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000013806505726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013301428538} + - component: {fileID: 222000013707217468} + - component: {fileID: 114000012074414550} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013301428538 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013806505726} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.19, y: 0.19} + m_AnchorMax: {x: 0.81, y: 0.81} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013707217468 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013806505726} + m_CullTransparentMesh: 0 --- !u!114 &114000012074414550 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000013806505726} m_Enabled: 0 m_EditorHideFlags: 0 @@ -411,8 +505,6 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 0} m_Type: 3 m_PreserveAspect: 0 @@ -421,11 +513,94 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 2 + m_UseSpriteMesh: 0 +--- !u!1 &1000014221612502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010289652362} + m_Layer: 5 + m_Name: FocusUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010289652362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000014221612502} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010732985556} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0.22439998, y: 0.05} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1404592226499968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224561758779374044} + - component: {fileID: 222084163820859426} + - component: {fileID: 114311782569621012} + m_Layer: 0 + m_Name: TextIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224561758779374044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404592226499968} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011347726248} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222084163820859426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1404592226499968} + m_CullTransparentMesh: 0 --- !u!114 &114311782569621012 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1404592226499968} m_Enabled: 1 m_EditorHideFlags: 0 @@ -434,12 +609,10 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_text: F m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 76ff077e92eb4fe41aa26173a3d98fb6, type: 2} @@ -477,7 +650,6 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_textAlignment: 514 - m_isAlignmentEnumConverted: 1 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -504,6 +676,7 @@ MonoBehaviour: m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_VertexBufferAutoSizeReduction: 1 m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 @@ -518,12 +691,9 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 - m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: - {fileID: 0} @@ -536,156 +706,3 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &222000011703376656 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} ---- !u!222 &222000013707217468 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013806505726} ---- !u!222 &222084163820859426 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1404592226499968} ---- !u!224 &224000010289652362 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000014221612502} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224000010732985556} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0.22439998, y: 0.05} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000010732985556 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012765509944} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4000012659354482} - m_Father: {fileID: 224000010289652362} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000011347726248 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013451221012} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.0003, y: 0.0003, z: 0.0003} - m_Children: - - {fileID: 224000013301428538} - - {fileID: 224000012173052050} - - {fileID: 224561758779374044} - m_Father: {fileID: 4000010399068762} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000012173052050 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000010888724286} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.108500004, y: 0.108500004} - m_AnchorMax: {x: 0.8915, y: 0.8915} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224000013301428538 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000013806505726} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.19, y: 0.19} - m_AnchorMax: {x: 0.81, y: 0.81} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224561758779374044 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1404592226499968} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224000011347726248} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!225 &225000012382640482 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000012765509944} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0 ---- !u!225 &225000014165661354 -CanvasGroup: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1000011482355368} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 1 - m_BlocksRaycasts: 1 - m_IgnoreParentGroups: 0