diff --git a/Runtime/ActiveSessionView/ActiveSessionView.prefab b/Runtime/ActiveSessionView/ActiveSessionView.prefab index 86a1414a..cb545964 100644 --- a/Runtime/ActiveSessionView/ActiveSessionView.prefab +++ b/Runtime/ActiveSessionView/ActiveSessionView.prefab @@ -28,6 +28,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224272527112368404} - {fileID: 224415148931868684} @@ -35,11 +36,13 @@ RectTransform: - {fileID: 224060075767976710} - {fileID: 224662372715779770} - {fileID: 224504639936717404} + - {fileID: 8391036136280114907} - {fileID: 224866915829660710} - {fileID: 224003606559402078} - {fileID: 224460162455803314} - {fileID: 224509272900548498} - {fileID: 224235580296564884} + - {fileID: 4375019005796631281} m_Father: {fileID: 224250040840096990} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -71,6 +74,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -111,6 +115,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224080983687891314} m_Father: {fileID: 224955002143838726} @@ -149,6 +154,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 8 @@ -181,6 +187,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.18039216, g: 0.21960786, b: 0.28627452, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -227,6 +234,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224389760668375070} m_RootOrder: 2 @@ -259,6 +267,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.03137255, g: 0.3019608, b: 0.46274513, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -305,6 +314,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224966025608023726} m_RootOrder: 0 @@ -337,6 +347,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -383,6 +394,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 20 @@ -415,6 +427,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0, g: 0.8758622, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -457,6 +470,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224994862525148204} m_RootOrder: 1 @@ -489,6 +503,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8588236, g: 0.015686275, b: 0.015686275, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -535,6 +550,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 4 @@ -567,6 +583,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -614,6 +631,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224051000961421674} m_RootOrder: 0 @@ -646,6 +664,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -674,6 +693,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -704,6 +724,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114743721398287670} + m_TargetAssemblyTypeName: m_MethodName: Button_ToggleFullscreen m_Mode: 6 m_Arguments: @@ -742,6 +763,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 0.9999999} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 6 @@ -774,6 +796,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -821,6 +844,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224776208382859462} - {fileID: 224922201737365838} @@ -886,6 +910,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -928,6 +953,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 3 @@ -960,6 +986,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1006,6 +1033,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224669023608393810} m_RootOrder: 2 @@ -1038,6 +1066,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.40000004, g: 0.1764706, b: 0.8117648, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1084,6 +1113,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224816700892549598} - {fileID: 224323945057334788} @@ -1124,6 +1154,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.1764706, g: 0.21568629, b: 0.28235295, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1166,6 +1197,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224113288859939056} m_RootOrder: 0 @@ -1198,6 +1230,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1242,6 +1275,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224193391406892654} m_Father: {fileID: 224820148931210802} @@ -1280,6 +1314,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 11 @@ -1312,6 +1347,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.18039216, g: 0.21960786, b: 0.28627452, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1358,6 +1394,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 3 @@ -1390,6 +1427,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1429,6 +1467,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224623656859411202} m_RootOrder: 1 @@ -1461,6 +1500,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.03137255, g: 0.3019608, b: 0.46274513, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1507,6 +1547,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224155468141087852} m_RootOrder: 1 @@ -1539,6 +1580,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1578,6 +1620,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224378016799966162} m_RootOrder: 0 @@ -1610,6 +1653,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1656,6 +1700,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224378016799966162} m_RootOrder: 1 @@ -1688,6 +1733,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1732,6 +1778,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224623656859411202} m_Father: {fileID: 4000858149645006} @@ -1759,6 +1806,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 25 @@ -1785,6 +1833,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114975910980236052 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1850,6 +1899,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 6 @@ -1882,6 +1932,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8039216, g: 0.84313726, b: 0.88235295, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -1924,6 +1975,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 2 @@ -1956,6 +2008,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2002,9 +2055,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -2034,6 +2088,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2080,6 +2135,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 14 @@ -2112,6 +2168,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2158,9 +2215,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -2190,6 +2248,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2236,6 +2295,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224498558508261474} m_RootOrder: 0 @@ -2268,6 +2328,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2314,6 +2375,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 16 @@ -2346,6 +2408,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.098039225, g: 0.5137255, b: 0.8078432, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2388,6 +2451,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 5 @@ -2420,6 +2484,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2467,6 +2532,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224942108437139636} m_Father: {fileID: 224389760668375070} @@ -2500,6 +2566,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2528,6 +2595,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2590,6 +2658,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 0.9999999} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 5 @@ -2622,6 +2691,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2668,6 +2738,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 18 @@ -2700,6 +2771,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.40000004, g: 0.1764706, b: 0.8117648, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2742,6 +2814,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224265790179144192} m_RootOrder: 1 @@ -2774,6 +2847,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0, g: 0, b: 0, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2816,6 +2890,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 7 @@ -2848,6 +2923,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8039216, g: 0.84313726, b: 0.88235295, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2890,6 +2966,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 1 @@ -2922,6 +2999,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -2968,6 +3046,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224994862525148204} m_RootOrder: 4 @@ -3000,6 +3079,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.098039225, g: 0.5137255, b: 0.8078432, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3046,6 +3126,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224994862525148204} m_RootOrder: 3 @@ -3078,6 +3159,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.14117648, g: 0.7568628, b: 0.427451, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3124,6 +3206,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224994862525148204} m_RootOrder: 0 @@ -3156,6 +3239,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.007843138, g: 0.86666673, b: 0.9921569, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3202,6 +3286,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224669023608393810} m_RootOrder: 0 @@ -3234,6 +3319,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.098039225, g: 0.5137255, b: 0.8078432, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3280,6 +3366,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224256375945781070} - {fileID: 224669023608393810} @@ -3333,6 +3420,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3375,6 +3463,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 0.9999999} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 4 @@ -3407,6 +3496,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3453,6 +3543,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224669023608393810} m_RootOrder: 1 @@ -3485,6 +3576,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.14117648, g: 0.7568628, b: 0.427451, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3532,6 +3624,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224405424988198516} - {fileID: 224566682847202012} @@ -3569,6 +3662,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3608,6 +3702,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &1426318893944802 GameObject: m_ObjectHideFlags: 0 @@ -3637,6 +3732,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224389760668375070} m_Father: {fileID: 4000858149645006} @@ -3664,6 +3760,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 10 @@ -3690,6 +3787,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114786231714116572 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3735,9 +3833,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -3767,6 +3866,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3813,6 +3913,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 2 @@ -3845,6 +3946,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3891,6 +3993,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 0 @@ -3923,6 +4026,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.03137255, g: 0.3019608, b: 0.46274513, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -3970,6 +4074,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224951613365688096} m_Father: {fileID: 224186143330410726} @@ -4016,6 +4121,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4059,6 +4165,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224155468141087852} m_RootOrder: 4 @@ -4091,6 +4198,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4119,6 +4227,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -4149,6 +4258,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114743721398287670} + m_TargetAssemblyTypeName: m_MethodName: Button_ToggleFullscreen m_Mode: 6 m_Arguments: @@ -4187,6 +4297,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 13 @@ -4219,6 +4330,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4265,6 +4377,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224155468141087852} m_RootOrder: 3 @@ -4297,6 +4410,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.69411767, g: 0.08235294, b: 0.23137255, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4343,6 +4457,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224669023608393810} m_RootOrder: 4 @@ -4375,6 +4490,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.007843138, g: 0.86666673, b: 0.9921569, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4421,9 +4537,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -4453,6 +4570,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4498,6 +4616,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224265790179144192} - {fileID: 224069835980169372} @@ -4557,6 +4676,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224155468141087852} m_RootOrder: 0 @@ -4589,6 +4709,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4629,6 +4750,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224466483131785142} m_Father: {fileID: 224389760668375070} @@ -4675,6 +4797,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4718,6 +4841,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224186143330410726} - {fileID: 224412988934952484} @@ -4783,6 +4907,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4826,6 +4951,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224796672327543950} - {fileID: 224785874036600224} @@ -4860,6 +4986,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -4888,6 +5015,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -4918,6 +5046,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114975910980236052} + m_TargetAssemblyTypeName: m_MethodName: Button_SortByDuration m_Mode: 1 m_Arguments: @@ -4957,6 +5086,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224054939599059296} m_Father: {fileID: 4510497874343024} @@ -4984,6 +5114,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 0 @@ -5010,6 +5141,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114049891878269504 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5056,6 +5188,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224492995251161710} - {fileID: 224640751780957800} @@ -5090,6 +5223,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5118,6 +5252,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -5148,6 +5283,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114975910980236052} + m_TargetAssemblyTypeName: m_MethodName: Button_SortByVisits m_Mode: 1 m_Arguments: @@ -5187,6 +5323,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224757126301586520} - {fileID: 224476959032749346} @@ -5221,6 +5358,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5249,6 +5387,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -5279,6 +5418,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 114975910980236052} + m_TargetAssemblyTypeName: m_MethodName: Button_SortBySequence m_Mode: 1 m_Arguments: @@ -5317,6 +5457,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 12 @@ -5349,6 +5490,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.18039216, g: 0.21960786, b: 0.28627452, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5395,6 +5537,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224942108437139636} m_RootOrder: 0 @@ -5427,6 +5570,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5469,6 +5613,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224533565117619712} m_RootOrder: 0 @@ -5501,6 +5646,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.1764706, g: 0.21568629, b: 0.28235295, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5541,6 +5687,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224600370087295648} m_Father: {fileID: 224922201737365838} @@ -5579,6 +5726,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 4 @@ -5611,6 +5759,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.80392164, g: 0.8431373, b: 0.882353, a: 1} m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5653,6 +5802,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224265790179144192} m_RootOrder: 0 @@ -5685,6 +5835,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5727,6 +5878,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 0 @@ -5759,6 +5911,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5806,6 +5959,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224498558508261474} - {fileID: 224378016799966162} @@ -5842,6 +5996,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5881,6 +6036,7 @@ MonoBehaviour: m_ChildControlHeight: 1 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &1704529609164178 GameObject: m_ObjectHideFlags: 0 @@ -5909,9 +6065,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -5941,6 +6098,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -5987,6 +6145,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 5 @@ -6019,6 +6178,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8039216, g: 0.84313726, b: 0.88235295, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6061,6 +6221,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4000858149645006} m_RootOrder: 7 @@ -6165,6 +6326,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 1 @@ -6197,6 +6359,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6243,6 +6406,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224377336188894044} m_RootOrder: 3 @@ -6275,6 +6439,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6321,6 +6486,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 0 @@ -6353,6 +6519,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.03137255, g: 0.3019608, b: 0.46274513, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6400,6 +6567,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224072421755199858} m_Father: {fileID: 4000858149645006} @@ -6427,6 +6595,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 30 @@ -6453,6 +6622,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114695351633424248 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6498,6 +6668,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224025857703846054} m_Father: {fileID: 4000858149645006} @@ -6525,6 +6696,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 15 @@ -6551,6 +6723,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114956239168218320 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6565,6 +6738,7 @@ MonoBehaviour: m_EditorClassIdentifier: LineWidth: 0.002 MaxSensorTimeSpan: 30 + allowedSensorNames: [] SensorEntries: - active: 0 name: @@ -6643,6 +6817,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224155468141087852} m_RootOrder: 2 @@ -6675,6 +6850,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6717,6 +6893,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 9 @@ -6749,6 +6926,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.18039216, g: 0.21960786, b: 0.28627452, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -6796,6 +6974,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224092085252674246} - {fileID: 224450322221136390} @@ -6827,6 +7006,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 6 @@ -6853,6 +7033,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114376806302343692 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6898,6 +7079,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224752762289987592} m_RootOrder: 0 @@ -6932,6 +7114,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!114 &114433169599444954 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6974,6 +7157,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 0.9999999} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224072421755199858} m_RootOrder: 7 @@ -7006,6 +7190,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7053,6 +7238,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224377336188894044} m_Father: {fileID: 4000858149645006} @@ -7080,6 +7266,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 20 @@ -7106,6 +7293,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &114156255925492062 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7123,6 +7311,7 @@ MonoBehaviour: FixationSendText: {fileID: 114068594053734944} DynamicSendText: {fileID: 114700119458233110} SensorSendText: {fileID: 114920866084400004} + BoundarySendText: {fileID: 3030870200257552153} noDataColor: {r: 0.69411767, g: 0.08235294, b: 0.23137257, a: 1} normalColor: {r: 0.44705886, g: 0.5019608, b: 0.58431375, a: 1} justSentColor: {r: 0.15686275, g: 0.68235296, b: 0.34901962, a: 1} @@ -7154,6 +7343,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224669023608393810} m_RootOrder: 3 @@ -7186,6 +7376,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8588236, g: 0.015686275, b: 0.015686275, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7232,6 +7423,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -10, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4000858149645006} m_RootOrder: 8 @@ -7319,6 +7511,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 19 @@ -7351,6 +7544,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.8602941, g: 0.018977094, b: 0.018977094, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7394,6 +7588,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224331961619779232} - {fileID: 224207117804178758} @@ -7431,6 +7626,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7470,6 +7666,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &1874203311745210 GameObject: m_ObjectHideFlags: 0 @@ -7499,6 +7696,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224533565117619712} m_Father: {fileID: 224186143330410726} @@ -7532,6 +7730,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.58431375, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7560,6 +7759,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 + m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -7588,7 +7788,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 114144961323363004} m_HandleRect: {fileID: 224193391406892654} m_Direction: 2 - m_Value: 1 + m_Value: 0 m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: @@ -7621,6 +7821,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224051000961421674} m_Father: {fileID: 4000858149645006} @@ -7681,6 +7882,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224477362531645142} - {fileID: 224546691824990902} @@ -7709,6 +7911,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 m_SortingLayerID: 0 m_SortingOrder: 5 @@ -7735,6 +7938,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!1 &1915457165282778 GameObject: m_ObjectHideFlags: 0 @@ -7763,6 +7967,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224994862525148204} m_RootOrder: 2 @@ -7795,6 +8000,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.40000004, g: 0.1764706, b: 0.8117648, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7841,6 +8047,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 15 @@ -7873,6 +8080,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.4431373, g: 0.5019608, b: 0.5882353, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -7920,6 +8128,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224752762289987592} - {fileID: 224820148931210802} @@ -7984,6 +8193,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.392} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8026,6 +8236,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224966025608023726} m_RootOrder: 1 @@ -8058,6 +8269,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8100,6 +8312,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224113288859939056} m_RootOrder: 1 @@ -8132,6 +8345,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8173,6 +8387,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224776208382859462} m_RootOrder: 0 @@ -8207,6 +8422,7 @@ MonoBehaviour: m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &1988524889412916 GameObject: m_ObjectHideFlags: 0 @@ -8235,6 +8451,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 10 @@ -8267,6 +8484,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.18039216, g: 0.21960786, b: 0.28627452, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8313,6 +8531,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224025857703846054} m_RootOrder: 17 @@ -8345,6 +8564,7 @@ MonoBehaviour: m_Material: {fileID: 0} m_Color: {r: 0.07058824, g: 0.8078432, b: 0.41176474, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: @@ -8359,3 +8579,163 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7294322804834478199 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8391036136280114907} + - component: {fileID: 4099499482154614132} + - component: {fileID: 8484615645805850379} + m_Layer: 5 + m_Name: Boundary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8391036136280114907 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7294322804834478199} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224377336188894044} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 5, y: -100} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!222 &4099499482154614132 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7294322804834478199} + m_CullTransparentMesh: 1 +--- !u!114 &8484615645805850379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7294322804834478199} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 10071297d482c9f4198dbb85ec1a10e8, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Boundary +--- !u!1 &7911906290715160202 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4375019005796631281} + - component: {fileID: 1636222310379232999} + - component: {fileID: 3030870200257552153} + m_Layer: 5 + m_Name: Boundary Send Time + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4375019005796631281 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7911906290715160202} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224377336188894044} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -100} + m_SizeDelta: {x: 65, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!222 &1636222310379232999 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7911906290715160202} + m_CullTransparentMesh: 1 +--- !u!114 &3030870200257552153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7911906290715160202} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 10071297d482c9f4198dbb85ec1a10e8, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No data diff --git a/Runtime/ActiveSessionView/Scripts/DataBatchCanvas.cs b/Runtime/ActiveSessionView/Scripts/DataBatchCanvas.cs index df8decb9..d576c263 100644 --- a/Runtime/ActiveSessionView/Scripts/DataBatchCanvas.cs +++ b/Runtime/ActiveSessionView/Scripts/DataBatchCanvas.cs @@ -13,6 +13,7 @@ public class DataBatchCanvas : MonoBehaviour public Text FixationSendText; public Text DynamicSendText; public Text SensorSendText; + public Text BoundarySendText; void Start() { @@ -28,13 +29,17 @@ private void Core_InitEvent() FixationRecorder.OnFixationSend += FixationCore_OnFixationSend; DynamicManager.OnDynamicObjectSend += DynamicManager_OnDynamicObjectSend; SensorRecorder.OnSensorSend += SensorRecorder_OnSensorSend; + Cognitive3D.Components.Boundary.OnBoundarySend += Boundary_OnBoundarySend; } + + float EventTimeSinceSend = -1; float GazeTimeSinceSend = -1; float FixationTimeSinceSend = -1; float DynamicTimeSinceSend = -1; float SensorTimeSinceSend = -1; + float BoundaryTimeSinceSend = -1; public Color noDataColor; public Color normalColor; @@ -115,6 +120,18 @@ private void Update() } #endregion + #region Boundary + if (BoundaryTimeSinceSend < 0) + { + BoundarySendText.color = noDataColor; + BoundarySendText.text = neverSentString; + } + else + { + UpdateText(BoundarySendText, ref BoundaryTimeSinceSend); + } + #endregion + timeSinceLastTick = 0; } @@ -171,6 +188,11 @@ private void CustomEvent_OnCustomEventSend(bool ignored) EventTimeSinceSend = 0; } + private void Boundary_OnBoundarySend() + { + BoundaryTimeSinceSend = 0; + } + private void OnDestroy() { CustomEvent.OnCustomEventSend -= CustomEvent_OnCustomEventSend; @@ -178,6 +200,7 @@ private void OnDestroy() FixationRecorder.OnFixationSend -= FixationCore_OnFixationSend; DynamicManager.OnDynamicObjectSend -= DynamicManager_OnDynamicObjectSend; SensorRecorder.OnSensorSend -= SensorRecorder_OnSensorSend; + Components.Boundary.OnBoundarySend -= Boundary_OnBoundarySend; } private void Core_EndSessionEvent() @@ -187,6 +210,7 @@ private void Core_EndSessionEvent() FixationRecorder.OnFixationSend -= FixationCore_OnFixationSend; DynamicManager.OnDynamicObjectSend -= DynamicManager_OnDynamicObjectSend; SensorRecorder.OnSensorSend -= SensorRecorder_OnSensorSend; + Components.Boundary.OnBoundarySend -= Boundary_OnBoundarySend; } } } \ No newline at end of file diff --git a/Runtime/ActiveSessionView/Scripts/SensorCanvas.cs b/Runtime/ActiveSessionView/Scripts/SensorCanvas.cs index 9609b6e7..e7d0531d 100644 --- a/Runtime/ActiveSessionView/Scripts/SensorCanvas.cs +++ b/Runtime/ActiveSessionView/Scripts/SensorCanvas.cs @@ -75,7 +75,7 @@ void Start() canvasHackObject = canvasHackField.GetValue(null); } - private void SensorRecorder_OnNewSensorRecorded(string sensorName, float value) + private void SensorRecorder_OnNewSensorRecorded(string sensorName, float value, double time) { //reject sensors if there is an allow list and the sensor is not included if (allowedSensorNames.Count > 0) diff --git a/Runtime/Components/Boundary.cs b/Runtime/Components/Boundary.cs index f9450942..51542327 100644 --- a/Runtime/Components/Boundary.cs +++ b/Runtime/Components/Boundary.cs @@ -9,6 +9,28 @@ namespace Cognitive3D.Components [AddComponentMenu("Cognitive3D/Components/Boundary")] public class Boundary : AnalyticsComponentBase { + public delegate void onBoundaryRecorded(double time, Vector3 pos, Quaternion rot, Vector3[] points); + //used by active session view + public static event onBoundaryRecorded OnBoundaryRecorded; + internal static void InvokeBoundaryRecorded(double time, Vector3 pos, Quaternion rot, Vector3[] points) + { + if (OnBoundaryRecorded != null) + { + OnBoundaryRecorded.Invoke(time, pos, rot, points); + } + } + + public delegate void onBoundarySend(); + //used by active session view + public static event onBoundarySend OnBoundarySend; + internal static void InvokeBoundarySend() + { + if (OnBoundarySend != null) + { + OnBoundarySend.Invoke(); + } + } + #if ((C3D_OCULUS || C3D_DEFAULT || C3D_VIVEWAVE || C3D_PICOXR) && !UNITY_EDITOR) || C3D_STEAMVR2 /// /// Track whether the boundary has been initialized in this session @@ -102,6 +124,8 @@ private IEnumerator InitializeBoundaryRecordWithDelay() CoreInterface.RecordTrackingSpaceTransform(customTransform, Util.Timestamp(Time.frameCount)); lastRecordedTrackingSpacePosition = customTransform.pos; previousTrackingSpaceRotation = customTransform.rot; + + InvokeBoundaryRecorded(Util.Timestamp(Time.frameCount), customTransform.pos, customTransform.rot, currentBoundaryPoints); } } @@ -123,6 +147,7 @@ private void Cognitive3D_Manager_OnTick() CoreInterface.RecordTrackingSpaceTransform(customTransform, Util.Timestamp(Time.frameCount)); lastRecordedTrackingSpacePosition = customTransform.pos; previousTrackingSpaceRotation = customTransform.rot; + InvokeBoundaryRecorded(Util.Timestamp(Time.frameCount), customTransform.pos, customTransform.rot, BoundaryUtil.GetCurrentBoundaryPoints()); } } @@ -134,6 +159,7 @@ private void Cognitive3D_Manager_OnTick() { previousBoundaryPoints = currentBoundaryPoints; CoreInterface.RecordBoundaryShape(currentBoundaryPoints, Util.Timestamp(Time.frameCount)); + InvokeBoundaryRecorded(Util.Timestamp(Time.frameCount), customTransform.pos, customTransform.rot, currentBoundaryPoints); } } } @@ -150,6 +176,8 @@ internal static void RecordRecenterBoundary() Quaternion.Euler(trackingSpaceTransform.rot.x, GameplayReferences.HMD.rotation.y, trackingSpaceTransform.rot.z)); CoreInterface.RecordTrackingSpaceTransform(recenteredTransform, Util.Timestamp(Time.frameCount)); CoreInterface.RecordBoundaryShape(BoundaryUtil.GetCurrentBoundaryPoints(), Util.Timestamp(Time.frameCount)); + + InvokeBoundaryRecorded(Util.Timestamp(Time.frameCount), recenteredTransform.pos, recenteredTransform.rot, BoundaryUtil.GetCurrentBoundaryPoints()); } private void Cognitive3D_Manager_OnPreSessionEnd() @@ -161,7 +189,7 @@ private void Cognitive3D_Manager_OnPreSessionEnd() } #endif -#region Inspector Utils + #region Inspector Utils public override bool GetWarning() { #if C3D_OCULUS || C3D_DEFAULT || C3D_VIVEWAVE || C3D_PICOXR || C3D_STEAMVR2 diff --git a/Runtime/Internal/DynamicManager.cs b/Runtime/Internal/DynamicManager.cs index 0c9482df..d717906e 100644 --- a/Runtime/Internal/DynamicManager.cs +++ b/Runtime/Internal/DynamicManager.cs @@ -18,6 +18,17 @@ public static class DynamicManager //this can track up to 16 dynamic objects that appear in a session without a custom id. this helps session json reduce the number of entries in the manifest internal static DynamicObjectId[] DynamicObjectIdArray = new DynamicObjectId[16]; + public delegate void onDynamicRecorded(string name, string mesh, double time, Vector3 pos, Quaternion rot, Vector3 scale); + //used by active session view + public static event onDynamicRecorded OnDynamicRecorded; + internal static void InvokeDynamicRecorded(string name, string mesh, double time, Vector3 pos, Quaternion rot, Vector3 scale) + { + if (OnDynamicRecorded != null) + { + OnDynamicRecorded.Invoke(name, mesh, time, pos, rot, scale); + } + } + internal static void Initialize() { Cognitive3D_Manager.OnUpdate -= OnUpdate; @@ -30,7 +41,10 @@ internal static void Initialize() for(int i = 0; i< ActiveDynamicObjectsArray.Length;i++) { if (ActiveDynamicObjectsArray[i].active) + { CoreInterface.WriteDynamicManifestEntry(ActiveDynamicObjectsArray[i]); + InvokeDynamicRecorded(ActiveDynamicObjectsArray[i].Id, ActiveDynamicObjectsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveDynamicObjectsArray[i].LastPosition, ActiveDynamicObjectsArray[i].LastRotation, ActiveDynamicObjectsArray[i].LastScale); + } } } @@ -135,7 +149,10 @@ internal static void RegisterDynamicObject(DynamicData data) ActiveDynamicObjectsArray[nextFreeIndex] = data; } if (Cognitive3D_Manager.IsInitialized) + { CoreInterface.WriteDynamicManifestEntry(data); + InvokeDynamicRecorded(data.Id, data.MeshName, Util.Timestamp(Time.frameCount), data.LastPosition, data.LastRotation, data.LastScale); + } } //this doesn't directly remove a dynamic object - it sets 'remove' so it can be removed on the next tick @@ -420,7 +437,10 @@ internal static void RegisterController(XRNode controller, bool isRight, InputUt } if (Cognitive3D_Manager.IsInitialized) + { CoreInterface.WriteControllerManifestEntry(data); + InvokeDynamicRecorded(data.Id, data.MeshName, Util.Timestamp(Time.frameCount), data.LastPosition, data.LastRotation, data.LastScale); + } } internal static void RegisterController(DynamicData data) @@ -455,7 +475,10 @@ internal static void RegisterController(DynamicData data) ActiveDynamicObjectsArray[nextFreeIndex] = data; } if (Cognitive3D_Manager.IsInitialized) + { CoreInterface.WriteControllerManifestEntry(data); + InvokeDynamicRecorded(data.Id, data.MeshName, Util.Timestamp(Time.frameCount), data.LastPosition, data.LastRotation, data.LastScale); + } } internal static void RegisterHand(XRNode hand, bool isRight, string registerId = "") @@ -503,7 +526,10 @@ internal static void RegisterHand(XRNode hand, bool isRight, string registerId = } if (Cognitive3D_Manager.IsInitialized) + { CoreInterface.WriteControllerManifestEntry(data); + InvokeDynamicRecorded(data.Id, data.MeshName, Util.Timestamp(Time.frameCount), data.LastPosition, data.LastRotation, data.LastScale); + } } internal static DynamicData GetInputDynamicData(InputUtil.InputType type, bool isRight) @@ -673,6 +699,7 @@ internal static void RecordControllerEvent(string id, List changedI ActiveDynamicObjectsArray[i].Properties = null; } CoreInterface.WriteDynamicController(ActiveDynamicObjectsArray[i], props, writeScale, builder.ToString(),Util.Timestamp(Time.frameCount)); + InvokeDynamicRecorded(ActiveInputsArray[i].Id, ActiveInputsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveInputsArray[i].LastPosition, ActiveInputsArray[i].LastRotation, ActiveInputsArray[i].LastScale); } } @@ -768,6 +795,7 @@ internal static void RecordControllerEvent(bool isRight, List chang } CoreInterface.WriteDynamicController(ActiveInputsArray[i], props, false, builder.ToString(),Util.Timestamp(Time.frameCount)); + InvokeDynamicRecorded(ActiveInputsArray[i].Id, ActiveInputsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveInputsArray[i].LastPosition, ActiveInputsArray[i].LastRotation, ActiveInputsArray[i].LastScale); } } @@ -996,6 +1024,7 @@ internal static void RecordDynamic(string id, bool forceWrite) ActiveDynamicObjectsArray[i].Properties = null; } CoreInterface.WriteDynamic(ActiveDynamicObjectsArray[i], props, writeScale, Util.Timestamp(Time.frameCount)); + InvokeDynamicRecorded(id, ActiveDynamicObjectsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveDynamicObjectsArray[i].LastPosition, ActiveDynamicObjectsArray[i].LastRotation, ActiveDynamicObjectsArray[i].LastScale); } } } @@ -1161,6 +1190,7 @@ private static void ProcessDynamicArray(ref DynamicData[] array, float deltaTime } CoreInterface.WriteDynamic(array[index], props, writeScale, Util.Timestamp(Time.frameCount)); + InvokeDynamicRecorded(array[index].Id, array[index].MeshName, Util.Timestamp(Time.frameCount), array[index].LastPosition, array[index].LastRotation, array[index].LastScale); } if (array[index].remove) @@ -1279,6 +1309,7 @@ private static void ProcessInputDynamicArray(ref DynamicData[] array, InputUtil. } CoreInterface.WriteDynamic(array[index], props, false, Util.Timestamp(Time.frameCount)); + InvokeDynamicRecorded(array[index].Id, array[index].MeshName, Util.Timestamp(Time.frameCount), array[index].LastPosition, array[index].LastRotation, array[index].LastScale); } if (array[index].remove) @@ -1351,11 +1382,13 @@ static void OnSceneLoaded(Scene scene, LoadSceneMode mode, bool didChangeSceneId { //DynamicObjectCore.WriteControllerManifestEntry(ActiveDynamicObjectsArray[i]); CoreInterface.WriteControllerManifestEntry(ActiveDynamicObjectsArray[i]); + InvokeDynamicRecorded(ActiveDynamicObjectsArray[i].Id, ActiveDynamicObjectsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveDynamicObjectsArray[i].LastPosition, ActiveDynamicObjectsArray[i].LastRotation, ActiveDynamicObjectsArray[i].LastScale); } else { //DynamicObjectCore.WriteDynamicManifestEntry(ActiveDynamicObjectsArray[i]); CoreInterface.WriteDynamicManifestEntry(ActiveDynamicObjectsArray[i]); + InvokeDynamicRecorded(ActiveDynamicObjectsArray[i].Id, ActiveDynamicObjectsArray[i].MeshName, Util.Timestamp(Time.frameCount), ActiveDynamicObjectsArray[i].LastPosition, ActiveDynamicObjectsArray[i].LastRotation, ActiveDynamicObjectsArray[i].LastScale); } } } diff --git a/Runtime/Internal/EyeCapture.cs b/Runtime/Internal/EyeCapture.cs index 7b404921..ff54522b 100644 --- a/Runtime/Internal/EyeCapture.cs +++ b/Runtime/Internal/EyeCapture.cs @@ -17,7 +17,7 @@ internal class EyeCapture //this should be true if gazing at sky. within fixation angle, but position will just mess up the average public bool SkipPositionForFixationAverage = false; public Vector3 HmdPosition; - public long Time; + public long Time; //unixtime in milliseconds public bool Discard; //empty or impossible values public bool EyesClosed; //blinking or eyes closed diff --git a/Runtime/Internal/SensorRecorder.cs b/Runtime/Internal/SensorRecorder.cs index a5481b8e..78277577 100644 --- a/Runtime/Internal/SensorRecorder.cs +++ b/Runtime/Internal/SensorRecorder.cs @@ -123,7 +123,7 @@ public static void InitializeSensor(string sensorName, float HzRate = 10, float CoreInterface.InitializeSensor(sensorName, HzRate); if (OnNewSensorRecorded != null) - OnNewSensorRecorded(sensorName, initialValue); + OnNewSensorRecorded(sensorName, initialValue, Util.Timestamp(Time.frameCount)); } /// @@ -200,12 +200,12 @@ public static void RecordDataPoint(string category, float value, double unixTime CoreInterface.RecordSensor(category, value, unixTimestamp); if (OnNewSensorRecorded != null) - OnNewSensorRecorded(category, value); + OnNewSensorRecorded(category, value, unixTimestamp); } } //used by active session view - public delegate void onNewSensorRecorded(string sensorName, float sensorValue); + public delegate void onNewSensorRecorded(string sensorName, float sensorValue, double time); public static event onNewSensorRecorded OnNewSensorRecorded; //happens after the network has sent the request, before any response diff --git a/Runtime/Internal/Serialization/CoreInterface.cs b/Runtime/Internal/Serialization/CoreInterface.cs index 159107b3..b06cbff1 100644 --- a/Runtime/Internal/Serialization/CoreInterface.cs +++ b/Runtime/Internal/Serialization/CoreInterface.cs @@ -306,6 +306,7 @@ static void WebPost(string requestType, string body, bool cache) break; case "boundary": url = CognitiveStatics.PostBoundaryData(Cognitive3D_Manager.TrackingSceneId, Cognitive3D_Manager.TrackingSceneVersionNumber); + Cognitive3D.Components.Boundary.InvokeBoundarySend(); break; default: Util.logDevelopment("Invalid Web Post type"); return; } diff --git a/Runtime/Scripts/FixationRecorder.cs b/Runtime/Scripts/FixationRecorder.cs index 4bef9cbd..f2d9b9e1 100644 --- a/Runtime/Scripts/FixationRecorder.cs +++ b/Runtime/Scripts/FixationRecorder.cs @@ -64,6 +64,11 @@ long EyeCaptureTimestamp() return (long)(Cognitive3D.Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -122,6 +127,11 @@ long EyeCaptureTimestamp() return (long)(Cognitive3D.Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -361,6 +371,27 @@ long EyeCaptureTimestamp() return (long)(Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + if (useDataQueue1) + { + if (startTimestamp == 0) + startTimestamp = currentData1.timestamp; + var MsSincestart = currentData1.timestamp - startTimestamp; //milliseconds since start + var final = epochStart + MsSincestart / 1000; + return final; + } + else if (useDataQueue2) + { + if (startTimestamp == 0) + startTimestamp = currentData2.timestamp; + var MsSincestart = currentData2.timestamp - startTimestamp; //milliseconds since start + var final = epochStart + MsSincestart / 1000; + return final; + } + return Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -461,6 +492,15 @@ long EyeCaptureTimestamp() return (long)final; } + double EyeCaptureTimestampSeconds() + { + //currentData.captureTime //nanoseconds. steady clock + long sinceStart = currentData.captureTime - startTimestamp; + sinceStart = (sinceStart / 1000000); //remove NANOSECONDS + var final = epochStart + sinceStart / 1000; + return final; + } + int lastQueueFrame = 0; Queue queuedData = new Queue(); @@ -544,6 +584,10 @@ long EyeCaptureTimestamp() return currentData.timestamp; } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } //returns true if there is another data point to work on bool GetNextData() @@ -586,6 +630,11 @@ long EyeCaptureTimestamp() return (long)(Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -648,6 +697,11 @@ long EyeCaptureTimestamp() return (long)(Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -743,6 +797,11 @@ long EyeCaptureTimestamp() return (long)(Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Cognitive3D.Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -880,6 +939,11 @@ long EyeCaptureTimestamp() return (long)(Util.Timestamp() * 1000); } + double EyeCaptureTimestampSeconds() + { + return Util.Timestamp(); + } + int lastProcessedFrame; //returns true if there is another data point to work on bool GetNextData() @@ -1087,6 +1151,7 @@ void RecordEyeCapture() EyeCaptures[index].OffTransform = false; EyeCaptures[index].HitDynamicTransform = hitDynamic.transform; DisplayGazePoints.Update(); + InvokeEyeDataRecord(EyeDataType.HitWorld, EyeCaptures[index].HmdPosition, EyeCaptures[index].WorldPosition, true, hitDynamic.GetId(), EyeCaptures[index].LocalPosition, EyeCaptures[index].ScreenPos, EyeCaptureTimestampSeconds()); } else { @@ -1098,6 +1163,7 @@ void RecordEyeCapture() EyeCaptures[index].OffTransform = false; EyeCaptures[index].HitDynamicId = string.Empty; DisplayGazePoints.Update(); + InvokeEyeDataRecord(EyeDataType.HitObject, EyeCaptures[index].HmdPosition, EyeCaptures[index].WorldPosition, false, string.Empty, Vector3.zero, EyeCaptures[index].ScreenPos, EyeCaptureTimestampSeconds()); } } else if (hitresult == GazeRaycastResult.HitNothing) @@ -1111,6 +1177,7 @@ void RecordEyeCapture() if (SaccadeScreenPoints.Count > 0) SaccadeScreenPoints.RemoveAt(0); EyeCaptures[index].OffTransform = true; + InvokeEyeDataRecord(EyeDataType.HitNothing, EyeCaptures[index].HmdPosition, Vector3.zero, false, string.Empty, Vector3.zero, EyeCaptures[index].ScreenPos, EyeCaptureTimestampSeconds()); } else if (hitresult == GazeRaycastResult.Invalid) { @@ -1121,6 +1188,7 @@ void RecordEyeCapture() EyeCaptures[index].OffTransform = true; if (SaccadeScreenPoints.Count > 0) SaccadeScreenPoints.RemoveAt(0); + InvokeEyeDataRecord(EyeDataType.Invalid, EyeCaptures[index].HmdPosition, Vector3.zero, false, string.Empty, Vector3.zero, Vector3.zero, EyeCaptureTimestampSeconds()); } if (SaccadeScreenPoints.Count > 15) @@ -1212,6 +1280,23 @@ bool AreEyesClosed() return false; } + //used for optional data connector script to indicate the type of eye tracking + public enum EyeDataType + { + Invalid, //eye tracking not calibrated, eyes not tracking because of blinking, etc + HitWorld, + HitObject, + HitNothing //hit the sky + } + + public delegate void onEyeDataRecorded(EyeDataType type, Vector3 start, Vector3 worldPoint, bool isLocal, string hitDynamicId, Vector3 localPoint, Vector2 screenspace, double unixTime); + public static event onEyeDataRecorded OnEyeDataRecorded; + internal static void InvokeEyeDataRecord(EyeDataType type, Vector3 start, Vector3 worldPoint, bool isLocal, string hitDynamicId, Vector3 localPoint, Vector2 screenspace, double unixTime) + { + if (OnEyeDataRecorded != null) + OnEyeDataRecorded.Invoke(type, start, worldPoint, isLocal, hitDynamicId, localPoint, screenspace, unixTime); + } + public delegate void onFixationRecord(Fixation fixation); //used by active session view public static event onFixationRecord OnFixationRecord; diff --git a/Samples~/Data Connector/DataConnector.cs b/Samples~/Data Connector/DataConnector.cs new file mode 100644 index 00000000..df7d2b5a --- /dev/null +++ b/Samples~/Data Connector/DataConnector.cs @@ -0,0 +1,336 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Cognitive3D; +using System; + +/// +/// a tool for organizing data collected from the SDK in real time to be PULLED into other tools (like ML models) +/// TODO examples of pushing data +/// 1. sending requests to a local server +/// 2. a C# CSV logging tool to a file +/// TODO warnings and limits for memory usage (if a cache gets too large) +/// + + +/// To use: +/// add this script anywhere in the scene +/// In the inspector, choose which types of data you want to record +/// start your application as usual with Cognitive3D +/// read data from gazeData, fixationData, sensorData, etc +/// call ClearCaches() after you've read your data! otherwise the cache sizes will include duplicate data + +public class DataConnector : MonoBehaviour +{ + #region serialization helpers + //classes for formating and serializing the data (to json, csv, etc) + [Serializable] + public class GazeData + { + public double timestamp; + public string objectid; + public Vector3 gazepoint; + public Vector3 hmdpoint; + public Quaternion hmdrotation; + public bool hitSky; + + public GazeData(double timestamp, string objectid, Vector3 gazepoint,bool hitSky, Vector3 hmdpoint, Quaternion hmdrotation) + { + this.timestamp = timestamp; + this.objectid = objectid; + this.gazepoint = gazepoint; + this.hitSky = hitSky; + this.hmdpoint = hmdpoint; + this.hmdrotation = hmdrotation; + } + } + + [Serializable] + public class FixationData + { + public double timestamp; + public long DurationMs; + public bool IsLocal; + public string DynamicObjectId; + public Vector3 WorldPosition; + public Vector3 LocalPosition; + public FixationData(double timestamp, long DurationMs, bool IsLocal, string DynamicObjectId, Vector3 WorldPosition, Vector3 LocalPosition) + { + this.timestamp = timestamp; + this.DurationMs = DurationMs; + this.IsLocal = IsLocal; + this.DynamicObjectId = DynamicObjectId; + this.WorldPosition = WorldPosition; + this.LocalPosition = LocalPosition; + } + } + + [Serializable] + public class EyeData + { + public FixationRecorder.EyeDataType type; + public Vector3 hmdPos; + public Vector3 worldPoint; + public bool isLocal; + public string hitDynamicId; + public Vector3 localPoint; + public Vector2 screenspace; + public double timestamp; + + public EyeData(FixationRecorder.EyeDataType type, Vector3 hmdPos, Vector3 worldPoint, bool isLocal, string hitDynamicId, Vector3 localPoint, Vector2 screenspace, double timestamp) + { + this.type = type; + this.hmdPos = hmdPos; + this.worldPoint = worldPoint; + this.isLocal = isLocal; + this.hitDynamicId = hitDynamicId; + this.localPoint = localPoint; + this.screenspace = screenspace; + this.timestamp = timestamp; + } + } + + + [Serializable] + public class EventData + { + public string name; + public Vector3 pos; + public string dynamicObjectId; + public double timestamp; + public int count; + public KeyValuePair[] keyValuePairs; + + public EventData(string name, Vector3 pos, string dynamicObjectId, double timestamp, int count, KeyValuePair[] keyValuePairs) + { + this.name = name; + this.pos = pos; + this.dynamicObjectId = dynamicObjectId; + this.timestamp = timestamp; + this.count = count; + this.keyValuePairs = keyValuePairs; + } + } + + [Serializable] + public class DynamicData + { + public string name; + public string mesh; + public double timestamp; + public Vector3 pos; + public Quaternion rot; + public Vector3 scale; + + public DynamicData(string name, string mesh, double time, Vector3 pos, Quaternion rot, Vector3 scale) + { + this.name = name; + this.mesh = mesh; + this.timestamp = time; + this.pos = pos; + this.rot = rot; + this.scale = scale; + } + } + + [Serializable] + public class SensorData + { + public string sensorName; + public float sensorValue; + public double timestamp; + + public SensorData(string sensorName, float sensorValue, double time) + { + this.sensorName = sensorName; + this.sensorValue = sensorValue; + this.timestamp = time; + } + } + + [Serializable] + public class BoundaryData + { + public double time; + public Vector3 pos; + public Quaternion rot; + public int pointCount; + public Vector3[] points; + + public BoundaryData(double time, Vector3 pos, Quaternion rot, int pointCount, Vector3[] points) + { + this.time = time; + this.pos = pos; + this.rot = rot; + this.pointCount = pointCount; + this.points = points; + } + } + + #endregion + + public List gazeData; + public List fixationData; + public List eyeData; + public List customEventData; + public List dynamicData; + public List sensorData; + public List boundaryData; + + public bool IncludeGaze; + public bool IncludeFixation; + public bool IncludeEyeTracking; + public bool IncludeEvents; + public bool IncludeDynamics; + public bool IncludeSensors; + public bool IncludeBoundary; + + #region utilities + + public static string SessionName + { + get + { + return Cognitive3D_Manager.SessionID; + } + } + + static DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + public static double CurrentTimestamp() + { + TimeSpan span = DateTime.UtcNow - epoch; + return span.TotalSeconds; + } + + #endregion + + private void OnEnable() + { + BeginListening(); + } + + void BeginListening() + { + if (IncludeGaze) + { + GazeCore.OnWorldGazeRecord += GazeCore_OnWorldGazeRecord; + GazeCore.OnDynamicGazeRecord += GazeCore_OnDynamicGazeRecord; + GazeCore.OnSkyGazeRecord += GazeCore_OnSkyGazeRecord; + } + + if (IncludeFixation) + { + FixationRecorder.OnFixationRecord += FixationRecorder_OnFixationRecord; + } + + if (IncludeEyeTracking) + { + FixationRecorder.OnEyeDataRecorded += FixationRecorder_OnEyeDataRecorded; + } + + if (IncludeEvents) + { + CustomEvent.OnCustomEventRecorded += CustomEvent_OnCustomEventRecorded; + } + + if (IncludeDynamics) + { + DynamicManager.OnDynamicRecorded += DynamicManager_OnDynamicRecorded; + } + + if (IncludeSensors) + { + SensorRecorder.OnNewSensorRecorded += SensorRecorder_OnNewSensorRecorded; + } + + if (IncludeBoundary) + { + Cognitive3D.Components.Boundary.OnBoundaryRecorded += Boundary_OnBoundaryRecorded; + } + } + + private void OnDisable() + { + EndListening(); + } + + void EndListening() + { + GazeCore.OnWorldGazeRecord -= GazeCore_OnWorldGazeRecord; + GazeCore.OnDynamicGazeRecord -= GazeCore_OnDynamicGazeRecord; + GazeCore.OnSkyGazeRecord -= GazeCore_OnSkyGazeRecord; + + FixationRecorder.OnFixationRecord -= FixationRecorder_OnFixationRecord; + FixationRecorder.OnEyeDataRecorded -= FixationRecorder_OnEyeDataRecorded; + + CustomEvent.OnCustomEventRecorded -= CustomEvent_OnCustomEventRecorded; + + DynamicManager.OnDynamicRecorded -= DynamicManager_OnDynamicRecorded; + + SensorRecorder.OnNewSensorRecorded -= SensorRecorder_OnNewSensorRecorded; + + Cognitive3D.Components.Boundary.OnBoundaryRecorded -= Boundary_OnBoundaryRecorded; + } + + /// + /// call this to clear all copied data here after it has been pulled + /// + public void ClearCaches() + { + gazeData.Clear(); + fixationData.Clear(); + customEventData.Clear(); + dynamicData.Clear(); + sensorData.Clear(); + boundaryData.Clear(); + } + + #region add data points to list caches + + private void GazeCore_OnWorldGazeRecord(double timestamp, string objectid, Vector3 gazepoint, Vector3 hmdpoint, Quaternion hmdrotation) + { + gazeData.Add(new GazeData(timestamp, string.Empty, gazepoint, false, hmdpoint, hmdrotation)); + } + + private void GazeCore_OnDynamicGazeRecord(double timestamp, string objectid, Vector3 localgazepoint, Vector3 hmdpoint, Quaternion hmdrotation) + { + gazeData.Add(new GazeData(timestamp, objectid, localgazepoint, false, hmdpoint, hmdrotation)); + } + + private void GazeCore_OnSkyGazeRecord(double timestamp, string objectid, Vector3 localgazepoint, Vector3 hmdpoint, Quaternion hmdrotation) + { + gazeData.Add(new GazeData(timestamp, string.Empty, Vector3.zero, true, hmdpoint, hmdrotation)); + } + + private void FixationRecorder_OnFixationRecord(Fixation fixation) + { + fixationData.Add(new FixationData(((double)fixation.StartMs / 1000.0), fixation.DurationMs, fixation.IsLocal, fixation.DynamicObjectId, fixation.WorldPosition, fixation.LocalPosition)); + } + + private void FixationRecorder_OnEyeDataRecorded(FixationRecorder.EyeDataType type, Vector3 start, Vector3 worldPoint, bool isLocal, string hitDynamicId, Vector3 localPoint, Vector2 screenspace, double unixTime) + { + eyeData.Add(new EyeData(type, start, worldPoint, isLocal, hitDynamicId, localPoint, screenspace, unixTime)); + } + + private void CustomEvent_OnCustomEventRecorded(string name, Vector3 pos, List> properties, string dynamicObjectId, double time) + { + customEventData.Add(new EventData(name, pos, dynamicObjectId, time, properties != null ? properties.Count : 0, properties != null ? properties.ToArray() : null)); + } + + private void DynamicManager_OnDynamicRecorded(string name, string mesh, double time, Vector3 pos, Quaternion rot, Vector3 scale) + { + dynamicData.Add(new DynamicData(name, mesh, time, pos, rot, scale)); + } + + private void SensorRecorder_OnNewSensorRecorded(string sensorName, float sensorValue, double time) + { + sensorData.Add(new SensorData(sensorName, sensorValue, time)); + } + + private void Boundary_OnBoundaryRecorded(double time, Vector3 pos, Quaternion rot, Vector3[] points) + { + boundaryData.Add(new BoundaryData(time, pos, rot, points.Length, points)); + } + + #endregion +} diff --git a/package.json b/package.json index a6e705b8..6ed826b2 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,11 @@ "displayName": "Exitpoll Customization", "description": "Copy of Exitpoll Prefabs that can be configured for your project's own visual style", "path": "Samples~/Exitpoll Customization" + }, + { + "displayName": "Data Connector", + "description": "Sample script for listening to all data collected by Cognitive3D SDK. Intended for realtime machine learning application", + "path": "Samples~/Data Connector" } ] }