├── .gitignore ├── Assets ├── GoogleService-Info.plist ├── GoogleService-Info.plist.meta ├── Scripts.meta ├── Scripts │ ├── Notion-Unity.meta │ └── Notion-Unity │ │ ├── Device.cs │ │ ├── Device.cs.meta │ │ ├── Example.meta │ │ ├── Example │ │ ├── NotionExample.unity │ │ ├── NotionExample.unity.meta │ │ ├── NotionTester.cs │ │ └── NotionTester.cs.meta │ │ ├── FirebaseController.cs │ │ ├── FirebaseController.cs.meta │ │ ├── Handlers.meta │ │ ├── Handlers │ │ ├── AccelerometerHandler.cs │ │ ├── AccelerometerHandler.cs.meta │ │ ├── BrainwavesPSDHandler.cs │ │ ├── BrainwavesPSDHandler.cs.meta │ │ ├── BrainwavesPowerByBandHandler.cs │ │ ├── BrainwavesPowerByBandHandler.cs.meta │ │ ├── BrainwavesRawHandler.cs │ │ ├── BrainwavesRawHandler.cs.meta │ │ ├── BrainwavesRawUnfilteredHandler.cs │ │ ├── BrainwavesRawUnfilteredHandler.cs.meta │ │ ├── CalmHandler.cs │ │ ├── CalmHandler.cs.meta │ │ ├── FocusHandler.cs │ │ ├── FocusHandler.cs.meta │ │ ├── IMetricHandler.cs │ │ ├── IMetricHandler.cs.meta │ │ ├── ISettingsHandler.cs │ │ ├── ISettingsHandler.cs.meta │ │ ├── KinesisHandler.cs │ │ ├── KinesisHandler.cs.meta │ │ ├── MetricExtentions.cs │ │ ├── MetricExtentions.cs.meta │ │ ├── Metrics.cs │ │ ├── Metrics.cs.meta │ │ ├── SettingsHandler.cs │ │ ├── SettingsHandler.cs.meta │ │ ├── SignalQualityHandler.cs │ │ └── SignalQualityHandler.cs.meta │ │ ├── NeurosityUser.cs │ │ ├── NeurosityUser.cs.meta │ │ ├── Notion.cs │ │ ├── Notion.cs.meta │ │ ├── SubscriptionManager.cs │ │ ├── SubscriptionManager.cs.meta │ │ ├── Types.meta │ │ └── Types │ │ ├── Accelerometer.cs │ │ ├── Accelerometer.cs.meta │ │ ├── BaseMetric.cs │ │ ├── BaseMetric.cs.meta │ │ ├── Calm.cs │ │ ├── Calm.cs.meta │ │ ├── ChannelQuality.cs │ │ ├── ChannelQuality.cs.meta │ │ ├── DeviceInfo.cs │ │ ├── DeviceInfo.cs.meta │ │ ├── DeviceStatus.cs │ │ ├── DeviceStatus.cs.meta │ │ ├── Epoch.cs │ │ ├── Epoch.cs.meta │ │ ├── EpochInfo.cs │ │ ├── EpochInfo.cs.meta │ │ ├── Focus.cs │ │ ├── Focus.cs.meta │ │ ├── Kinesis.cs │ │ ├── Kinesis.cs.meta │ │ ├── PSD.cs │ │ ├── PSD.cs.meta │ │ ├── PSDInfo.cs │ │ ├── PSDInfo.cs.meta │ │ ├── PowerByBand.cs │ │ ├── PowerByBand.cs.meta │ │ ├── PowerByBandData.cs │ │ ├── PowerByBandData.cs.meta │ │ ├── Settings.cs │ │ └── Settings.cs.meta ├── StreamingAssets.meta ├── StreamingAssets │ ├── google-services-desktop.json │ └── google-services-desktop.json.meta ├── google-services.json └── google-services.json.meta ├── LICENSE ├── Packages ├── com.google.external-dependency-manager-1.2.166.tgz ├── com.google.firebase.app-8.1.0.tgz ├── com.google.firebase.auth-8.1.0.tgz ├── com.google.firebase.database-8.1.0.tgz ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AndroidResolverDependencies.xml ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── GvhProjectSettings.xml ├── InputManager.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── TimelineSettings.asset ├── URPProjectSettings.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── XRSettings.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Asset meta data should only be ignored when the corresponding asset is also ignored 18 | !/[Aa]ssets/**/*.meta 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | .vsconfig 50 | 51 | # Unity3D generated meta files 52 | *.pidb.meta 53 | *.pdb.meta 54 | *.mdb.meta 55 | 56 | # Unity3D generated file on crash reports 57 | sysinfo.txt 58 | 59 | # Builds 60 | *.apk 61 | *.aab 62 | *.unitypackage 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | # Packed Addressables 68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 69 | 70 | # Temporary auto-generated Android Assets 71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 72 | /[Aa]ssets/[Ss]treamingAssets/aa/* 73 | -------------------------------------------------------------------------------- /Assets/GoogleService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CLIENT_ID 6 | 740127573991-r4o2hhr5ac2sscupqq7229bssq6q4m60.apps.googleusercontent.com 7 | REVERSED_CLIENT_ID 8 | com.googleusercontent.apps.740127573991-r4o2hhr5ac2sscupqq7229bssq6q4m60 9 | API_KEY 10 | AIzaSyDui9tsFv_6u_UVp16FivULAcoYDsaXWnc 11 | GCM_SENDER_ID 12 | 740127573991 13 | PLIST_VERSION 14 | 1 15 | BUNDLE_ID 16 | com.notion.unity.example 17 | PROJECT_ID 18 | notion-unity-example 19 | STORAGE_BUCKET 20 | notion-unity-example.appspot.com 21 | IS_ADS_ENABLED 22 | 23 | IS_ANALYTICS_ENABLED 24 | 25 | IS_APPINVITE_ENABLED 26 | 27 | IS_GCM_ENABLED 28 | 29 | IS_SIGNIN_ENABLED 30 | 31 | GOOGLE_APP_ID 32 | 1:740127573991:ios:0054d2fd8838184f6b5f42 33 | 34 | -------------------------------------------------------------------------------- /Assets/GoogleService-Info.plist.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71880e61b260559438831af653d9d964 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02a3527b6b33a924e8ec66aa805ea717 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e451a85e0b0a91a40aa3c66bc8de6968 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Device.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Notion.Unity 4 | { 5 | [CreateAssetMenu] 6 | public class Device : ScriptableObject 7 | { 8 | [SerializeField] 9 | private string _email; 10 | 11 | [SerializeField] 12 | private string _password; 13 | 14 | [SerializeField] 15 | private string _deviceId; 16 | 17 | public string Email => _email; 18 | public string Password => _password; 19 | public string DeviceId => _deviceId; 20 | 21 | public bool IsValid => 22 | !string.IsNullOrEmpty(_email) && 23 | !string.IsNullOrEmpty(_password) && 24 | !string.IsNullOrEmpty(DeviceId); 25 | } 26 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Device.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab6ba29b562ac5a4282f9a40e5362aa6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f516b5260dbab484b8468f983041ab2b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Example/NotionExample.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.12731749, g: 0.13414757, b: 0.1210787, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 12 47 | m_GIWorkflowMode: 1 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 1 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 512 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 256 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 1 83 | m_PVRDenoiserTypeDirect: 1 84 | m_PVRDenoiserTypeIndirect: 1 85 | m_PVRDenoiserTypeAO: 1 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 1 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightProbeSampleCountMultiplier: 4 100 | m_LightingDataAsset: {fileID: 0} 101 | m_LightingSettings: {fileID: 0} 102 | --- !u!196 &4 103 | NavMeshSettings: 104 | serializedVersion: 2 105 | m_ObjectHideFlags: 0 106 | m_BuildSettings: 107 | serializedVersion: 2 108 | agentTypeID: 0 109 | agentRadius: 0.5 110 | agentHeight: 2 111 | agentSlope: 45 112 | agentClimb: 0.4 113 | ledgeDropHeight: 0 114 | maxJumpAcrossDistance: 0 115 | minRegionArea: 2 116 | manualCellSize: 0 117 | cellSize: 0.16666667 118 | manualTileSize: 0 119 | tileSize: 256 120 | accuratePlacement: 0 121 | maxJobWorkers: 0 122 | preserveTilesOutsideBounds: 0 123 | debug: 124 | m_Flags: 0 125 | m_NavMeshData: {fileID: 0} 126 | --- !u!1 &117648661 127 | GameObject: 128 | m_ObjectHideFlags: 0 129 | m_CorrespondingSourceObject: {fileID: 0} 130 | m_PrefabInstance: {fileID: 0} 131 | m_PrefabAsset: {fileID: 0} 132 | serializedVersion: 6 133 | m_Component: 134 | - component: {fileID: 117648662} 135 | - component: {fileID: 117648665} 136 | - component: {fileID: 117648664} 137 | - component: {fileID: 117648663} 138 | - component: {fileID: 117648666} 139 | m_Layer: 5 140 | m_Name: Button_Focus 141 | m_TagString: Untagged 142 | m_Icon: {fileID: 0} 143 | m_NavMeshLayer: 0 144 | m_StaticEditorFlags: 0 145 | m_IsActive: 1 146 | --- !u!224 &117648662 147 | RectTransform: 148 | m_ObjectHideFlags: 0 149 | m_CorrespondingSourceObject: {fileID: 0} 150 | m_PrefabInstance: {fileID: 0} 151 | m_PrefabAsset: {fileID: 0} 152 | m_GameObject: {fileID: 117648661} 153 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 154 | m_LocalPosition: {x: 0, y: 0, z: 0} 155 | m_LocalScale: {x: 1, y: 1, z: 1} 156 | m_Children: 157 | - {fileID: 1960665901} 158 | m_Father: {fileID: 145910737} 159 | m_RootOrder: 4 160 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 161 | m_AnchorMin: {x: 0, y: 0} 162 | m_AnchorMax: {x: 0, y: 0} 163 | m_AnchoredPosition: {x: 0, y: 0} 164 | m_SizeDelta: {x: 0, y: 0} 165 | m_Pivot: {x: 0.5, y: 0.5} 166 | --- !u!114 &117648663 167 | MonoBehaviour: 168 | m_ObjectHideFlags: 0 169 | m_CorrespondingSourceObject: {fileID: 0} 170 | m_PrefabInstance: {fileID: 0} 171 | m_PrefabAsset: {fileID: 0} 172 | m_GameObject: {fileID: 117648661} 173 | m_Enabled: 1 174 | m_EditorHideFlags: 0 175 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 176 | m_Name: 177 | m_EditorClassIdentifier: 178 | m_Navigation: 179 | m_Mode: 3 180 | m_WrapAround: 0 181 | m_SelectOnUp: {fileID: 0} 182 | m_SelectOnDown: {fileID: 0} 183 | m_SelectOnLeft: {fileID: 0} 184 | m_SelectOnRight: {fileID: 0} 185 | m_Transition: 1 186 | m_Colors: 187 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 188 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 189 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 190 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 191 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 192 | m_ColorMultiplier: 1 193 | m_FadeDuration: 0.1 194 | m_SpriteState: 195 | m_HighlightedSprite: {fileID: 0} 196 | m_PressedSprite: {fileID: 0} 197 | m_SelectedSprite: {fileID: 0} 198 | m_DisabledSprite: {fileID: 0} 199 | m_AnimationTriggers: 200 | m_NormalTrigger: Normal 201 | m_HighlightedTrigger: Highlighted 202 | m_PressedTrigger: Pressed 203 | m_SelectedTrigger: Selected 204 | m_DisabledTrigger: Disabled 205 | m_Interactable: 0 206 | m_TargetGraphic: {fileID: 117648664} 207 | m_OnClick: 208 | m_PersistentCalls: 209 | m_Calls: [] 210 | --- !u!114 &117648664 211 | MonoBehaviour: 212 | m_ObjectHideFlags: 0 213 | m_CorrespondingSourceObject: {fileID: 0} 214 | m_PrefabInstance: {fileID: 0} 215 | m_PrefabAsset: {fileID: 0} 216 | m_GameObject: {fileID: 117648661} 217 | m_Enabled: 1 218 | m_EditorHideFlags: 0 219 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 220 | m_Name: 221 | m_EditorClassIdentifier: 222 | m_Material: {fileID: 0} 223 | m_Color: {r: 1, g: 1, b: 1, a: 1} 224 | m_RaycastTarget: 1 225 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 226 | m_Maskable: 1 227 | m_OnCullStateChanged: 228 | m_PersistentCalls: 229 | m_Calls: [] 230 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 231 | m_Type: 1 232 | m_PreserveAspect: 0 233 | m_FillCenter: 1 234 | m_FillMethod: 4 235 | m_FillAmount: 1 236 | m_FillClockwise: 1 237 | m_FillOrigin: 0 238 | m_UseSpriteMesh: 0 239 | m_PixelsPerUnitMultiplier: 1 240 | --- !u!222 &117648665 241 | CanvasRenderer: 242 | m_ObjectHideFlags: 0 243 | m_CorrespondingSourceObject: {fileID: 0} 244 | m_PrefabInstance: {fileID: 0} 245 | m_PrefabAsset: {fileID: 0} 246 | m_GameObject: {fileID: 117648661} 247 | m_CullTransparentMesh: 1 248 | --- !u!114 &117648666 249 | MonoBehaviour: 250 | m_ObjectHideFlags: 0 251 | m_CorrespondingSourceObject: {fileID: 0} 252 | m_PrefabInstance: {fileID: 0} 253 | m_PrefabAsset: {fileID: 0} 254 | m_GameObject: {fileID: 117648661} 255 | m_Enabled: 1 256 | m_EditorHideFlags: 0 257 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 258 | m_Name: 259 | m_EditorClassIdentifier: 260 | m_IgnoreLayout: 0 261 | m_MinWidth: -1 262 | m_MinHeight: -1 263 | m_PreferredWidth: 200 264 | m_PreferredHeight: 50 265 | m_FlexibleWidth: -1 266 | m_FlexibleHeight: -1 267 | m_LayoutPriority: 1 268 | --- !u!1 &145910733 269 | GameObject: 270 | m_ObjectHideFlags: 0 271 | m_CorrespondingSourceObject: {fileID: 0} 272 | m_PrefabInstance: {fileID: 0} 273 | m_PrefabAsset: {fileID: 0} 274 | serializedVersion: 6 275 | m_Component: 276 | - component: {fileID: 145910737} 277 | - component: {fileID: 145910736} 278 | - component: {fileID: 145910735} 279 | - component: {fileID: 145910734} 280 | - component: {fileID: 145910738} 281 | m_Layer: 5 282 | m_Name: Canvas 283 | m_TagString: Untagged 284 | m_Icon: {fileID: 0} 285 | m_NavMeshLayer: 0 286 | m_StaticEditorFlags: 0 287 | m_IsActive: 1 288 | --- !u!114 &145910734 289 | MonoBehaviour: 290 | m_ObjectHideFlags: 0 291 | m_CorrespondingSourceObject: {fileID: 0} 292 | m_PrefabInstance: {fileID: 0} 293 | m_PrefabAsset: {fileID: 0} 294 | m_GameObject: {fileID: 145910733} 295 | m_Enabled: 1 296 | m_EditorHideFlags: 0 297 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} 298 | m_Name: 299 | m_EditorClassIdentifier: 300 | m_IgnoreReversedGraphics: 1 301 | m_BlockingObjects: 0 302 | m_BlockingMask: 303 | serializedVersion: 2 304 | m_Bits: 4294967295 305 | --- !u!114 &145910735 306 | MonoBehaviour: 307 | m_ObjectHideFlags: 0 308 | m_CorrespondingSourceObject: {fileID: 0} 309 | m_PrefabInstance: {fileID: 0} 310 | m_PrefabAsset: {fileID: 0} 311 | m_GameObject: {fileID: 145910733} 312 | m_Enabled: 1 313 | m_EditorHideFlags: 0 314 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} 315 | m_Name: 316 | m_EditorClassIdentifier: 317 | m_UiScaleMode: 1 318 | m_ReferencePixelsPerUnit: 100 319 | m_ScaleFactor: 1 320 | m_ReferenceResolution: {x: 800, y: 600} 321 | m_ScreenMatchMode: 0 322 | m_MatchWidthOrHeight: 1 323 | m_PhysicalUnit: 3 324 | m_FallbackScreenDPI: 96 325 | m_DefaultSpriteDPI: 96 326 | m_DynamicPixelsPerUnit: 1 327 | m_PresetInfoIsWorld: 0 328 | --- !u!223 &145910736 329 | Canvas: 330 | m_ObjectHideFlags: 0 331 | m_CorrespondingSourceObject: {fileID: 0} 332 | m_PrefabInstance: {fileID: 0} 333 | m_PrefabAsset: {fileID: 0} 334 | m_GameObject: {fileID: 145910733} 335 | m_Enabled: 1 336 | serializedVersion: 3 337 | m_RenderMode: 1 338 | m_Camera: {fileID: 305823898} 339 | m_PlaneDistance: 100 340 | m_PixelPerfect: 0 341 | m_ReceivesEvents: 1 342 | m_OverrideSorting: 0 343 | m_OverridePixelPerfect: 0 344 | m_SortingBucketNormalizedSize: 0 345 | m_AdditionalShaderChannelsFlag: 0 346 | m_SortingLayerID: 0 347 | m_SortingOrder: 0 348 | m_TargetDisplay: 0 349 | --- !u!224 &145910737 350 | RectTransform: 351 | m_ObjectHideFlags: 0 352 | m_CorrespondingSourceObject: {fileID: 0} 353 | m_PrefabInstance: {fileID: 0} 354 | m_PrefabAsset: {fileID: 0} 355 | m_GameObject: {fileID: 145910733} 356 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 357 | m_LocalPosition: {x: 0, y: 0, z: 0} 358 | m_LocalScale: {x: 0, y: 0, z: 0} 359 | m_Children: 360 | - {fileID: 286105921} 361 | - {fileID: 242094384} 362 | - {fileID: 1333640254} 363 | - {fileID: 789284804} 364 | - {fileID: 117648662} 365 | - {fileID: 1669796137} 366 | - {fileID: 1915030741} 367 | - {fileID: 2121112167} 368 | - {fileID: 1100184276} 369 | m_Father: {fileID: 0} 370 | m_RootOrder: 2 371 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 372 | m_AnchorMin: {x: 0, y: 0} 373 | m_AnchorMax: {x: 0, y: 0} 374 | m_AnchoredPosition: {x: 0, y: 0} 375 | m_SizeDelta: {x: 0, y: 0} 376 | m_Pivot: {x: 0, y: 0} 377 | --- !u!114 &145910738 378 | MonoBehaviour: 379 | m_ObjectHideFlags: 0 380 | m_CorrespondingSourceObject: {fileID: 0} 381 | m_PrefabInstance: {fileID: 0} 382 | m_PrefabAsset: {fileID: 0} 383 | m_GameObject: {fileID: 145910733} 384 | m_Enabled: 1 385 | m_EditorHideFlags: 0 386 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} 387 | m_Name: 388 | m_EditorClassIdentifier: 389 | m_Padding: 390 | m_Left: 0 391 | m_Right: 0 392 | m_Top: 0 393 | m_Bottom: 0 394 | m_ChildAlignment: 4 395 | m_Spacing: 10 396 | m_ChildForceExpandWidth: 0 397 | m_ChildForceExpandHeight: 0 398 | m_ChildControlWidth: 1 399 | m_ChildControlHeight: 1 400 | m_ChildScaleWidth: 0 401 | m_ChildScaleHeight: 0 402 | m_ReverseArrangement: 0 403 | --- !u!1 &242094380 404 | GameObject: 405 | m_ObjectHideFlags: 0 406 | m_CorrespondingSourceObject: {fileID: 0} 407 | m_PrefabInstance: {fileID: 0} 408 | m_PrefabAsset: {fileID: 0} 409 | serializedVersion: 6 410 | m_Component: 411 | - component: {fileID: 242094384} 412 | - component: {fileID: 242094383} 413 | - component: {fileID: 242094382} 414 | - component: {fileID: 242094381} 415 | - component: {fileID: 242094385} 416 | m_Layer: 5 417 | m_Name: Button_Devices 418 | m_TagString: Untagged 419 | m_Icon: {fileID: 0} 420 | m_NavMeshLayer: 0 421 | m_StaticEditorFlags: 0 422 | m_IsActive: 1 423 | --- !u!114 &242094381 424 | MonoBehaviour: 425 | m_ObjectHideFlags: 0 426 | m_CorrespondingSourceObject: {fileID: 0} 427 | m_PrefabInstance: {fileID: 0} 428 | m_PrefabAsset: {fileID: 0} 429 | m_GameObject: {fileID: 242094380} 430 | m_Enabled: 1 431 | m_EditorHideFlags: 0 432 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 433 | m_Name: 434 | m_EditorClassIdentifier: 435 | m_Navigation: 436 | m_Mode: 3 437 | m_WrapAround: 0 438 | m_SelectOnUp: {fileID: 0} 439 | m_SelectOnDown: {fileID: 0} 440 | m_SelectOnLeft: {fileID: 0} 441 | m_SelectOnRight: {fileID: 0} 442 | m_Transition: 1 443 | m_Colors: 444 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 445 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 446 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 447 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 448 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 449 | m_ColorMultiplier: 1 450 | m_FadeDuration: 0.1 451 | m_SpriteState: 452 | m_HighlightedSprite: {fileID: 0} 453 | m_PressedSprite: {fileID: 0} 454 | m_SelectedSprite: {fileID: 0} 455 | m_DisabledSprite: {fileID: 0} 456 | m_AnimationTriggers: 457 | m_NormalTrigger: Normal 458 | m_HighlightedTrigger: Highlighted 459 | m_PressedTrigger: Pressed 460 | m_SelectedTrigger: Selected 461 | m_DisabledTrigger: Disabled 462 | m_Interactable: 0 463 | m_TargetGraphic: {fileID: 242094382} 464 | m_OnClick: 465 | m_PersistentCalls: 466 | m_Calls: [] 467 | --- !u!114 &242094382 468 | MonoBehaviour: 469 | m_ObjectHideFlags: 0 470 | m_CorrespondingSourceObject: {fileID: 0} 471 | m_PrefabInstance: {fileID: 0} 472 | m_PrefabAsset: {fileID: 0} 473 | m_GameObject: {fileID: 242094380} 474 | m_Enabled: 1 475 | m_EditorHideFlags: 0 476 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 477 | m_Name: 478 | m_EditorClassIdentifier: 479 | m_Material: {fileID: 0} 480 | m_Color: {r: 1, g: 1, b: 1, a: 1} 481 | m_RaycastTarget: 1 482 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 483 | m_Maskable: 1 484 | m_OnCullStateChanged: 485 | m_PersistentCalls: 486 | m_Calls: [] 487 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 488 | m_Type: 1 489 | m_PreserveAspect: 0 490 | m_FillCenter: 1 491 | m_FillMethod: 4 492 | m_FillAmount: 1 493 | m_FillClockwise: 1 494 | m_FillOrigin: 0 495 | m_UseSpriteMesh: 0 496 | m_PixelsPerUnitMultiplier: 1 497 | --- !u!222 &242094383 498 | CanvasRenderer: 499 | m_ObjectHideFlags: 0 500 | m_CorrespondingSourceObject: {fileID: 0} 501 | m_PrefabInstance: {fileID: 0} 502 | m_PrefabAsset: {fileID: 0} 503 | m_GameObject: {fileID: 242094380} 504 | m_CullTransparentMesh: 1 505 | --- !u!224 &242094384 506 | RectTransform: 507 | m_ObjectHideFlags: 0 508 | m_CorrespondingSourceObject: {fileID: 0} 509 | m_PrefabInstance: {fileID: 0} 510 | m_PrefabAsset: {fileID: 0} 511 | m_GameObject: {fileID: 242094380} 512 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 513 | m_LocalPosition: {x: 0, y: 0, z: 0} 514 | m_LocalScale: {x: 1, y: 1, z: 1} 515 | m_Children: 516 | - {fileID: 747957281} 517 | m_Father: {fileID: 145910737} 518 | m_RootOrder: 1 519 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 520 | m_AnchorMin: {x: 0, y: 0} 521 | m_AnchorMax: {x: 0, y: 0} 522 | m_AnchoredPosition: {x: 0, y: 0} 523 | m_SizeDelta: {x: 0, y: 0} 524 | m_Pivot: {x: 0.5, y: 0.5} 525 | --- !u!114 &242094385 526 | MonoBehaviour: 527 | m_ObjectHideFlags: 0 528 | m_CorrespondingSourceObject: {fileID: 0} 529 | m_PrefabInstance: {fileID: 0} 530 | m_PrefabAsset: {fileID: 0} 531 | m_GameObject: {fileID: 242094380} 532 | m_Enabled: 1 533 | m_EditorHideFlags: 0 534 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 535 | m_Name: 536 | m_EditorClassIdentifier: 537 | m_IgnoreLayout: 0 538 | m_MinWidth: -1 539 | m_MinHeight: -1 540 | m_PreferredWidth: 200 541 | m_PreferredHeight: 50 542 | m_FlexibleWidth: -1 543 | m_FlexibleHeight: -1 544 | m_LayoutPriority: 1 545 | --- !u!1 &286105920 546 | GameObject: 547 | m_ObjectHideFlags: 0 548 | m_CorrespondingSourceObject: {fileID: 0} 549 | m_PrefabInstance: {fileID: 0} 550 | m_PrefabAsset: {fileID: 0} 551 | serializedVersion: 6 552 | m_Component: 553 | - component: {fileID: 286105921} 554 | - component: {fileID: 286105924} 555 | - component: {fileID: 286105923} 556 | - component: {fileID: 286105922} 557 | - component: {fileID: 286105925} 558 | m_Layer: 5 559 | m_Name: Button_Login 560 | m_TagString: Untagged 561 | m_Icon: {fileID: 0} 562 | m_NavMeshLayer: 0 563 | m_StaticEditorFlags: 0 564 | m_IsActive: 1 565 | --- !u!224 &286105921 566 | RectTransform: 567 | m_ObjectHideFlags: 0 568 | m_CorrespondingSourceObject: {fileID: 0} 569 | m_PrefabInstance: {fileID: 0} 570 | m_PrefabAsset: {fileID: 0} 571 | m_GameObject: {fileID: 286105920} 572 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 573 | m_LocalPosition: {x: 0, y: 0, z: 0} 574 | m_LocalScale: {x: 1, y: 1, z: 1} 575 | m_Children: 576 | - {fileID: 1756129712} 577 | m_Father: {fileID: 145910737} 578 | m_RootOrder: 0 579 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 580 | m_AnchorMin: {x: 0, y: 0} 581 | m_AnchorMax: {x: 0, y: 0} 582 | m_AnchoredPosition: {x: 0, y: 0} 583 | m_SizeDelta: {x: 0, y: 0} 584 | m_Pivot: {x: 0.5, y: 0.5} 585 | --- !u!114 &286105922 586 | MonoBehaviour: 587 | m_ObjectHideFlags: 0 588 | m_CorrespondingSourceObject: {fileID: 0} 589 | m_PrefabInstance: {fileID: 0} 590 | m_PrefabAsset: {fileID: 0} 591 | m_GameObject: {fileID: 286105920} 592 | m_Enabled: 1 593 | m_EditorHideFlags: 0 594 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 595 | m_Name: 596 | m_EditorClassIdentifier: 597 | m_Navigation: 598 | m_Mode: 3 599 | m_WrapAround: 0 600 | m_SelectOnUp: {fileID: 0} 601 | m_SelectOnDown: {fileID: 0} 602 | m_SelectOnLeft: {fileID: 0} 603 | m_SelectOnRight: {fileID: 0} 604 | m_Transition: 1 605 | m_Colors: 606 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 607 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 608 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 609 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 610 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 611 | m_ColorMultiplier: 1 612 | m_FadeDuration: 0.1 613 | m_SpriteState: 614 | m_HighlightedSprite: {fileID: 0} 615 | m_PressedSprite: {fileID: 0} 616 | m_SelectedSprite: {fileID: 0} 617 | m_DisabledSprite: {fileID: 0} 618 | m_AnimationTriggers: 619 | m_NormalTrigger: Normal 620 | m_HighlightedTrigger: Highlighted 621 | m_PressedTrigger: Pressed 622 | m_SelectedTrigger: Selected 623 | m_DisabledTrigger: Disabled 624 | m_Interactable: 1 625 | m_TargetGraphic: {fileID: 286105923} 626 | m_OnClick: 627 | m_PersistentCalls: 628 | m_Calls: [] 629 | --- !u!114 &286105923 630 | MonoBehaviour: 631 | m_ObjectHideFlags: 0 632 | m_CorrespondingSourceObject: {fileID: 0} 633 | m_PrefabInstance: {fileID: 0} 634 | m_PrefabAsset: {fileID: 0} 635 | m_GameObject: {fileID: 286105920} 636 | m_Enabled: 1 637 | m_EditorHideFlags: 0 638 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 639 | m_Name: 640 | m_EditorClassIdentifier: 641 | m_Material: {fileID: 0} 642 | m_Color: {r: 1, g: 1, b: 1, a: 1} 643 | m_RaycastTarget: 1 644 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 645 | m_Maskable: 1 646 | m_OnCullStateChanged: 647 | m_PersistentCalls: 648 | m_Calls: [] 649 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 650 | m_Type: 1 651 | m_PreserveAspect: 0 652 | m_FillCenter: 1 653 | m_FillMethod: 4 654 | m_FillAmount: 1 655 | m_FillClockwise: 1 656 | m_FillOrigin: 0 657 | m_UseSpriteMesh: 0 658 | m_PixelsPerUnitMultiplier: 1 659 | --- !u!222 &286105924 660 | CanvasRenderer: 661 | m_ObjectHideFlags: 0 662 | m_CorrespondingSourceObject: {fileID: 0} 663 | m_PrefabInstance: {fileID: 0} 664 | m_PrefabAsset: {fileID: 0} 665 | m_GameObject: {fileID: 286105920} 666 | m_CullTransparentMesh: 1 667 | --- !u!114 &286105925 668 | MonoBehaviour: 669 | m_ObjectHideFlags: 0 670 | m_CorrespondingSourceObject: {fileID: 0} 671 | m_PrefabInstance: {fileID: 0} 672 | m_PrefabAsset: {fileID: 0} 673 | m_GameObject: {fileID: 286105920} 674 | m_Enabled: 1 675 | m_EditorHideFlags: 0 676 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 677 | m_Name: 678 | m_EditorClassIdentifier: 679 | m_IgnoreLayout: 0 680 | m_MinWidth: -1 681 | m_MinHeight: -1 682 | m_PreferredWidth: 200 683 | m_PreferredHeight: 50 684 | m_FlexibleWidth: -1 685 | m_FlexibleHeight: -1 686 | m_LayoutPriority: 1 687 | --- !u!1 &305823896 688 | GameObject: 689 | m_ObjectHideFlags: 0 690 | m_CorrespondingSourceObject: {fileID: 0} 691 | m_PrefabInstance: {fileID: 0} 692 | m_PrefabAsset: {fileID: 0} 693 | serializedVersion: 6 694 | m_Component: 695 | - component: {fileID: 305823899} 696 | - component: {fileID: 305823898} 697 | m_Layer: 0 698 | m_Name: Main Camera 699 | m_TagString: MainCamera 700 | m_Icon: {fileID: 0} 701 | m_NavMeshLayer: 0 702 | m_StaticEditorFlags: 0 703 | m_IsActive: 1 704 | --- !u!20 &305823898 705 | Camera: 706 | m_ObjectHideFlags: 0 707 | m_CorrespondingSourceObject: {fileID: 0} 708 | m_PrefabInstance: {fileID: 0} 709 | m_PrefabAsset: {fileID: 0} 710 | m_GameObject: {fileID: 305823896} 711 | m_Enabled: 1 712 | serializedVersion: 2 713 | m_ClearFlags: 2 714 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 715 | m_projectionMatrixMode: 1 716 | m_GateFitMode: 2 717 | m_FOVAxisMode: 0 718 | m_SensorSize: {x: 36, y: 24} 719 | m_LensShift: {x: 0, y: 0} 720 | m_FocalLength: 50 721 | m_NormalizedViewPortRect: 722 | serializedVersion: 2 723 | x: 0 724 | y: 0 725 | width: 1 726 | height: 1 727 | near clip plane: 0.3 728 | far clip plane: 1000 729 | field of view: 60 730 | orthographic: 1 731 | orthographic size: 5 732 | m_Depth: -1 733 | m_CullingMask: 734 | serializedVersion: 2 735 | m_Bits: 4294967295 736 | m_RenderingPath: -1 737 | m_TargetTexture: {fileID: 0} 738 | m_TargetDisplay: 0 739 | m_TargetEye: 3 740 | m_HDR: 1 741 | m_AllowMSAA: 1 742 | m_AllowDynamicResolution: 0 743 | m_ForceIntoRT: 0 744 | m_OcclusionCulling: 1 745 | m_StereoConvergence: 10 746 | m_StereoSeparation: 0.022 747 | --- !u!4 &305823899 748 | Transform: 749 | m_ObjectHideFlags: 0 750 | m_CorrespondingSourceObject: {fileID: 0} 751 | m_PrefabInstance: {fileID: 0} 752 | m_PrefabAsset: {fileID: 0} 753 | m_GameObject: {fileID: 305823896} 754 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 755 | m_LocalPosition: {x: 0, y: 1, z: -10} 756 | m_LocalScale: {x: 1, y: 1, z: 1} 757 | m_Children: [] 758 | m_Father: {fileID: 0} 759 | m_RootOrder: 0 760 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 761 | --- !u!1 &747957280 762 | GameObject: 763 | m_ObjectHideFlags: 0 764 | m_CorrespondingSourceObject: {fileID: 0} 765 | m_PrefabInstance: {fileID: 0} 766 | m_PrefabAsset: {fileID: 0} 767 | serializedVersion: 6 768 | m_Component: 769 | - component: {fileID: 747957281} 770 | - component: {fileID: 747957283} 771 | - component: {fileID: 747957282} 772 | m_Layer: 5 773 | m_Name: Text 774 | m_TagString: Untagged 775 | m_Icon: {fileID: 0} 776 | m_NavMeshLayer: 0 777 | m_StaticEditorFlags: 0 778 | m_IsActive: 1 779 | --- !u!224 &747957281 780 | RectTransform: 781 | m_ObjectHideFlags: 0 782 | m_CorrespondingSourceObject: {fileID: 0} 783 | m_PrefabInstance: {fileID: 0} 784 | m_PrefabAsset: {fileID: 0} 785 | m_GameObject: {fileID: 747957280} 786 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 787 | m_LocalPosition: {x: 0, y: 0, z: 0} 788 | m_LocalScale: {x: 1, y: 1, z: 1} 789 | m_Children: [] 790 | m_Father: {fileID: 242094384} 791 | m_RootOrder: 0 792 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 793 | m_AnchorMin: {x: 0, y: 0} 794 | m_AnchorMax: {x: 1, y: 1} 795 | m_AnchoredPosition: {x: 0, y: 0} 796 | m_SizeDelta: {x: 0, y: 0} 797 | m_Pivot: {x: 0.5, y: 0.5} 798 | --- !u!114 &747957282 799 | MonoBehaviour: 800 | m_ObjectHideFlags: 0 801 | m_CorrespondingSourceObject: {fileID: 0} 802 | m_PrefabInstance: {fileID: 0} 803 | m_PrefabAsset: {fileID: 0} 804 | m_GameObject: {fileID: 747957280} 805 | m_Enabled: 1 806 | m_EditorHideFlags: 0 807 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 808 | m_Name: 809 | m_EditorClassIdentifier: 810 | m_Material: {fileID: 0} 811 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 812 | m_RaycastTarget: 1 813 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 814 | m_Maskable: 1 815 | m_OnCullStateChanged: 816 | m_PersistentCalls: 817 | m_Calls: [] 818 | m_FontData: 819 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 820 | m_FontSize: 14 821 | m_FontStyle: 0 822 | m_BestFit: 0 823 | m_MinSize: 10 824 | m_MaxSize: 40 825 | m_Alignment: 4 826 | m_AlignByGeometry: 0 827 | m_RichText: 1 828 | m_HorizontalOverflow: 0 829 | m_VerticalOverflow: 0 830 | m_LineSpacing: 1 831 | m_Text: Print Devices 832 | --- !u!222 &747957283 833 | CanvasRenderer: 834 | m_ObjectHideFlags: 0 835 | m_CorrespondingSourceObject: {fileID: 0} 836 | m_PrefabInstance: {fileID: 0} 837 | m_PrefabAsset: {fileID: 0} 838 | m_GameObject: {fileID: 747957280} 839 | m_CullTransparentMesh: 1 840 | --- !u!1 &784068946 841 | GameObject: 842 | m_ObjectHideFlags: 0 843 | m_CorrespondingSourceObject: {fileID: 0} 844 | m_PrefabInstance: {fileID: 0} 845 | m_PrefabAsset: {fileID: 0} 846 | serializedVersion: 6 847 | m_Component: 848 | - component: {fileID: 784068947} 849 | - component: {fileID: 784068949} 850 | - component: {fileID: 784068948} 851 | m_Layer: 5 852 | m_Name: Text 853 | m_TagString: Untagged 854 | m_Icon: {fileID: 0} 855 | m_NavMeshLayer: 0 856 | m_StaticEditorFlags: 0 857 | m_IsActive: 1 858 | --- !u!224 &784068947 859 | RectTransform: 860 | m_ObjectHideFlags: 0 861 | m_CorrespondingSourceObject: {fileID: 0} 862 | m_PrefabInstance: {fileID: 0} 863 | m_PrefabAsset: {fileID: 0} 864 | m_GameObject: {fileID: 784068946} 865 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 866 | m_LocalPosition: {x: 0, y: 0, z: 0} 867 | m_LocalScale: {x: 1, y: 1, z: 1} 868 | m_Children: [] 869 | m_Father: {fileID: 1915030741} 870 | m_RootOrder: 0 871 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 872 | m_AnchorMin: {x: 0, y: 0} 873 | m_AnchorMax: {x: 1, y: 1} 874 | m_AnchoredPosition: {x: 0, y: 0} 875 | m_SizeDelta: {x: 0, y: 0} 876 | m_Pivot: {x: 0.5, y: 0.5} 877 | --- !u!114 &784068948 878 | MonoBehaviour: 879 | m_ObjectHideFlags: 0 880 | m_CorrespondingSourceObject: {fileID: 0} 881 | m_PrefabInstance: {fileID: 0} 882 | m_PrefabAsset: {fileID: 0} 883 | m_GameObject: {fileID: 784068946} 884 | m_Enabled: 1 885 | m_EditorHideFlags: 0 886 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 887 | m_Name: 888 | m_EditorClassIdentifier: 889 | m_Material: {fileID: 0} 890 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 891 | m_RaycastTarget: 1 892 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 893 | m_Maskable: 1 894 | m_OnCullStateChanged: 895 | m_PersistentCalls: 896 | m_Calls: [] 897 | m_FontData: 898 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 899 | m_FontSize: 14 900 | m_FontStyle: 0 901 | m_BestFit: 0 902 | m_MinSize: 10 903 | m_MaxSize: 40 904 | m_Alignment: 4 905 | m_AlignByGeometry: 0 906 | m_RichText: 1 907 | m_HorizontalOverflow: 0 908 | m_VerticalOverflow: 0 909 | m_LineSpacing: 1 910 | m_Text: Subscribe to Accelerometer 911 | --- !u!222 &784068949 912 | CanvasRenderer: 913 | m_ObjectHideFlags: 0 914 | m_CorrespondingSourceObject: {fileID: 0} 915 | m_PrefabInstance: {fileID: 0} 916 | m_PrefabAsset: {fileID: 0} 917 | m_GameObject: {fileID: 784068946} 918 | m_CullTransparentMesh: 1 919 | --- !u!1 &789284800 920 | GameObject: 921 | m_ObjectHideFlags: 0 922 | m_CorrespondingSourceObject: {fileID: 0} 923 | m_PrefabInstance: {fileID: 0} 924 | m_PrefabAsset: {fileID: 0} 925 | serializedVersion: 6 926 | m_Component: 927 | - component: {fileID: 789284804} 928 | - component: {fileID: 789284803} 929 | - component: {fileID: 789284802} 930 | - component: {fileID: 789284801} 931 | - component: {fileID: 789284805} 932 | m_Layer: 5 933 | m_Name: Button_Calm 934 | m_TagString: Untagged 935 | m_Icon: {fileID: 0} 936 | m_NavMeshLayer: 0 937 | m_StaticEditorFlags: 0 938 | m_IsActive: 1 939 | --- !u!114 &789284801 940 | MonoBehaviour: 941 | m_ObjectHideFlags: 0 942 | m_CorrespondingSourceObject: {fileID: 0} 943 | m_PrefabInstance: {fileID: 0} 944 | m_PrefabAsset: {fileID: 0} 945 | m_GameObject: {fileID: 789284800} 946 | m_Enabled: 1 947 | m_EditorHideFlags: 0 948 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 949 | m_Name: 950 | m_EditorClassIdentifier: 951 | m_Navigation: 952 | m_Mode: 3 953 | m_WrapAround: 0 954 | m_SelectOnUp: {fileID: 0} 955 | m_SelectOnDown: {fileID: 0} 956 | m_SelectOnLeft: {fileID: 0} 957 | m_SelectOnRight: {fileID: 0} 958 | m_Transition: 1 959 | m_Colors: 960 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 961 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 962 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 963 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 964 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 965 | m_ColorMultiplier: 1 966 | m_FadeDuration: 0.1 967 | m_SpriteState: 968 | m_HighlightedSprite: {fileID: 0} 969 | m_PressedSprite: {fileID: 0} 970 | m_SelectedSprite: {fileID: 0} 971 | m_DisabledSprite: {fileID: 0} 972 | m_AnimationTriggers: 973 | m_NormalTrigger: Normal 974 | m_HighlightedTrigger: Highlighted 975 | m_PressedTrigger: Pressed 976 | m_SelectedTrigger: Selected 977 | m_DisabledTrigger: Disabled 978 | m_Interactable: 0 979 | m_TargetGraphic: {fileID: 789284802} 980 | m_OnClick: 981 | m_PersistentCalls: 982 | m_Calls: [] 983 | --- !u!114 &789284802 984 | MonoBehaviour: 985 | m_ObjectHideFlags: 0 986 | m_CorrespondingSourceObject: {fileID: 0} 987 | m_PrefabInstance: {fileID: 0} 988 | m_PrefabAsset: {fileID: 0} 989 | m_GameObject: {fileID: 789284800} 990 | m_Enabled: 1 991 | m_EditorHideFlags: 0 992 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 993 | m_Name: 994 | m_EditorClassIdentifier: 995 | m_Material: {fileID: 0} 996 | m_Color: {r: 1, g: 1, b: 1, a: 1} 997 | m_RaycastTarget: 1 998 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 999 | m_Maskable: 1 1000 | m_OnCullStateChanged: 1001 | m_PersistentCalls: 1002 | m_Calls: [] 1003 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1004 | m_Type: 1 1005 | m_PreserveAspect: 0 1006 | m_FillCenter: 1 1007 | m_FillMethod: 4 1008 | m_FillAmount: 1 1009 | m_FillClockwise: 1 1010 | m_FillOrigin: 0 1011 | m_UseSpriteMesh: 0 1012 | m_PixelsPerUnitMultiplier: 1 1013 | --- !u!222 &789284803 1014 | CanvasRenderer: 1015 | m_ObjectHideFlags: 0 1016 | m_CorrespondingSourceObject: {fileID: 0} 1017 | m_PrefabInstance: {fileID: 0} 1018 | m_PrefabAsset: {fileID: 0} 1019 | m_GameObject: {fileID: 789284800} 1020 | m_CullTransparentMesh: 1 1021 | --- !u!224 &789284804 1022 | RectTransform: 1023 | m_ObjectHideFlags: 0 1024 | m_CorrespondingSourceObject: {fileID: 0} 1025 | m_PrefabInstance: {fileID: 0} 1026 | m_PrefabAsset: {fileID: 0} 1027 | m_GameObject: {fileID: 789284800} 1028 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1029 | m_LocalPosition: {x: 0, y: 0, z: 0} 1030 | m_LocalScale: {x: 1, y: 1, z: 1} 1031 | m_Children: 1032 | - {fileID: 1057992603} 1033 | m_Father: {fileID: 145910737} 1034 | m_RootOrder: 3 1035 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1036 | m_AnchorMin: {x: 0, y: 0} 1037 | m_AnchorMax: {x: 0, y: 0} 1038 | m_AnchoredPosition: {x: 0, y: 0} 1039 | m_SizeDelta: {x: 0, y: 0} 1040 | m_Pivot: {x: 0.5, y: 0.5} 1041 | --- !u!114 &789284805 1042 | MonoBehaviour: 1043 | m_ObjectHideFlags: 0 1044 | m_CorrespondingSourceObject: {fileID: 0} 1045 | m_PrefabInstance: {fileID: 0} 1046 | m_PrefabAsset: {fileID: 0} 1047 | m_GameObject: {fileID: 789284800} 1048 | m_Enabled: 1 1049 | m_EditorHideFlags: 0 1050 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 1051 | m_Name: 1052 | m_EditorClassIdentifier: 1053 | m_IgnoreLayout: 0 1054 | m_MinWidth: -1 1055 | m_MinHeight: -1 1056 | m_PreferredWidth: 200 1057 | m_PreferredHeight: 50 1058 | m_FlexibleWidth: -1 1059 | m_FlexibleHeight: -1 1060 | m_LayoutPriority: 1 1061 | --- !u!1 &1048357418 1062 | GameObject: 1063 | m_ObjectHideFlags: 0 1064 | m_CorrespondingSourceObject: {fileID: 0} 1065 | m_PrefabInstance: {fileID: 0} 1066 | m_PrefabAsset: {fileID: 0} 1067 | serializedVersion: 6 1068 | m_Component: 1069 | - component: {fileID: 1048357419} 1070 | - component: {fileID: 1048357421} 1071 | - component: {fileID: 1048357420} 1072 | m_Layer: 5 1073 | m_Name: Text 1074 | m_TagString: Untagged 1075 | m_Icon: {fileID: 0} 1076 | m_NavMeshLayer: 0 1077 | m_StaticEditorFlags: 0 1078 | m_IsActive: 1 1079 | --- !u!224 &1048357419 1080 | RectTransform: 1081 | m_ObjectHideFlags: 0 1082 | m_CorrespondingSourceObject: {fileID: 0} 1083 | m_PrefabInstance: {fileID: 0} 1084 | m_PrefabAsset: {fileID: 0} 1085 | m_GameObject: {fileID: 1048357418} 1086 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1087 | m_LocalPosition: {x: 0, y: 0, z: 0} 1088 | m_LocalScale: {x: 1, y: 1, z: 1} 1089 | m_Children: [] 1090 | m_Father: {fileID: 1669796137} 1091 | m_RootOrder: 0 1092 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1093 | m_AnchorMin: {x: 0, y: 0} 1094 | m_AnchorMax: {x: 1, y: 1} 1095 | m_AnchoredPosition: {x: 0, y: 0} 1096 | m_SizeDelta: {x: 0, y: 0} 1097 | m_Pivot: {x: 0.5, y: 0.5} 1098 | --- !u!114 &1048357420 1099 | MonoBehaviour: 1100 | m_ObjectHideFlags: 0 1101 | m_CorrespondingSourceObject: {fileID: 0} 1102 | m_PrefabInstance: {fileID: 0} 1103 | m_PrefabAsset: {fileID: 0} 1104 | m_GameObject: {fileID: 1048357418} 1105 | m_Enabled: 1 1106 | m_EditorHideFlags: 0 1107 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1108 | m_Name: 1109 | m_EditorClassIdentifier: 1110 | m_Material: {fileID: 0} 1111 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1112 | m_RaycastTarget: 1 1113 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1114 | m_Maskable: 1 1115 | m_OnCullStateChanged: 1116 | m_PersistentCalls: 1117 | m_Calls: [] 1118 | m_FontData: 1119 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1120 | m_FontSize: 14 1121 | m_FontStyle: 0 1122 | m_BestFit: 0 1123 | m_MinSize: 10 1124 | m_MaxSize: 40 1125 | m_Alignment: 4 1126 | m_AlignByGeometry: 0 1127 | m_RichText: 1 1128 | m_HorizontalOverflow: 0 1129 | m_VerticalOverflow: 0 1130 | m_LineSpacing: 1 1131 | m_Text: Subscribe to Raw Brainwaves 1132 | --- !u!222 &1048357421 1133 | CanvasRenderer: 1134 | m_ObjectHideFlags: 0 1135 | m_CorrespondingSourceObject: {fileID: 0} 1136 | m_PrefabInstance: {fileID: 0} 1137 | m_PrefabAsset: {fileID: 0} 1138 | m_GameObject: {fileID: 1048357418} 1139 | m_CullTransparentMesh: 1 1140 | --- !u!1 &1057992602 1141 | GameObject: 1142 | m_ObjectHideFlags: 0 1143 | m_CorrespondingSourceObject: {fileID: 0} 1144 | m_PrefabInstance: {fileID: 0} 1145 | m_PrefabAsset: {fileID: 0} 1146 | serializedVersion: 6 1147 | m_Component: 1148 | - component: {fileID: 1057992603} 1149 | - component: {fileID: 1057992605} 1150 | - component: {fileID: 1057992604} 1151 | m_Layer: 5 1152 | m_Name: Text 1153 | m_TagString: Untagged 1154 | m_Icon: {fileID: 0} 1155 | m_NavMeshLayer: 0 1156 | m_StaticEditorFlags: 0 1157 | m_IsActive: 1 1158 | --- !u!224 &1057992603 1159 | RectTransform: 1160 | m_ObjectHideFlags: 0 1161 | m_CorrespondingSourceObject: {fileID: 0} 1162 | m_PrefabInstance: {fileID: 0} 1163 | m_PrefabAsset: {fileID: 0} 1164 | m_GameObject: {fileID: 1057992602} 1165 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1166 | m_LocalPosition: {x: 0, y: 0, z: 0} 1167 | m_LocalScale: {x: 1, y: 1, z: 1} 1168 | m_Children: [] 1169 | m_Father: {fileID: 789284804} 1170 | m_RootOrder: 0 1171 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1172 | m_AnchorMin: {x: 0, y: 0} 1173 | m_AnchorMax: {x: 1, y: 1} 1174 | m_AnchoredPosition: {x: 0, y: 0} 1175 | m_SizeDelta: {x: 0, y: 0} 1176 | m_Pivot: {x: 0.5, y: 0.5} 1177 | --- !u!114 &1057992604 1178 | MonoBehaviour: 1179 | m_ObjectHideFlags: 0 1180 | m_CorrespondingSourceObject: {fileID: 0} 1181 | m_PrefabInstance: {fileID: 0} 1182 | m_PrefabAsset: {fileID: 0} 1183 | m_GameObject: {fileID: 1057992602} 1184 | m_Enabled: 1 1185 | m_EditorHideFlags: 0 1186 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1187 | m_Name: 1188 | m_EditorClassIdentifier: 1189 | m_Material: {fileID: 0} 1190 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1191 | m_RaycastTarget: 1 1192 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1193 | m_Maskable: 1 1194 | m_OnCullStateChanged: 1195 | m_PersistentCalls: 1196 | m_Calls: [] 1197 | m_FontData: 1198 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1199 | m_FontSize: 14 1200 | m_FontStyle: 0 1201 | m_BestFit: 0 1202 | m_MinSize: 10 1203 | m_MaxSize: 40 1204 | m_Alignment: 4 1205 | m_AlignByGeometry: 0 1206 | m_RichText: 1 1207 | m_HorizontalOverflow: 0 1208 | m_VerticalOverflow: 0 1209 | m_LineSpacing: 1 1210 | m_Text: Subscribe to Calm 1211 | --- !u!222 &1057992605 1212 | CanvasRenderer: 1213 | m_ObjectHideFlags: 0 1214 | m_CorrespondingSourceObject: {fileID: 0} 1215 | m_PrefabInstance: {fileID: 0} 1216 | m_PrefabAsset: {fileID: 0} 1217 | m_GameObject: {fileID: 1057992602} 1218 | m_CullTransparentMesh: 1 1219 | --- !u!1 &1100184275 1220 | GameObject: 1221 | m_ObjectHideFlags: 0 1222 | m_CorrespondingSourceObject: {fileID: 0} 1223 | m_PrefabInstance: {fileID: 0} 1224 | m_PrefabAsset: {fileID: 0} 1225 | serializedVersion: 6 1226 | m_Component: 1227 | - component: {fileID: 1100184276} 1228 | - component: {fileID: 1100184278} 1229 | - component: {fileID: 1100184277} 1230 | m_Layer: 5 1231 | m_Name: Text_Kinesis 1232 | m_TagString: Untagged 1233 | m_Icon: {fileID: 0} 1234 | m_NavMeshLayer: 0 1235 | m_StaticEditorFlags: 0 1236 | m_IsActive: 1 1237 | --- !u!224 &1100184276 1238 | RectTransform: 1239 | m_ObjectHideFlags: 0 1240 | m_CorrespondingSourceObject: {fileID: 0} 1241 | m_PrefabInstance: {fileID: 0} 1242 | m_PrefabAsset: {fileID: 0} 1243 | m_GameObject: {fileID: 1100184275} 1244 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1245 | m_LocalPosition: {x: 0, y: 0, z: 0} 1246 | m_LocalScale: {x: 1, y: 1, z: 1} 1247 | m_Children: [] 1248 | m_Father: {fileID: 145910737} 1249 | m_RootOrder: 8 1250 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1251 | m_AnchorMin: {x: 0, y: 0} 1252 | m_AnchorMax: {x: 0, y: 0} 1253 | m_AnchoredPosition: {x: 0, y: 0} 1254 | m_SizeDelta: {x: 0, y: 0} 1255 | m_Pivot: {x: 0.5, y: 0.5} 1256 | --- !u!114 &1100184277 1257 | MonoBehaviour: 1258 | m_ObjectHideFlags: 0 1259 | m_CorrespondingSourceObject: {fileID: 0} 1260 | m_PrefabInstance: {fileID: 0} 1261 | m_PrefabAsset: {fileID: 0} 1262 | m_GameObject: {fileID: 1100184275} 1263 | m_Enabled: 1 1264 | m_EditorHideFlags: 0 1265 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1266 | m_Name: 1267 | m_EditorClassIdentifier: 1268 | m_Material: {fileID: 0} 1269 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1270 | m_RaycastTarget: 1 1271 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1272 | m_Maskable: 1 1273 | m_OnCullStateChanged: 1274 | m_PersistentCalls: 1275 | m_Calls: [] 1276 | m_FontData: 1277 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1278 | m_FontSize: 17 1279 | m_FontStyle: 0 1280 | m_BestFit: 0 1281 | m_MinSize: 10 1282 | m_MaxSize: 113 1283 | m_Alignment: 1 1284 | m_AlignByGeometry: 0 1285 | m_RichText: 1 1286 | m_HorizontalOverflow: 0 1287 | m_VerticalOverflow: 0 1288 | m_LineSpacing: 1 1289 | m_Text: '[KINESIS PROBABILITY]' 1290 | --- !u!222 &1100184278 1291 | CanvasRenderer: 1292 | m_ObjectHideFlags: 0 1293 | m_CorrespondingSourceObject: {fileID: 0} 1294 | m_PrefabInstance: {fileID: 0} 1295 | m_PrefabAsset: {fileID: 0} 1296 | m_GameObject: {fileID: 1100184275} 1297 | m_CullTransparentMesh: 1 1298 | --- !u!1 &1292337075 1299 | GameObject: 1300 | m_ObjectHideFlags: 0 1301 | m_CorrespondingSourceObject: {fileID: 0} 1302 | m_PrefabInstance: {fileID: 0} 1303 | m_PrefabAsset: {fileID: 0} 1304 | serializedVersion: 6 1305 | m_Component: 1306 | - component: {fileID: 1292337076} 1307 | - component: {fileID: 1292337078} 1308 | - component: {fileID: 1292337077} 1309 | m_Layer: 5 1310 | m_Name: Text 1311 | m_TagString: Untagged 1312 | m_Icon: {fileID: 0} 1313 | m_NavMeshLayer: 0 1314 | m_StaticEditorFlags: 0 1315 | m_IsActive: 1 1316 | --- !u!224 &1292337076 1317 | RectTransform: 1318 | m_ObjectHideFlags: 0 1319 | m_CorrespondingSourceObject: {fileID: 0} 1320 | m_PrefabInstance: {fileID: 0} 1321 | m_PrefabAsset: {fileID: 0} 1322 | m_GameObject: {fileID: 1292337075} 1323 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1324 | m_LocalPosition: {x: 0, y: 0, z: 0} 1325 | m_LocalScale: {x: 1, y: 1, z: 1} 1326 | m_Children: [] 1327 | m_Father: {fileID: 2121112167} 1328 | m_RootOrder: 0 1329 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1330 | m_AnchorMin: {x: 0, y: 0} 1331 | m_AnchorMax: {x: 1, y: 1} 1332 | m_AnchoredPosition: {x: 0, y: 0} 1333 | m_SizeDelta: {x: 0, y: 0} 1334 | m_Pivot: {x: 0.5, y: 0.5} 1335 | --- !u!114 &1292337077 1336 | MonoBehaviour: 1337 | m_ObjectHideFlags: 0 1338 | m_CorrespondingSourceObject: {fileID: 0} 1339 | m_PrefabInstance: {fileID: 0} 1340 | m_PrefabAsset: {fileID: 0} 1341 | m_GameObject: {fileID: 1292337075} 1342 | m_Enabled: 1 1343 | m_EditorHideFlags: 0 1344 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1345 | m_Name: 1346 | m_EditorClassIdentifier: 1347 | m_Material: {fileID: 0} 1348 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1349 | m_RaycastTarget: 1 1350 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1351 | m_Maskable: 1 1352 | m_OnCullStateChanged: 1353 | m_PersistentCalls: 1354 | m_Calls: [] 1355 | m_FontData: 1356 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1357 | m_FontSize: 14 1358 | m_FontStyle: 0 1359 | m_BestFit: 0 1360 | m_MinSize: 10 1361 | m_MaxSize: 40 1362 | m_Alignment: 4 1363 | m_AlignByGeometry: 0 1364 | m_RichText: 1 1365 | m_HorizontalOverflow: 0 1366 | m_VerticalOverflow: 0 1367 | m_LineSpacing: 1 1368 | m_Text: Subscribe to Kinesis 1369 | --- !u!222 &1292337078 1370 | CanvasRenderer: 1371 | m_ObjectHideFlags: 0 1372 | m_CorrespondingSourceObject: {fileID: 0} 1373 | m_PrefabInstance: {fileID: 0} 1374 | m_PrefabAsset: {fileID: 0} 1375 | m_GameObject: {fileID: 1292337075} 1376 | m_CullTransparentMesh: 1 1377 | --- !u!1 &1333640250 1378 | GameObject: 1379 | m_ObjectHideFlags: 0 1380 | m_CorrespondingSourceObject: {fileID: 0} 1381 | m_PrefabInstance: {fileID: 0} 1382 | m_PrefabAsset: {fileID: 0} 1383 | serializedVersion: 6 1384 | m_Component: 1385 | - component: {fileID: 1333640254} 1386 | - component: {fileID: 1333640253} 1387 | - component: {fileID: 1333640252} 1388 | - component: {fileID: 1333640251} 1389 | - component: {fileID: 1333640255} 1390 | m_Layer: 5 1391 | m_Name: Button_Status 1392 | m_TagString: Untagged 1393 | m_Icon: {fileID: 0} 1394 | m_NavMeshLayer: 0 1395 | m_StaticEditorFlags: 0 1396 | m_IsActive: 1 1397 | --- !u!114 &1333640251 1398 | MonoBehaviour: 1399 | m_ObjectHideFlags: 0 1400 | m_CorrespondingSourceObject: {fileID: 0} 1401 | m_PrefabInstance: {fileID: 0} 1402 | m_PrefabAsset: {fileID: 0} 1403 | m_GameObject: {fileID: 1333640250} 1404 | m_Enabled: 1 1405 | m_EditorHideFlags: 0 1406 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 1407 | m_Name: 1408 | m_EditorClassIdentifier: 1409 | m_Navigation: 1410 | m_Mode: 3 1411 | m_WrapAround: 0 1412 | m_SelectOnUp: {fileID: 0} 1413 | m_SelectOnDown: {fileID: 0} 1414 | m_SelectOnLeft: {fileID: 0} 1415 | m_SelectOnRight: {fileID: 0} 1416 | m_Transition: 1 1417 | m_Colors: 1418 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1419 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1420 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1421 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1422 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1423 | m_ColorMultiplier: 1 1424 | m_FadeDuration: 0.1 1425 | m_SpriteState: 1426 | m_HighlightedSprite: {fileID: 0} 1427 | m_PressedSprite: {fileID: 0} 1428 | m_SelectedSprite: {fileID: 0} 1429 | m_DisabledSprite: {fileID: 0} 1430 | m_AnimationTriggers: 1431 | m_NormalTrigger: Normal 1432 | m_HighlightedTrigger: Highlighted 1433 | m_PressedTrigger: Pressed 1434 | m_SelectedTrigger: Selected 1435 | m_DisabledTrigger: Disabled 1436 | m_Interactable: 0 1437 | m_TargetGraphic: {fileID: 1333640252} 1438 | m_OnClick: 1439 | m_PersistentCalls: 1440 | m_Calls: [] 1441 | --- !u!114 &1333640252 1442 | MonoBehaviour: 1443 | m_ObjectHideFlags: 0 1444 | m_CorrespondingSourceObject: {fileID: 0} 1445 | m_PrefabInstance: {fileID: 0} 1446 | m_PrefabAsset: {fileID: 0} 1447 | m_GameObject: {fileID: 1333640250} 1448 | m_Enabled: 1 1449 | m_EditorHideFlags: 0 1450 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1451 | m_Name: 1452 | m_EditorClassIdentifier: 1453 | m_Material: {fileID: 0} 1454 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1455 | m_RaycastTarget: 1 1456 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1457 | m_Maskable: 1 1458 | m_OnCullStateChanged: 1459 | m_PersistentCalls: 1460 | m_Calls: [] 1461 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1462 | m_Type: 1 1463 | m_PreserveAspect: 0 1464 | m_FillCenter: 1 1465 | m_FillMethod: 4 1466 | m_FillAmount: 1 1467 | m_FillClockwise: 1 1468 | m_FillOrigin: 0 1469 | m_UseSpriteMesh: 0 1470 | m_PixelsPerUnitMultiplier: 1 1471 | --- !u!222 &1333640253 1472 | CanvasRenderer: 1473 | m_ObjectHideFlags: 0 1474 | m_CorrespondingSourceObject: {fileID: 0} 1475 | m_PrefabInstance: {fileID: 0} 1476 | m_PrefabAsset: {fileID: 0} 1477 | m_GameObject: {fileID: 1333640250} 1478 | m_CullTransparentMesh: 1 1479 | --- !u!224 &1333640254 1480 | RectTransform: 1481 | m_ObjectHideFlags: 0 1482 | m_CorrespondingSourceObject: {fileID: 0} 1483 | m_PrefabInstance: {fileID: 0} 1484 | m_PrefabAsset: {fileID: 0} 1485 | m_GameObject: {fileID: 1333640250} 1486 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1487 | m_LocalPosition: {x: 0, y: 0, z: 0} 1488 | m_LocalScale: {x: 1, y: 1, z: 1} 1489 | m_Children: 1490 | - {fileID: 2044767452} 1491 | m_Father: {fileID: 145910737} 1492 | m_RootOrder: 2 1493 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1494 | m_AnchorMin: {x: 0, y: 0} 1495 | m_AnchorMax: {x: 0, y: 0} 1496 | m_AnchoredPosition: {x: 0, y: 0} 1497 | m_SizeDelta: {x: 0, y: 0} 1498 | m_Pivot: {x: 0.5, y: 0.5} 1499 | --- !u!114 &1333640255 1500 | MonoBehaviour: 1501 | m_ObjectHideFlags: 0 1502 | m_CorrespondingSourceObject: {fileID: 0} 1503 | m_PrefabInstance: {fileID: 0} 1504 | m_PrefabAsset: {fileID: 0} 1505 | m_GameObject: {fileID: 1333640250} 1506 | m_Enabled: 1 1507 | m_EditorHideFlags: 0 1508 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 1509 | m_Name: 1510 | m_EditorClassIdentifier: 1511 | m_IgnoreLayout: 0 1512 | m_MinWidth: -1 1513 | m_MinHeight: -1 1514 | m_PreferredWidth: 200 1515 | m_PreferredHeight: 50 1516 | m_FlexibleWidth: -1 1517 | m_FlexibleHeight: -1 1518 | m_LayoutPriority: 1 1519 | --- !u!1 &1650299645 1520 | GameObject: 1521 | m_ObjectHideFlags: 0 1522 | m_CorrespondingSourceObject: {fileID: 0} 1523 | m_PrefabInstance: {fileID: 0} 1524 | m_PrefabAsset: {fileID: 0} 1525 | serializedVersion: 6 1526 | m_Component: 1527 | - component: {fileID: 1650299647} 1528 | - component: {fileID: 1650299646} 1529 | m_Layer: 0 1530 | m_Name: NotionTester 1531 | m_TagString: Untagged 1532 | m_Icon: {fileID: 0} 1533 | m_NavMeshLayer: 0 1534 | m_StaticEditorFlags: 0 1535 | m_IsActive: 1 1536 | --- !u!114 &1650299646 1537 | MonoBehaviour: 1538 | m_ObjectHideFlags: 0 1539 | m_CorrespondingSourceObject: {fileID: 0} 1540 | m_PrefabInstance: {fileID: 0} 1541 | m_PrefabAsset: {fileID: 0} 1542 | m_GameObject: {fileID: 1650299645} 1543 | m_Enabled: 1 1544 | m_EditorHideFlags: 0 1545 | m_Script: {fileID: 11500000, guid: b87455ffa07521648897ba19527597d4, type: 3} 1546 | m_Name: 1547 | m_EditorClassIdentifier: 1548 | _device: {fileID: 0} 1549 | _buttonLogin: {fileID: 286105922} 1550 | _buttonGetDevices: {fileID: 242094381} 1551 | _buttonGetStatus: {fileID: 1333640251} 1552 | _buttonSubscribeCalm: {fileID: 789284801} 1553 | _buttonSubscribeFocus: {fileID: 117648663} 1554 | _buttonSubscribeRawBrainwaves: {fileID: 1669796139} 1555 | _buttonSubscribeAccelerometer: {fileID: 1915030743} 1556 | _buttonSubscribeKinesis: {fileID: 2121112169} 1557 | _textKinesisProbability: {fileID: 1100184277} 1558 | --- !u!4 &1650299647 1559 | Transform: 1560 | m_ObjectHideFlags: 0 1561 | m_CorrespondingSourceObject: {fileID: 0} 1562 | m_PrefabInstance: {fileID: 0} 1563 | m_PrefabAsset: {fileID: 0} 1564 | m_GameObject: {fileID: 1650299645} 1565 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1566 | m_LocalPosition: {x: 0, y: 0, z: 0} 1567 | m_LocalScale: {x: 1, y: 1, z: 1} 1568 | m_Children: [] 1569 | m_Father: {fileID: 0} 1570 | m_RootOrder: 1 1571 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1572 | --- !u!1 &1669796136 1573 | GameObject: 1574 | m_ObjectHideFlags: 0 1575 | m_CorrespondingSourceObject: {fileID: 0} 1576 | m_PrefabInstance: {fileID: 0} 1577 | m_PrefabAsset: {fileID: 0} 1578 | serializedVersion: 6 1579 | m_Component: 1580 | - component: {fileID: 1669796137} 1581 | - component: {fileID: 1669796141} 1582 | - component: {fileID: 1669796140} 1583 | - component: {fileID: 1669796139} 1584 | - component: {fileID: 1669796138} 1585 | m_Layer: 5 1586 | m_Name: Button_RawBrainwaves 1587 | m_TagString: Untagged 1588 | m_Icon: {fileID: 0} 1589 | m_NavMeshLayer: 0 1590 | m_StaticEditorFlags: 0 1591 | m_IsActive: 1 1592 | --- !u!224 &1669796137 1593 | RectTransform: 1594 | m_ObjectHideFlags: 0 1595 | m_CorrespondingSourceObject: {fileID: 0} 1596 | m_PrefabInstance: {fileID: 0} 1597 | m_PrefabAsset: {fileID: 0} 1598 | m_GameObject: {fileID: 1669796136} 1599 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1600 | m_LocalPosition: {x: 0, y: 0, z: 0} 1601 | m_LocalScale: {x: 1, y: 1, z: 1} 1602 | m_Children: 1603 | - {fileID: 1048357419} 1604 | m_Father: {fileID: 145910737} 1605 | m_RootOrder: 5 1606 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1607 | m_AnchorMin: {x: 0, y: 0} 1608 | m_AnchorMax: {x: 0, y: 0} 1609 | m_AnchoredPosition: {x: 0, y: 0} 1610 | m_SizeDelta: {x: 0, y: 0} 1611 | m_Pivot: {x: 0.5, y: 0.5} 1612 | --- !u!114 &1669796138 1613 | MonoBehaviour: 1614 | m_ObjectHideFlags: 0 1615 | m_CorrespondingSourceObject: {fileID: 0} 1616 | m_PrefabInstance: {fileID: 0} 1617 | m_PrefabAsset: {fileID: 0} 1618 | m_GameObject: {fileID: 1669796136} 1619 | m_Enabled: 1 1620 | m_EditorHideFlags: 0 1621 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 1622 | m_Name: 1623 | m_EditorClassIdentifier: 1624 | m_IgnoreLayout: 0 1625 | m_MinWidth: -1 1626 | m_MinHeight: -1 1627 | m_PreferredWidth: 200 1628 | m_PreferredHeight: 50 1629 | m_FlexibleWidth: -1 1630 | m_FlexibleHeight: -1 1631 | m_LayoutPriority: 1 1632 | --- !u!114 &1669796139 1633 | MonoBehaviour: 1634 | m_ObjectHideFlags: 0 1635 | m_CorrespondingSourceObject: {fileID: 0} 1636 | m_PrefabInstance: {fileID: 0} 1637 | m_PrefabAsset: {fileID: 0} 1638 | m_GameObject: {fileID: 1669796136} 1639 | m_Enabled: 1 1640 | m_EditorHideFlags: 0 1641 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 1642 | m_Name: 1643 | m_EditorClassIdentifier: 1644 | m_Navigation: 1645 | m_Mode: 3 1646 | m_WrapAround: 0 1647 | m_SelectOnUp: {fileID: 0} 1648 | m_SelectOnDown: {fileID: 0} 1649 | m_SelectOnLeft: {fileID: 0} 1650 | m_SelectOnRight: {fileID: 0} 1651 | m_Transition: 1 1652 | m_Colors: 1653 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1654 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1655 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1656 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1657 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1658 | m_ColorMultiplier: 1 1659 | m_FadeDuration: 0.1 1660 | m_SpriteState: 1661 | m_HighlightedSprite: {fileID: 0} 1662 | m_PressedSprite: {fileID: 0} 1663 | m_SelectedSprite: {fileID: 0} 1664 | m_DisabledSprite: {fileID: 0} 1665 | m_AnimationTriggers: 1666 | m_NormalTrigger: Normal 1667 | m_HighlightedTrigger: Highlighted 1668 | m_PressedTrigger: Pressed 1669 | m_SelectedTrigger: Selected 1670 | m_DisabledTrigger: Disabled 1671 | m_Interactable: 0 1672 | m_TargetGraphic: {fileID: 1669796140} 1673 | m_OnClick: 1674 | m_PersistentCalls: 1675 | m_Calls: [] 1676 | --- !u!114 &1669796140 1677 | MonoBehaviour: 1678 | m_ObjectHideFlags: 0 1679 | m_CorrespondingSourceObject: {fileID: 0} 1680 | m_PrefabInstance: {fileID: 0} 1681 | m_PrefabAsset: {fileID: 0} 1682 | m_GameObject: {fileID: 1669796136} 1683 | m_Enabled: 1 1684 | m_EditorHideFlags: 0 1685 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1686 | m_Name: 1687 | m_EditorClassIdentifier: 1688 | m_Material: {fileID: 0} 1689 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1690 | m_RaycastTarget: 1 1691 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1692 | m_Maskable: 1 1693 | m_OnCullStateChanged: 1694 | m_PersistentCalls: 1695 | m_Calls: [] 1696 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1697 | m_Type: 1 1698 | m_PreserveAspect: 0 1699 | m_FillCenter: 1 1700 | m_FillMethod: 4 1701 | m_FillAmount: 1 1702 | m_FillClockwise: 1 1703 | m_FillOrigin: 0 1704 | m_UseSpriteMesh: 0 1705 | m_PixelsPerUnitMultiplier: 1 1706 | --- !u!222 &1669796141 1707 | CanvasRenderer: 1708 | m_ObjectHideFlags: 0 1709 | m_CorrespondingSourceObject: {fileID: 0} 1710 | m_PrefabInstance: {fileID: 0} 1711 | m_PrefabAsset: {fileID: 0} 1712 | m_GameObject: {fileID: 1669796136} 1713 | m_CullTransparentMesh: 1 1714 | --- !u!1 &1756129711 1715 | GameObject: 1716 | m_ObjectHideFlags: 0 1717 | m_CorrespondingSourceObject: {fileID: 0} 1718 | m_PrefabInstance: {fileID: 0} 1719 | m_PrefabAsset: {fileID: 0} 1720 | serializedVersion: 6 1721 | m_Component: 1722 | - component: {fileID: 1756129712} 1723 | - component: {fileID: 1756129714} 1724 | - component: {fileID: 1756129713} 1725 | m_Layer: 5 1726 | m_Name: Text 1727 | m_TagString: Untagged 1728 | m_Icon: {fileID: 0} 1729 | m_NavMeshLayer: 0 1730 | m_StaticEditorFlags: 0 1731 | m_IsActive: 1 1732 | --- !u!224 &1756129712 1733 | RectTransform: 1734 | m_ObjectHideFlags: 0 1735 | m_CorrespondingSourceObject: {fileID: 0} 1736 | m_PrefabInstance: {fileID: 0} 1737 | m_PrefabAsset: {fileID: 0} 1738 | m_GameObject: {fileID: 1756129711} 1739 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1740 | m_LocalPosition: {x: 0, y: 0, z: 0} 1741 | m_LocalScale: {x: 1, y: 1, z: 1} 1742 | m_Children: [] 1743 | m_Father: {fileID: 286105921} 1744 | m_RootOrder: 0 1745 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1746 | m_AnchorMin: {x: 0, y: 0} 1747 | m_AnchorMax: {x: 1, y: 1} 1748 | m_AnchoredPosition: {x: 0, y: 0} 1749 | m_SizeDelta: {x: 0, y: 0} 1750 | m_Pivot: {x: 0.5, y: 0.5} 1751 | --- !u!114 &1756129713 1752 | MonoBehaviour: 1753 | m_ObjectHideFlags: 0 1754 | m_CorrespondingSourceObject: {fileID: 0} 1755 | m_PrefabInstance: {fileID: 0} 1756 | m_PrefabAsset: {fileID: 0} 1757 | m_GameObject: {fileID: 1756129711} 1758 | m_Enabled: 1 1759 | m_EditorHideFlags: 0 1760 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1761 | m_Name: 1762 | m_EditorClassIdentifier: 1763 | m_Material: {fileID: 0} 1764 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1765 | m_RaycastTarget: 1 1766 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1767 | m_Maskable: 1 1768 | m_OnCullStateChanged: 1769 | m_PersistentCalls: 1770 | m_Calls: [] 1771 | m_FontData: 1772 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1773 | m_FontSize: 14 1774 | m_FontStyle: 0 1775 | m_BestFit: 0 1776 | m_MinSize: 10 1777 | m_MaxSize: 40 1778 | m_Alignment: 4 1779 | m_AlignByGeometry: 0 1780 | m_RichText: 1 1781 | m_HorizontalOverflow: 0 1782 | m_VerticalOverflow: 0 1783 | m_LineSpacing: 1 1784 | m_Text: Login 1785 | --- !u!222 &1756129714 1786 | CanvasRenderer: 1787 | m_ObjectHideFlags: 0 1788 | m_CorrespondingSourceObject: {fileID: 0} 1789 | m_PrefabInstance: {fileID: 0} 1790 | m_PrefabAsset: {fileID: 0} 1791 | m_GameObject: {fileID: 1756129711} 1792 | m_CullTransparentMesh: 1 1793 | --- !u!1 &1884059680 1794 | GameObject: 1795 | m_ObjectHideFlags: 0 1796 | m_CorrespondingSourceObject: {fileID: 0} 1797 | m_PrefabInstance: {fileID: 0} 1798 | m_PrefabAsset: {fileID: 0} 1799 | serializedVersion: 6 1800 | m_Component: 1801 | - component: {fileID: 1884059683} 1802 | - component: {fileID: 1884059682} 1803 | - component: {fileID: 1884059681} 1804 | m_Layer: 0 1805 | m_Name: EventSystem 1806 | m_TagString: Untagged 1807 | m_Icon: {fileID: 0} 1808 | m_NavMeshLayer: 0 1809 | m_StaticEditorFlags: 0 1810 | m_IsActive: 1 1811 | --- !u!114 &1884059681 1812 | MonoBehaviour: 1813 | m_ObjectHideFlags: 0 1814 | m_CorrespondingSourceObject: {fileID: 0} 1815 | m_PrefabInstance: {fileID: 0} 1816 | m_PrefabAsset: {fileID: 0} 1817 | m_GameObject: {fileID: 1884059680} 1818 | m_Enabled: 1 1819 | m_EditorHideFlags: 0 1820 | m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} 1821 | m_Name: 1822 | m_EditorClassIdentifier: 1823 | m_HorizontalAxis: Horizontal 1824 | m_VerticalAxis: Vertical 1825 | m_SubmitButton: Submit 1826 | m_CancelButton: Cancel 1827 | m_InputActionsPerSecond: 10 1828 | m_RepeatDelay: 0.5 1829 | m_ForceModuleActive: 0 1830 | --- !u!114 &1884059682 1831 | MonoBehaviour: 1832 | m_ObjectHideFlags: 0 1833 | m_CorrespondingSourceObject: {fileID: 0} 1834 | m_PrefabInstance: {fileID: 0} 1835 | m_PrefabAsset: {fileID: 0} 1836 | m_GameObject: {fileID: 1884059680} 1837 | m_Enabled: 1 1838 | m_EditorHideFlags: 0 1839 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} 1840 | m_Name: 1841 | m_EditorClassIdentifier: 1842 | m_FirstSelected: {fileID: 0} 1843 | m_sendNavigationEvents: 1 1844 | m_DragThreshold: 10 1845 | --- !u!4 &1884059683 1846 | Transform: 1847 | m_ObjectHideFlags: 0 1848 | m_CorrespondingSourceObject: {fileID: 0} 1849 | m_PrefabInstance: {fileID: 0} 1850 | m_PrefabAsset: {fileID: 0} 1851 | m_GameObject: {fileID: 1884059680} 1852 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1853 | m_LocalPosition: {x: 0, y: 0, z: 0} 1854 | m_LocalScale: {x: 1, y: 1, z: 1} 1855 | m_Children: [] 1856 | m_Father: {fileID: 0} 1857 | m_RootOrder: 3 1858 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1859 | --- !u!1 &1915030740 1860 | GameObject: 1861 | m_ObjectHideFlags: 0 1862 | m_CorrespondingSourceObject: {fileID: 0} 1863 | m_PrefabInstance: {fileID: 0} 1864 | m_PrefabAsset: {fileID: 0} 1865 | serializedVersion: 6 1866 | m_Component: 1867 | - component: {fileID: 1915030741} 1868 | - component: {fileID: 1915030745} 1869 | - component: {fileID: 1915030744} 1870 | - component: {fileID: 1915030743} 1871 | - component: {fileID: 1915030742} 1872 | m_Layer: 5 1873 | m_Name: Button_Accelerometer 1874 | m_TagString: Untagged 1875 | m_Icon: {fileID: 0} 1876 | m_NavMeshLayer: 0 1877 | m_StaticEditorFlags: 0 1878 | m_IsActive: 1 1879 | --- !u!224 &1915030741 1880 | RectTransform: 1881 | m_ObjectHideFlags: 0 1882 | m_CorrespondingSourceObject: {fileID: 0} 1883 | m_PrefabInstance: {fileID: 0} 1884 | m_PrefabAsset: {fileID: 0} 1885 | m_GameObject: {fileID: 1915030740} 1886 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1887 | m_LocalPosition: {x: 0, y: 0, z: 0} 1888 | m_LocalScale: {x: 1, y: 1, z: 1} 1889 | m_Children: 1890 | - {fileID: 784068947} 1891 | m_Father: {fileID: 145910737} 1892 | m_RootOrder: 6 1893 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1894 | m_AnchorMin: {x: 0, y: 0} 1895 | m_AnchorMax: {x: 0, y: 0} 1896 | m_AnchoredPosition: {x: 0, y: 0} 1897 | m_SizeDelta: {x: 0, y: 0} 1898 | m_Pivot: {x: 0.5, y: 0.5} 1899 | --- !u!114 &1915030742 1900 | MonoBehaviour: 1901 | m_ObjectHideFlags: 0 1902 | m_CorrespondingSourceObject: {fileID: 0} 1903 | m_PrefabInstance: {fileID: 0} 1904 | m_PrefabAsset: {fileID: 0} 1905 | m_GameObject: {fileID: 1915030740} 1906 | m_Enabled: 1 1907 | m_EditorHideFlags: 0 1908 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 1909 | m_Name: 1910 | m_EditorClassIdentifier: 1911 | m_IgnoreLayout: 0 1912 | m_MinWidth: -1 1913 | m_MinHeight: -1 1914 | m_PreferredWidth: 200 1915 | m_PreferredHeight: 50 1916 | m_FlexibleWidth: -1 1917 | m_FlexibleHeight: -1 1918 | m_LayoutPriority: 1 1919 | --- !u!114 &1915030743 1920 | MonoBehaviour: 1921 | m_ObjectHideFlags: 0 1922 | m_CorrespondingSourceObject: {fileID: 0} 1923 | m_PrefabInstance: {fileID: 0} 1924 | m_PrefabAsset: {fileID: 0} 1925 | m_GameObject: {fileID: 1915030740} 1926 | m_Enabled: 1 1927 | m_EditorHideFlags: 0 1928 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 1929 | m_Name: 1930 | m_EditorClassIdentifier: 1931 | m_Navigation: 1932 | m_Mode: 3 1933 | m_WrapAround: 0 1934 | m_SelectOnUp: {fileID: 0} 1935 | m_SelectOnDown: {fileID: 0} 1936 | m_SelectOnLeft: {fileID: 0} 1937 | m_SelectOnRight: {fileID: 0} 1938 | m_Transition: 1 1939 | m_Colors: 1940 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1941 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1942 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1943 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1944 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1945 | m_ColorMultiplier: 1 1946 | m_FadeDuration: 0.1 1947 | m_SpriteState: 1948 | m_HighlightedSprite: {fileID: 0} 1949 | m_PressedSprite: {fileID: 0} 1950 | m_SelectedSprite: {fileID: 0} 1951 | m_DisabledSprite: {fileID: 0} 1952 | m_AnimationTriggers: 1953 | m_NormalTrigger: Normal 1954 | m_HighlightedTrigger: Highlighted 1955 | m_PressedTrigger: Pressed 1956 | m_SelectedTrigger: Selected 1957 | m_DisabledTrigger: Disabled 1958 | m_Interactable: 0 1959 | m_TargetGraphic: {fileID: 1915030744} 1960 | m_OnClick: 1961 | m_PersistentCalls: 1962 | m_Calls: [] 1963 | --- !u!114 &1915030744 1964 | MonoBehaviour: 1965 | m_ObjectHideFlags: 0 1966 | m_CorrespondingSourceObject: {fileID: 0} 1967 | m_PrefabInstance: {fileID: 0} 1968 | m_PrefabAsset: {fileID: 0} 1969 | m_GameObject: {fileID: 1915030740} 1970 | m_Enabled: 1 1971 | m_EditorHideFlags: 0 1972 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1973 | m_Name: 1974 | m_EditorClassIdentifier: 1975 | m_Material: {fileID: 0} 1976 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1977 | m_RaycastTarget: 1 1978 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1979 | m_Maskable: 1 1980 | m_OnCullStateChanged: 1981 | m_PersistentCalls: 1982 | m_Calls: [] 1983 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1984 | m_Type: 1 1985 | m_PreserveAspect: 0 1986 | m_FillCenter: 1 1987 | m_FillMethod: 4 1988 | m_FillAmount: 1 1989 | m_FillClockwise: 1 1990 | m_FillOrigin: 0 1991 | m_UseSpriteMesh: 0 1992 | m_PixelsPerUnitMultiplier: 1 1993 | --- !u!222 &1915030745 1994 | CanvasRenderer: 1995 | m_ObjectHideFlags: 0 1996 | m_CorrespondingSourceObject: {fileID: 0} 1997 | m_PrefabInstance: {fileID: 0} 1998 | m_PrefabAsset: {fileID: 0} 1999 | m_GameObject: {fileID: 1915030740} 2000 | m_CullTransparentMesh: 1 2001 | --- !u!1 &1960665900 2002 | GameObject: 2003 | m_ObjectHideFlags: 0 2004 | m_CorrespondingSourceObject: {fileID: 0} 2005 | m_PrefabInstance: {fileID: 0} 2006 | m_PrefabAsset: {fileID: 0} 2007 | serializedVersion: 6 2008 | m_Component: 2009 | - component: {fileID: 1960665901} 2010 | - component: {fileID: 1960665903} 2011 | - component: {fileID: 1960665902} 2012 | m_Layer: 5 2013 | m_Name: Text 2014 | m_TagString: Untagged 2015 | m_Icon: {fileID: 0} 2016 | m_NavMeshLayer: 0 2017 | m_StaticEditorFlags: 0 2018 | m_IsActive: 1 2019 | --- !u!224 &1960665901 2020 | RectTransform: 2021 | m_ObjectHideFlags: 0 2022 | m_CorrespondingSourceObject: {fileID: 0} 2023 | m_PrefabInstance: {fileID: 0} 2024 | m_PrefabAsset: {fileID: 0} 2025 | m_GameObject: {fileID: 1960665900} 2026 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2027 | m_LocalPosition: {x: 0, y: 0, z: 0} 2028 | m_LocalScale: {x: 1, y: 1, z: 1} 2029 | m_Children: [] 2030 | m_Father: {fileID: 117648662} 2031 | m_RootOrder: 0 2032 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2033 | m_AnchorMin: {x: 0, y: 0} 2034 | m_AnchorMax: {x: 1, y: 1} 2035 | m_AnchoredPosition: {x: 0, y: 0} 2036 | m_SizeDelta: {x: 0, y: 0} 2037 | m_Pivot: {x: 0.5, y: 0.5} 2038 | --- !u!114 &1960665902 2039 | MonoBehaviour: 2040 | m_ObjectHideFlags: 0 2041 | m_CorrespondingSourceObject: {fileID: 0} 2042 | m_PrefabInstance: {fileID: 0} 2043 | m_PrefabAsset: {fileID: 0} 2044 | m_GameObject: {fileID: 1960665900} 2045 | m_Enabled: 1 2046 | m_EditorHideFlags: 0 2047 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 2048 | m_Name: 2049 | m_EditorClassIdentifier: 2050 | m_Material: {fileID: 0} 2051 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 2052 | m_RaycastTarget: 1 2053 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2054 | m_Maskable: 1 2055 | m_OnCullStateChanged: 2056 | m_PersistentCalls: 2057 | m_Calls: [] 2058 | m_FontData: 2059 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 2060 | m_FontSize: 14 2061 | m_FontStyle: 0 2062 | m_BestFit: 0 2063 | m_MinSize: 10 2064 | m_MaxSize: 40 2065 | m_Alignment: 4 2066 | m_AlignByGeometry: 0 2067 | m_RichText: 1 2068 | m_HorizontalOverflow: 0 2069 | m_VerticalOverflow: 0 2070 | m_LineSpacing: 1 2071 | m_Text: Subscribe to Focus 2072 | --- !u!222 &1960665903 2073 | CanvasRenderer: 2074 | m_ObjectHideFlags: 0 2075 | m_CorrespondingSourceObject: {fileID: 0} 2076 | m_PrefabInstance: {fileID: 0} 2077 | m_PrefabAsset: {fileID: 0} 2078 | m_GameObject: {fileID: 1960665900} 2079 | m_CullTransparentMesh: 1 2080 | --- !u!1 &2044767451 2081 | GameObject: 2082 | m_ObjectHideFlags: 0 2083 | m_CorrespondingSourceObject: {fileID: 0} 2084 | m_PrefabInstance: {fileID: 0} 2085 | m_PrefabAsset: {fileID: 0} 2086 | serializedVersion: 6 2087 | m_Component: 2088 | - component: {fileID: 2044767452} 2089 | - component: {fileID: 2044767454} 2090 | - component: {fileID: 2044767453} 2091 | m_Layer: 5 2092 | m_Name: Text 2093 | m_TagString: Untagged 2094 | m_Icon: {fileID: 0} 2095 | m_NavMeshLayer: 0 2096 | m_StaticEditorFlags: 0 2097 | m_IsActive: 1 2098 | --- !u!224 &2044767452 2099 | RectTransform: 2100 | m_ObjectHideFlags: 0 2101 | m_CorrespondingSourceObject: {fileID: 0} 2102 | m_PrefabInstance: {fileID: 0} 2103 | m_PrefabAsset: {fileID: 0} 2104 | m_GameObject: {fileID: 2044767451} 2105 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2106 | m_LocalPosition: {x: 0, y: 0, z: 0} 2107 | m_LocalScale: {x: 1, y: 1, z: 1} 2108 | m_Children: [] 2109 | m_Father: {fileID: 1333640254} 2110 | m_RootOrder: 0 2111 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2112 | m_AnchorMin: {x: 0, y: 0} 2113 | m_AnchorMax: {x: 1, y: 1} 2114 | m_AnchoredPosition: {x: 0, y: 0} 2115 | m_SizeDelta: {x: 0, y: 0} 2116 | m_Pivot: {x: 0.5, y: 0.5} 2117 | --- !u!114 &2044767453 2118 | MonoBehaviour: 2119 | m_ObjectHideFlags: 0 2120 | m_CorrespondingSourceObject: {fileID: 0} 2121 | m_PrefabInstance: {fileID: 0} 2122 | m_PrefabAsset: {fileID: 0} 2123 | m_GameObject: {fileID: 2044767451} 2124 | m_Enabled: 1 2125 | m_EditorHideFlags: 0 2126 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 2127 | m_Name: 2128 | m_EditorClassIdentifier: 2129 | m_Material: {fileID: 0} 2130 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 2131 | m_RaycastTarget: 1 2132 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2133 | m_Maskable: 1 2134 | m_OnCullStateChanged: 2135 | m_PersistentCalls: 2136 | m_Calls: [] 2137 | m_FontData: 2138 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 2139 | m_FontSize: 14 2140 | m_FontStyle: 0 2141 | m_BestFit: 0 2142 | m_MinSize: 10 2143 | m_MaxSize: 40 2144 | m_Alignment: 4 2145 | m_AlignByGeometry: 0 2146 | m_RichText: 1 2147 | m_HorizontalOverflow: 0 2148 | m_VerticalOverflow: 0 2149 | m_LineSpacing: 1 2150 | m_Text: Print Device Status 2151 | --- !u!222 &2044767454 2152 | CanvasRenderer: 2153 | m_ObjectHideFlags: 0 2154 | m_CorrespondingSourceObject: {fileID: 0} 2155 | m_PrefabInstance: {fileID: 0} 2156 | m_PrefabAsset: {fileID: 0} 2157 | m_GameObject: {fileID: 2044767451} 2158 | m_CullTransparentMesh: 1 2159 | --- !u!1 &2121112166 2160 | GameObject: 2161 | m_ObjectHideFlags: 0 2162 | m_CorrespondingSourceObject: {fileID: 0} 2163 | m_PrefabInstance: {fileID: 0} 2164 | m_PrefabAsset: {fileID: 0} 2165 | serializedVersion: 6 2166 | m_Component: 2167 | - component: {fileID: 2121112167} 2168 | - component: {fileID: 2121112171} 2169 | - component: {fileID: 2121112170} 2170 | - component: {fileID: 2121112169} 2171 | - component: {fileID: 2121112168} 2172 | m_Layer: 5 2173 | m_Name: Button_Kinesis 2174 | m_TagString: Untagged 2175 | m_Icon: {fileID: 0} 2176 | m_NavMeshLayer: 0 2177 | m_StaticEditorFlags: 0 2178 | m_IsActive: 1 2179 | --- !u!224 &2121112167 2180 | RectTransform: 2181 | m_ObjectHideFlags: 0 2182 | m_CorrespondingSourceObject: {fileID: 0} 2183 | m_PrefabInstance: {fileID: 0} 2184 | m_PrefabAsset: {fileID: 0} 2185 | m_GameObject: {fileID: 2121112166} 2186 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2187 | m_LocalPosition: {x: 0, y: 0, z: 0} 2188 | m_LocalScale: {x: 1, y: 1, z: 1} 2189 | m_Children: 2190 | - {fileID: 1292337076} 2191 | m_Father: {fileID: 145910737} 2192 | m_RootOrder: 7 2193 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2194 | m_AnchorMin: {x: 0, y: 0} 2195 | m_AnchorMax: {x: 0, y: 0} 2196 | m_AnchoredPosition: {x: 0, y: 0} 2197 | m_SizeDelta: {x: 0, y: 0} 2198 | m_Pivot: {x: 0.5, y: 0.5} 2199 | --- !u!114 &2121112168 2200 | MonoBehaviour: 2201 | m_ObjectHideFlags: 0 2202 | m_CorrespondingSourceObject: {fileID: 0} 2203 | m_PrefabInstance: {fileID: 0} 2204 | m_PrefabAsset: {fileID: 0} 2205 | m_GameObject: {fileID: 2121112166} 2206 | m_Enabled: 1 2207 | m_EditorHideFlags: 0 2208 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} 2209 | m_Name: 2210 | m_EditorClassIdentifier: 2211 | m_IgnoreLayout: 0 2212 | m_MinWidth: -1 2213 | m_MinHeight: -1 2214 | m_PreferredWidth: 200 2215 | m_PreferredHeight: 50 2216 | m_FlexibleWidth: -1 2217 | m_FlexibleHeight: -1 2218 | m_LayoutPriority: 1 2219 | --- !u!114 &2121112169 2220 | MonoBehaviour: 2221 | m_ObjectHideFlags: 0 2222 | m_CorrespondingSourceObject: {fileID: 0} 2223 | m_PrefabInstance: {fileID: 0} 2224 | m_PrefabAsset: {fileID: 0} 2225 | m_GameObject: {fileID: 2121112166} 2226 | m_Enabled: 1 2227 | m_EditorHideFlags: 0 2228 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 2229 | m_Name: 2230 | m_EditorClassIdentifier: 2231 | m_Navigation: 2232 | m_Mode: 3 2233 | m_WrapAround: 0 2234 | m_SelectOnUp: {fileID: 0} 2235 | m_SelectOnDown: {fileID: 0} 2236 | m_SelectOnLeft: {fileID: 0} 2237 | m_SelectOnRight: {fileID: 0} 2238 | m_Transition: 1 2239 | m_Colors: 2240 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 2241 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 2242 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 2243 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 2244 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 2245 | m_ColorMultiplier: 1 2246 | m_FadeDuration: 0.1 2247 | m_SpriteState: 2248 | m_HighlightedSprite: {fileID: 0} 2249 | m_PressedSprite: {fileID: 0} 2250 | m_SelectedSprite: {fileID: 0} 2251 | m_DisabledSprite: {fileID: 0} 2252 | m_AnimationTriggers: 2253 | m_NormalTrigger: Normal 2254 | m_HighlightedTrigger: Highlighted 2255 | m_PressedTrigger: Pressed 2256 | m_SelectedTrigger: Selected 2257 | m_DisabledTrigger: Disabled 2258 | m_Interactable: 0 2259 | m_TargetGraphic: {fileID: 2121112170} 2260 | m_OnClick: 2261 | m_PersistentCalls: 2262 | m_Calls: [] 2263 | --- !u!114 &2121112170 2264 | MonoBehaviour: 2265 | m_ObjectHideFlags: 0 2266 | m_CorrespondingSourceObject: {fileID: 0} 2267 | m_PrefabInstance: {fileID: 0} 2268 | m_PrefabAsset: {fileID: 0} 2269 | m_GameObject: {fileID: 2121112166} 2270 | m_Enabled: 1 2271 | m_EditorHideFlags: 0 2272 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 2273 | m_Name: 2274 | m_EditorClassIdentifier: 2275 | m_Material: {fileID: 0} 2276 | m_Color: {r: 1, g: 1, b: 1, a: 1} 2277 | m_RaycastTarget: 1 2278 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2279 | m_Maskable: 1 2280 | m_OnCullStateChanged: 2281 | m_PersistentCalls: 2282 | m_Calls: [] 2283 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 2284 | m_Type: 1 2285 | m_PreserveAspect: 0 2286 | m_FillCenter: 1 2287 | m_FillMethod: 4 2288 | m_FillAmount: 1 2289 | m_FillClockwise: 1 2290 | m_FillOrigin: 0 2291 | m_UseSpriteMesh: 0 2292 | m_PixelsPerUnitMultiplier: 1 2293 | --- !u!222 &2121112171 2294 | CanvasRenderer: 2295 | m_ObjectHideFlags: 0 2296 | m_CorrespondingSourceObject: {fileID: 0} 2297 | m_PrefabInstance: {fileID: 0} 2298 | m_PrefabAsset: {fileID: 0} 2299 | m_GameObject: {fileID: 2121112166} 2300 | m_CullTransparentMesh: 1 2301 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Example/NotionExample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e356d1c5929c2c44cbd37a941eeafee9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Example/NotionTester.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Threading.Tasks; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | namespace Notion.Unity.Example 7 | { 8 | public class NotionTester : MonoBehaviour 9 | { 10 | [SerializeField] 11 | private Device _device; 12 | 13 | [SerializeField] 14 | Button _buttonLogin; 15 | 16 | [SerializeField] 17 | Button _buttonGetDevices; 18 | 19 | [SerializeField] 20 | Button _buttonGetStatus; 21 | 22 | [SerializeField] 23 | Button _buttonSubscribeCalm; 24 | 25 | [SerializeField] 26 | Button _buttonSubscribeFocus; 27 | 28 | [SerializeField] 29 | Button _buttonSubscribeRawBrainwaves; 30 | 31 | [SerializeField] 32 | Button _buttonSubscribeAccelerometer; 33 | 34 | [SerializeField] 35 | Button _buttonSubscribeKinesis; 36 | 37 | [SerializeField] 38 | Text _textKinesisProbability; 39 | 40 | FirebaseController _controller; 41 | Notion _notion; 42 | 43 | private void OnEnable() 44 | { 45 | if (_device == null) 46 | { 47 | Debug.LogError("Provide a device device instance. Assets -> Create -> Device", this); 48 | return; 49 | } 50 | if (!_device.IsValid) 51 | { 52 | Debug.LogError("Provide a valid device.", this); 53 | return; 54 | } 55 | 56 | _buttonLogin.onClick.AddListener(() => 57 | { 58 | _buttonLogin.interactable = false; 59 | 60 | if (_notion != null && _notion.IsLoggedIn) 61 | { 62 | Logout(); 63 | } 64 | else 65 | { 66 | Login(); 67 | } 68 | }); 69 | 70 | _buttonGetDevices.onClick.AddListener(() => GetDevices()); 71 | _buttonGetStatus.onClick.AddListener(() => GetStatus()); 72 | _buttonSubscribeCalm.onClick.AddListener(() => SubscribeCalm()); 73 | _buttonSubscribeFocus.onClick.AddListener(() => SubscribeFocus()); 74 | _buttonSubscribeRawBrainwaves.onClick.AddListener(() => SubscribeBrainwaves()); 75 | _buttonSubscribeAccelerometer.onClick.AddListener(() => SubscribeAccelerometer()); 76 | _buttonSubscribeKinesis.onClick.AddListener(() => SubscribeKinesis(kinesisLabel: "leftArm")); 77 | } 78 | 79 | private void SetButtonStates() 80 | { 81 | _buttonLogin.interactable = true; 82 | 83 | string loginButtonText = _notion.IsLoggedIn ? "Logout" : "Login"; 84 | _buttonLogin.GetComponentInChildren().text = loginButtonText; 85 | _buttonGetDevices.interactable = _notion.IsLoggedIn; 86 | _buttonGetStatus.interactable = _notion.IsLoggedIn; 87 | _buttonSubscribeCalm.interactable = _notion.IsLoggedIn; 88 | _buttonSubscribeFocus.interactable = _notion.IsLoggedIn; 89 | _buttonSubscribeRawBrainwaves.interactable = _notion.IsLoggedIn; 90 | _buttonSubscribeAccelerometer.interactable = _notion.IsLoggedIn; 91 | _buttonSubscribeKinesis.interactable = _notion.IsLoggedIn; 92 | _textKinesisProbability.text = _notion.IsLoggedIn ? string.Empty : "[KINESIS PROBABILITY]"; 93 | } 94 | 95 | public async void Login() 96 | { 97 | _controller = new FirebaseController(); 98 | await _controller.Initialize(); 99 | 100 | _notion = new Notion(_controller); 101 | await _notion.Login(_device); 102 | 103 | Debug.Log("Logged in"); 104 | SetButtonStates(); 105 | } 106 | 107 | public async void Logout() 108 | { 109 | await _notion.Logout(); 110 | SetButtonStates(); 111 | _controller = null; 112 | _notion = null; 113 | 114 | Debug.Log("Logged out"); 115 | } 116 | 117 | public async void GetDevices() 118 | { 119 | if (!_notion.IsLoggedIn) return; 120 | var devices = await _notion.GetDevices(); 121 | Debug.Log(JsonConvert.SerializeObject(devices)); 122 | } 123 | 124 | public void GetStatus() 125 | { 126 | if (!_notion.IsLoggedIn) return; 127 | Debug.Log(JsonConvert.SerializeObject(_notion.Status)); 128 | } 129 | 130 | public void SubscribeCalm() 131 | { 132 | if (!_notion.IsLoggedIn) return; 133 | _notion.Subscribe(new CalmHandler()); 134 | Debug.Log("Subscribed to calm"); 135 | } 136 | 137 | public void SubscribeFocus() 138 | { 139 | if (!_notion.IsLoggedIn) return; 140 | _notion.Subscribe(new FocusHandler()); 141 | Debug.Log("Subscribed to focus"); 142 | } 143 | 144 | public void SubscribeBrainwaves() 145 | { 146 | if (!_notion.IsLoggedIn) return; 147 | _notion.Subscribe(new BrainwavesRawHandler()); 148 | Debug.Log("Subscribed to raw brainwaves"); 149 | } 150 | 151 | public void SubscribeAccelerometer() 152 | { 153 | if (!_notion.IsLoggedIn) return; 154 | _notion.Subscribe(new AccelerometerHandler()); 155 | Debug.Log("Subscribed to accelerometer"); 156 | } 157 | 158 | /// 159 | /// Add kinesisLabel based on the thought you're training. 160 | /// For instance: leftArm, rightArm, leftIndexFinger, etc 161 | /// 162 | /// 163 | public void SubscribeKinesis(string kinesisLabel) 164 | { 165 | if (!_notion.IsLoggedIn) return; 166 | 167 | _notion.Subscribe(new KinesisHandler 168 | { 169 | Label = kinesisLabel, 170 | OnKinesisUpdated = (probability) => { 171 | _textKinesisProbability.text = $"{kinesisLabel} : {probability}"; 172 | } 173 | }); 174 | } 175 | 176 | private async void OnDisable() 177 | { 178 | if (_notion == null) return; 179 | if (!_notion.IsLoggedIn) return; 180 | 181 | // Wrapping because Logout is meant to be invoked and forgotten about for use in button callbacks. 182 | await Task.Run(() => Logout()); 183 | Debug.Log($"Logged out from {nameof(OnDisable)}"); 184 | } 185 | } 186 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Example/NotionTester.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b87455ffa07521648897ba19527597d4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/FirebaseController.cs: -------------------------------------------------------------------------------- 1 | using Firebase; 2 | using Firebase.Database; 3 | using Firebase.Auth; 4 | using System; 5 | using UnityEngine; 6 | using System.Threading.Tasks; 7 | 8 | namespace Notion.Unity 9 | { 10 | public class FirebaseController 11 | { 12 | public FirebaseApp App { get; private set; } 13 | public FirebaseApp NotionApp { get; private set; } 14 | public FirebaseDatabase NotionDatabase { get; private set; } 15 | public FirebaseAuth NotionAuth { get; private set; } 16 | 17 | public async Task Initialize() 18 | { 19 | var status = await FirebaseApp.CheckAndFixDependenciesAsync(); 20 | 21 | if (status == DependencyStatus.Available) 22 | { 23 | App = FirebaseApp.DefaultInstance; 24 | 25 | var notionOptions = new AppOptions 26 | { 27 | ApiKey = "AIzaSyB0TkZ83Fj0CIzn8AAmE-Osc92s3ER8hy8", 28 | DatabaseUrl = new Uri("https://neurosity-device.firebaseio.com"), 29 | ProjectId = "neurosity-device", 30 | StorageBucket = "neurosity-device.appspot.com", 31 | MessageSenderId = "212595049674" 32 | }; 33 | NotionApp = FirebaseApp.Create(notionOptions, "notion"); 34 | NotionDatabase = FirebaseDatabase.GetInstance(NotionApp); 35 | NotionAuth = FirebaseAuth.GetAuth(NotionApp); 36 | Debug.Log("Initialized Firebase"); 37 | } 38 | else 39 | { 40 | Debug.LogError($"Could not resolve all Firebase dependencies: {status}"); 41 | } 42 | } 43 | 44 | public async Task Login(Device credentials) 45 | { 46 | return await NotionAuth.SignInWithEmailAndPasswordAsync(credentials.Email, credentials.Password); 47 | } 48 | 49 | public void Logout() 50 | { 51 | NotionDatabase.GoOffline(); 52 | NotionAuth.SignOut(); 53 | NotionAuth.Dispose(); 54 | NotionApp.Dispose(); 55 | App.Dispose(); 56 | 57 | NotionDatabase = null; 58 | NotionAuth = null; 59 | NotionApp = null; 60 | App = null; 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/FirebaseController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e368c77018944824ca489701f9db1f29 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ec24ac0da8f7bb48880788aeef9bd22 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/AccelerometerHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class AccelerometerHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.Accelerometer; 10 | public string Label => string.Empty; 11 | 12 | private readonly StringBuilder _builder; 13 | 14 | public AccelerometerHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | Accelerometer accelerometer = JsonConvert.DeserializeObject(metricData); 22 | 23 | _builder.AppendLine("Handling Accelerometer") 24 | .Append("X: ").AppendLine(accelerometer.X.ToString()) 25 | .Append("Y: ").AppendLine(accelerometer.Y.ToString()) 26 | .Append("Z: ").AppendLine(accelerometer.Z.ToString()); 27 | 28 | Debug.Log(_builder.ToString()); 29 | _builder.Clear(); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/AccelerometerHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e20d8d834860db041b8aa5f753c1fc04 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesPSDHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class BrainwavesPSDHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.Brainwaves; 10 | public string Label => "psd"; 11 | 12 | private readonly StringBuilder _builder; 13 | 14 | public BrainwavesPSDHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | PSD psd = JsonConvert.DeserializeObject(metricData); 22 | 23 | _builder.AppendLine("Handling PSD Brainwaves") 24 | .Append("Label: ").AppendLine(psd.Label) 25 | .Append("Notch Frequency: ").AppendLine(psd.Info.NotchFrequency) 26 | .Append("Sampling Rate: ").AppendLine(psd.Info.SamplingRate.ToString()) 27 | .Append("Star Time: ").AppendLine(psd.Info.StartTime.ToString()); 28 | 29 | Debug.Log(_builder.ToString()); 30 | _builder.Clear(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesPSDHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 065ce1562d694ca49a03efdbe80e2844 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesPowerByBandHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class BrainwavesPowerByBandHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.Brainwaves; 10 | public string Label => "powerByBand"; 11 | 12 | private readonly StringBuilder _builder; 13 | 14 | public BrainwavesPowerByBandHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | PowerByBand powerByBand = JsonConvert.DeserializeObject(metricData); 22 | 23 | _builder.AppendLine("Handling Power By Band Brainwaves") 24 | .Append("Label: ").AppendLine(powerByBand.Label) 25 | .Append("Has Alpha: ").AppendLine((powerByBand.Data.Alpha.Length > 0).ToString()) 26 | .Append("Has Beta: ").AppendLine((powerByBand.Data.Beta.Length > 0).ToString()) 27 | .Append("Has Delta: ").AppendLine((powerByBand.Data.Delta.Length > 0).ToString()) 28 | .Append("Has Gamma: ").AppendLine((powerByBand.Data.Gamma.Length > 0).ToString()) 29 | .Append("Has Theta: ").AppendLine((powerByBand.Data.Theta.Length > 0).ToString()); 30 | 31 | Debug.Log(_builder.ToString()); 32 | _builder.Clear(); 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesPowerByBandHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6acf50364908b054cbff5dba97661663 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesRawHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class BrainwavesRawHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.Brainwaves; 10 | public string Label => "raw"; 11 | 12 | private readonly StringBuilder _builder; 13 | 14 | public BrainwavesRawHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | Epoch epoch = JsonConvert.DeserializeObject(metricData); 22 | 23 | _builder.AppendLine("Handling Raw Brainwaves") 24 | .Append("Label: ").AppendLine(epoch.Label) 25 | .Append("Notch Frequency: ").AppendLine(epoch.Info.NotchFrequency) 26 | .Append("Sampling Rate: ").AppendLine(epoch.Info.SamplingRate.ToString()) 27 | .Append("Star Time: ").AppendLine(epoch.Info.StartTime.ToString()) 28 | .Append("Channel Names: ").AppendLine(string.Join(", ", epoch.Info.ChannelNames)); 29 | 30 | Debug.Log(_builder.ToString()); 31 | _builder.Clear(); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesRawHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d570f42429aff6e4ca6f0db0d834ea5d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesRawUnfilteredHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class BrainwavesRawUnfilteredHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.Brainwaves; 10 | public string Label => "rawUnfiltered"; 11 | 12 | private readonly StringBuilder _builder; 13 | 14 | public BrainwavesRawUnfilteredHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | Epoch epoch = JsonConvert.DeserializeObject(metricData); 22 | 23 | _builder.AppendLine("Handling Raw Unfiltered Brainwaves") 24 | .Append("Label: ").AppendLine(epoch.Label) 25 | .Append("Notch Frequency: ").AppendLine(epoch.Info.NotchFrequency) 26 | .Append("Sampling Rate: ").AppendLine(epoch.Info.SamplingRate.ToString()) 27 | .Append("Star Time: ").AppendLine(epoch.Info.StartTime.ToString()) 28 | .Append("Channel Names: ").AppendLine(string.Join(", ", epoch.Info.ChannelNames)); 29 | 30 | Debug.Log(_builder.ToString()); 31 | _builder.Clear(); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/BrainwavesRawUnfilteredHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df38ed553312e1c4284d184eced46983 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/CalmHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using UnityEngine; 3 | 4 | namespace Notion.Unity 5 | { 6 | public class CalmHandler : IMetricHandler 7 | { 8 | public Metrics Metric => Metrics.Awareness; 9 | public string Label => "calm"; 10 | 11 | public void Handle(string json) 12 | { 13 | BaseMetric metric = JsonConvert.DeserializeObject(json); 14 | Debug.Log($"Handling {metric.Label} : {metric.Probability}"); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/CalmHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 397656f930dbb874eb1a5088eeae25fa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/FocusHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using UnityEngine; 3 | 4 | namespace Notion.Unity 5 | { 6 | public class FocusHandler : IMetricHandler 7 | { 8 | public Metrics Metric => Metrics.Awareness; 9 | public string Label => "focus"; 10 | 11 | public void Handle(string json) 12 | { 13 | BaseMetric metric = JsonConvert.DeserializeObject(json); 14 | Debug.Log($"Handling {metric.Label} : {metric.Probability}"); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/FocusHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e329e3f9be9f2641b17f86f2a8baf60 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/IMetricHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public interface IMetricHandler 4 | { 5 | Metrics Metric { get; } 6 | string Label { get; } 7 | void Handle(string metricData); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/IMetricHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29e6931d27edaf2418807a9c5578e53c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/ISettingsHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public interface ISettingsHandler 4 | { 5 | public void Handle(string data); 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/ISettingsHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4713315e5bfd0b54c8a1ef1f878bac0c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/KinesisHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System; 3 | using System.Linq; 4 | using UnityEngine; 5 | 6 | namespace Notion.Unity 7 | { 8 | public class KinesisHandler : IMetricHandler 9 | { 10 | public Metrics Metric => Metrics.Kinesis; 11 | 12 | public string Label { get; set; } 13 | 14 | public Action OnKinesisUpdated { get; set; } 15 | 16 | public void Handle(string json) 17 | { 18 | Kinesis metric = JsonConvert.DeserializeObject(json); 19 | var prediction = metric.Predictions.FirstOrDefault(); 20 | 21 | if(prediction != null) 22 | { 23 | Debug.Log($"Handling {metric.Label} : Prediction: {prediction.Probability}"); 24 | OnKinesisUpdated?.Invoke(prediction.Probability); 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/KinesisHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7611bde7bf2ce7c41a577a742e49e605 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/MetricExtentions.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace Notion.Unity 4 | { 5 | public static class MetricExtentions 6 | { 7 | public static string GetMetricDescription(this Metrics metric) 8 | { 9 | string metricName = metric.ToString(); 10 | var info = metric.GetType().GetField(metricName); 11 | var attributes = info.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[]; 12 | 13 | string description; 14 | if (attributes != null && attributes.Length > 0) description = attributes[0].Description; 15 | else description = metricName.ToLower(); 16 | 17 | return description; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/MetricExtentions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6709aa1f271ffef4e8adb66a61bebebf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/Metrics.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace Notion.Unity 4 | { 5 | public enum Metrics 6 | { 7 | Awareness, 8 | Kinesis, 9 | Brainwaves, 10 | Accelerometer, 11 | [Description("signalQuality")] 12 | SignalQuality 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/Metrics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59d2d545fb243674682e25ffd3daec0e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/SettingsHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using UnityEngine; 3 | 4 | namespace Notion.Unity 5 | { 6 | public class SettingsHandler : ISettingsHandler 7 | { 8 | public void Handle(string data) 9 | { 10 | Debug.Log(data); 11 | //Debug.Log(JsonConvert.DeserializeObject(data)); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/SettingsHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae534e7651c7cb042bfc29eeb6df958e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/SignalQualityHandler.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Text; 3 | using UnityEngine; 4 | 5 | namespace Notion.Unity 6 | { 7 | public class SignalQualityHandler : IMetricHandler 8 | { 9 | public Metrics Metric => Metrics.SignalQuality; 10 | public string Label => string.Empty; 11 | 12 | private StringBuilder _builder; 13 | 14 | public SignalQualityHandler() 15 | { 16 | _builder = new StringBuilder(); 17 | } 18 | 19 | public void Handle(string metricData) 20 | { 21 | var channelQuality = JsonConvert.DeserializeObject(metricData); 22 | foreach(var channel in channelQuality) 23 | { 24 | _builder.Append("Quality - ").AppendLine(channel.Status.ToString()); 25 | } 26 | 27 | Debug.Log(_builder.ToString()); 28 | _builder.Clear(); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Handlers/SignalQualityHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f88c21a17cfbac4083f74412e01b7e7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/NeurosityUser.cs: -------------------------------------------------------------------------------- 1 | using Firebase.Auth; 2 | using Firebase.Database; 3 | using Newtonsoft.Json; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | 8 | namespace Notion.Unity 9 | { 10 | public class NeurosityUser 11 | { 12 | public bool IsLoggedIn { get; private set; } 13 | public string UserId { get; private set; } 14 | 15 | private readonly FirebaseController _firebase; 16 | private readonly FirebaseUser _firebaseUsers; 17 | private readonly DatabaseReference _devicesReference; 18 | 19 | private DatabaseReference _deviceRef; 20 | 21 | public NeurosityUser(FirebaseUser firebaseUser, FirebaseController firebase) 22 | { 23 | _firebase = firebase; 24 | _firebaseUsers = firebaseUser; 25 | UserId = _firebaseUsers.UserId; 26 | _devicesReference = _firebase.NotionDatabase.GetReference($"users/{UserId}/devices"); 27 | } 28 | 29 | public async Task> GetDevices() 30 | { 31 | var devicesSnapshot = await _devicesReference.GetValueAsync(); 32 | 33 | Dictionary registeredDevices = devicesSnapshot.Value as Dictionary; 34 | if (registeredDevices == null) return null; 35 | 36 | var deviceKeys = registeredDevices.Keys; 37 | List devicesInfo = new List(deviceKeys.Count); 38 | 39 | foreach (string deviceId in deviceKeys) 40 | { 41 | var infoSnapshot = await _firebase.NotionDatabase. 42 | GetReference($"devices/{deviceId}/info").GetValueAsync(); 43 | 44 | string json = infoSnapshot.GetRawJsonValue(); 45 | DeviceInfo info = JsonConvert.DeserializeObject(json); 46 | devicesInfo.Add(info); 47 | } 48 | 49 | return devicesInfo; 50 | } 51 | 52 | public async Task GetSelectedDevice() 53 | { 54 | var devices = await GetDevices(); 55 | DeviceInfo selectedDevice = devices.FirstOrDefault(); 56 | _deviceRef = _firebase.NotionDatabase.GetReference($"devices/{selectedDevice.DeviceId}"); 57 | return selectedDevice; 58 | } 59 | 60 | public async Task GetSelectedDeviceStatus() 61 | { 62 | var selectedDevice = await GetSelectedDevice(); 63 | 64 | var statusSnapshot = await _firebase.NotionDatabase. 65 | GetReference($"devices/{selectedDevice.DeviceId}/status").GetValueAsync(); 66 | string json = statusSnapshot.GetRawJsonValue(); 67 | 68 | return JsonConvert.DeserializeObject(json); 69 | } 70 | 71 | public async Task UpdateSettings(Settings settings) 72 | { 73 | if (_deviceRef == null) return; 74 | await _deviceRef.Child("settings").SetValueAsync(settings.ToDictionary()); 75 | } 76 | 77 | public async Task RemoveDevice(string deviceId) 78 | { 79 | string claimedByPath = $"devices/{deviceId}/status/claimedBy"; 80 | string userDevicePath = $"users/{UserId}/devices/{deviceId}"; 81 | var claimedByRef = _firebase.NotionDatabase.GetReference(claimedByPath); 82 | var userDeviceRef = _firebase.NotionDatabase.GetReference(userDevicePath); 83 | 84 | await claimedByRef.RemoveValueAsync(); 85 | await userDeviceRef.RemoveValueAsync(); 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/NeurosityUser.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82f6d8f16f8b2be46bd447a06affc204 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Notion.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace Notion.Unity 5 | { 6 | public class Notion 7 | { 8 | public bool IsLoggedIn { get; private set; } 9 | public DeviceStatus Status { get; private set; } 10 | 11 | private readonly FirebaseController _firebase; 12 | private SubscriptionManager _subscriptionManager; 13 | private NeurosityUser _user; 14 | 15 | public Notion(FirebaseController firebaseController) 16 | { 17 | _firebase = firebaseController; 18 | } 19 | 20 | public async Task Login(Device credientials) 21 | { 22 | var u = await _firebase.Login(credientials); 23 | _user = new NeurosityUser(u, _firebase); 24 | _subscriptionManager = new SubscriptionManager(_firebase, credientials, _user); 25 | 26 | Status = await _user.GetSelectedDeviceStatus(); 27 | 28 | IsLoggedIn = true; 29 | } 30 | 31 | public async Task Logout() 32 | { 33 | await _subscriptionManager.Dispose(); 34 | _firebase.Logout(); 35 | IsLoggedIn = false; 36 | } 37 | 38 | public async Task> GetDevices() 39 | { 40 | return await _user.GetDevices(); 41 | } 42 | 43 | public async Task GetSelectedDevice() 44 | { 45 | return await _user.GetSelectedDevice(); 46 | } 47 | 48 | public async Task GetSelectedDeviceStatus() 49 | { 50 | return await _user.GetSelectedDeviceStatus(); 51 | } 52 | 53 | public void Subscribe(IMetricHandler handler) 54 | { 55 | _subscriptionManager.Subscribe(handler); 56 | } 57 | 58 | public void Subscribe(ISettingsHandler handler) 59 | { 60 | _subscriptionManager.Subscribe(handler); 61 | } 62 | 63 | public void Unsubscribe(IMetricHandler handler) 64 | { 65 | _subscriptionManager.Unsubscribe(handler); 66 | } 67 | 68 | public void Unsubscribe(ISettingsHandler handler) 69 | { 70 | _subscriptionManager.Unsubscribe(handler); 71 | } 72 | 73 | public async void ChangeSettings(Settings settings) 74 | { 75 | await _user.UpdateSettings(settings); 76 | } 77 | 78 | public async Task RemoveDevice(string deviceId) 79 | { 80 | await _user.RemoveDevice(deviceId); 81 | } 82 | 83 | public async Task RemoveDevice(Device device) 84 | { 85 | await RemoveDevice(device.DeviceId); 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Notion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a2a9240efadc6449b7d655b0ae2e526 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/SubscriptionManager.cs: -------------------------------------------------------------------------------- 1 | using Firebase.Database; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using UnityEngine; 5 | 6 | namespace Notion.Unity 7 | { 8 | public class SubscriptionManager 9 | { 10 | private readonly NeurosityUser _user; 11 | private readonly Dictionary _firebaseIDs; 12 | private readonly Dictionary> _subscriptionsMetrics; 13 | private readonly HashSet _subscriptionsSettings; 14 | private readonly Dictionary _databaseReferences; 15 | private readonly DatabaseReference _clientRef; 16 | private readonly DatabaseReference _deviceRef; 17 | private readonly DatabaseReference _deviceSubsRef; 18 | 19 | public SubscriptionManager(FirebaseController firebase, Device credientials, NeurosityUser user) 20 | { 21 | _user = user; 22 | _firebaseIDs = new Dictionary(); 23 | _subscriptionsSettings = new HashSet(); 24 | _subscriptionsMetrics = new Dictionary>(); 25 | _databaseReferences = new Dictionary(); 26 | 27 | _deviceRef = firebase.NotionDatabase.GetReference($"devices/{credientials.DeviceId}"); 28 | _deviceSubsRef = _deviceRef.Child("subscriptions"); 29 | _clientRef = _deviceRef.Child($"clients/{_deviceSubsRef.Push().Key}"); 30 | } 31 | 32 | public void Subscribe(ISettingsHandler handler) 33 | { 34 | if (_subscriptionsSettings.Contains(handler)) return; 35 | _deviceRef.Child("settings").ValueChanged += HandleSettingsValueChanged; 36 | _subscriptionsSettings.Add(handler); 37 | } 38 | 39 | public void Unsubscribe(ISettingsHandler handler) 40 | { 41 | _subscriptionsSettings.Remove(handler); 42 | } 43 | 44 | public async void Subscribe(IMetricHandler handler) 45 | { 46 | if (!await CanSubscribe(handler)) return; 47 | 48 | bool isAtomic = IsAtomic(handler); 49 | await AddFirebaseSubscription(handler, isAtomic); 50 | string key = $"metrics/{handler.Metric.GetMetricDescription()}"; 51 | if (!isAtomic) key += $"/{handler.Label}"; 52 | 53 | if (!_subscriptionsMetrics.ContainsKey(key)) 54 | { 55 | DatabaseReference databaseRef = _deviceRef.Child(key); 56 | databaseRef.ValueChanged += HandleMetricValueChanged; 57 | _databaseReferences.Add(key, databaseRef); 58 | 59 | Debug.Log(databaseRef.Reference); 60 | 61 | HashSet handlers = new HashSet(); 62 | handlers.Add(handler); 63 | _subscriptionsMetrics.Add(key, handlers); 64 | } 65 | else 66 | { 67 | _subscriptionsMetrics[key].Add(handler); 68 | } 69 | } 70 | 71 | public async void Unsubscribe(IMetricHandler handler) 72 | { 73 | string key = $"metrics/{handler.Metric.GetMetricDescription()}/{handler.Label}"; 74 | 75 | if (_subscriptionsMetrics.TryGetValue(key, out HashSet handlers)) 76 | { 77 | if (_firebaseIDs.TryGetValue(handler, out string firebaseId)) 78 | { 79 | await _deviceRef.Child($"subscriptions/{firebaseId}").RemoveValueAsync(); 80 | } 81 | 82 | bool success = handlers.Remove(handler); 83 | Debug.Log($"Removed {key} - {success}"); 84 | } 85 | } 86 | 87 | public async Task Dispose() 88 | { 89 | foreach (var databaseRef in _databaseReferences) 90 | { 91 | databaseRef.Value.ValueChanged -= HandleMetricValueChanged; 92 | } 93 | 94 | _firebaseIDs.Clear(); 95 | _databaseReferences.Clear(); 96 | _subscriptionsMetrics.Clear(); 97 | 98 | await _clientRef.OnDisconnect().RemoveValue(); 99 | } 100 | 101 | private async Task CanSubscribe(IMetricHandler handler) 102 | { 103 | bool canSubscribe = true; 104 | switch (handler.Metric) 105 | { 106 | case Metrics.Accelerometer: 107 | var selectedDevice = await _user.GetSelectedDevice(); 108 | canSubscribe = selectedDevice.ModelVersion > 2; 109 | break; 110 | } 111 | 112 | return canSubscribe; 113 | } 114 | 115 | private bool IsAtomic(IMetricHandler handler) 116 | { 117 | return string.IsNullOrWhiteSpace(handler.Label); 118 | } 119 | 120 | /// 121 | /// Adds a subscription reference into the Firebase Database location of the current device. 122 | /// See deviceStore.js -> creativeDeviceStore -> subscribeToMetric 123 | /// 124 | private async Task AddFirebaseSubscription(IMetricHandler handler, bool isAtomic = false) 125 | { 126 | var subscriptionInfo = new Dictionary 127 | { 128 | { "metric", handler.Metric.GetMetricDescription() }, 129 | { "labels", isAtomic ? new string[]{ string.Empty } : new string[] { handler.Label } }, 130 | { "atomic", isAtomic }, 131 | { "serverType", "firebase" } 132 | }; 133 | 134 | string id = _deviceSubsRef.Push().Key; 135 | string childPath = $"subscriptions/{id}"; 136 | _firebaseIDs.Add(handler, id); 137 | 138 | await _deviceRef.Child(childPath).SetValueAsync(subscriptionInfo); 139 | await _deviceRef.Child(childPath).OnDisconnect().RemoveValue(); 140 | } 141 | 142 | private void HandleMetricValueChanged(object sender, ValueChangedEventArgs args) 143 | { 144 | string fullPath = args.Snapshot.Reference.ToString(); 145 | int delimiter = fullPath.LastIndexOf("metrics"); 146 | string valuePath = fullPath.Substring(delimiter); 147 | 148 | if (_subscriptionsMetrics.TryGetValue(valuePath, out HashSet handlers)) 149 | { 150 | foreach (var handler in handlers) 151 | { 152 | if (args.DatabaseError != null) 153 | { 154 | Debug.LogError(args.DatabaseError.Message); 155 | continue; 156 | } 157 | 158 | if (!args.Snapshot.Exists) continue; 159 | 160 | string json = args.Snapshot.GetRawJsonValue(); 161 | if (string.IsNullOrEmpty(json)) continue; 162 | 163 | handler.Handle(json); 164 | } 165 | } 166 | } 167 | 168 | private void HandleSettingsValueChanged(object sender, ValueChangedEventArgs args) 169 | { 170 | foreach(var handler in _subscriptionsSettings) 171 | { 172 | if (args.DatabaseError != null) 173 | { 174 | Debug.LogError(args.DatabaseError.Message); 175 | continue; 176 | } 177 | 178 | if (!args.Snapshot.Exists) continue; 179 | string json = args.Snapshot.GetRawJsonValue(); 180 | if (string.IsNullOrEmpty(json)) continue; 181 | 182 | handler.Handle(json); 183 | } 184 | } 185 | } 186 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/SubscriptionManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8176faf514322b748bd142469fef2e8c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cfd929ef486cf44eb644e6a98a6fb5e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Accelerometer.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class Accelerometer 4 | { 5 | public float Acceleration { get; set; } 6 | public float Inclination { get; set; } 7 | public float Orientation { get; set; } 8 | public float Pitch { get; set; } 9 | public float Roll { get; set; } 10 | public float X { get; set; } 11 | public float Y { get; set; } 12 | public float Z { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Accelerometer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: debf8921fb8228447b37e1e4242c8724 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/BaseMetric.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class BaseMetric 4 | { 5 | public string Label { get; set; } 6 | public string Metric { get; set; } 7 | public float Probability { get; set; } 8 | public long Timestamp { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/BaseMetric.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27cba9759785ed345975118573f44de5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Calm.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class Calm 4 | { 5 | public string Label { get; set; } 6 | public string Metric { get; set; } 7 | public float Probability { get; set; } 8 | public long Timestamp { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Calm.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a341156c0e4d2774e91f85e363dcea28 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/ChannelQuality.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class ChannelQuality 4 | { 5 | public float StandardDeviation { get; set; } 6 | public Status Status { get; set; } 7 | } 8 | 9 | public enum Status 10 | { 11 | Great, 12 | Good, 13 | Bad, 14 | NoContact 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/ChannelQuality.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b0bdbd5ab94f7643ad836a863c89377 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/DeviceInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class DeviceInfo 4 | { 5 | public string ApiVersion { get; set; } 6 | public string[] ChannelNames { get; set; } 7 | public int Channels { get; set; } 8 | public string DeviceId { get; set; } 9 | public string DeviceNickname { get; set; } 10 | public string Manufacturer { get; set; } 11 | public string Model { get; set; } 12 | public string ModelName { get; set; } 13 | public int ModelVersion { get; set; } 14 | public string OsVersion { get; set; } 15 | public int SamplingRate { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/DeviceInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf8c6ce1f83a8244f9aed384eb9af9f8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/DeviceStatus.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class DeviceStatus 4 | { 5 | public float Battery { get; set; } 6 | public bool Charging { get; set; } 7 | public bool SleepMode { get; set; } 8 | public SleepModeReason SleepModeReason { get; set; } 9 | public string SSID { get; set; } 10 | public State State { get; set; } 11 | public float UpdatingProgress { get; set; } 12 | } 13 | 14 | public enum SleepModeReason 15 | { 16 | Null, 17 | Charging, 18 | Updating 19 | } 20 | 21 | public enum State 22 | { 23 | Online, 24 | Offline, 25 | Updating, 26 | Booting, 27 | ShuttingOff 28 | } 29 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/DeviceStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c06f6a9c6d97b3439d7e7fbab2f382e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Epoch.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class Epoch 4 | { 5 | public decimal[][] Data { get; set; } 6 | public EpochInfo Info { get; set; } 7 | public string Label { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Epoch.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ab57baa2a70dc84ba9a7f5a3e0daf87 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/EpochInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class EpochInfo 4 | { 5 | public string[] ChannelNames { get; set; } 6 | public string NotchFrequency { get; set; } 7 | public int SamplingRate { get; set; } 8 | public long StartTime { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/EpochInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1042adcfee62bb4d82f90b72ddf0972 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Focus.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class Focus 4 | { 5 | public string Label { get; set; } 6 | public string Metric { get; set; } 7 | public float Probability { get; set; } 8 | public long Timestamp { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Focus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8d05ca026a6d9d4696796a3acaa86e9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Kinesis.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Notion.Unity 4 | { 5 | public class Kinesis 6 | { 7 | public float Confidence { get; set; } 8 | 9 | public string Label { get; set; } 10 | 11 | public string Metric { get; set; } 12 | 13 | public IEnumerable Predictions { get; set; } 14 | 15 | public int Streak { get; set; } 16 | 17 | public long Timestamp { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Kinesis.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 977ff785d8eac264d835f20ac2e9fd42 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PSD.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Notion.Unity 4 | { 5 | public class PSD 6 | { 7 | public int[] Freqs { get; set; } 8 | [JsonProperty("PSD")] 9 | public decimal[][] PSDValues { get; set; } 10 | public PSDInfo Info { get; set; } 11 | public string Label { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PSD.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fa0b02c90be7a04ea45fb87fe38ae5d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PSDInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class PSDInfo 4 | { 5 | public string NotchFrequency { get; set; } 6 | public int SamplingRate { get; set; } 7 | public long StartTime { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PSDInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 847f1a654f9262e49b6460b82f3eb0f1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PowerByBand.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class PowerByBand 4 | { 5 | public PowerByBandData Data { get; set; } 6 | public string Label { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PowerByBand.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92390c3f37ce81b4d8adb7721da25813 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PowerByBandData.cs: -------------------------------------------------------------------------------- 1 | namespace Notion.Unity 2 | { 3 | public class PowerByBandData 4 | { 5 | public decimal[] Alpha { get; set; } 6 | public decimal[] Beta { get; set; } 7 | public decimal[] Delta { get; set; } 8 | public decimal[] Gamma { get; set; } 9 | public decimal[] Theta { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/PowerByBandData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 526180b8ac953a54c878bcbb24724404 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Settings.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Collections.Generic; 3 | 4 | namespace Notion.Unity 5 | { 6 | public class Settings 7 | { 8 | public bool ActivityLogging { get; set; } 9 | [JsonProperty("ble")] 10 | public bool BluetoothLowEnergy { get; set; } 11 | public bool HapticsSystem { get; set; } 12 | [JsonProperty("lsl")] 13 | public bool LabStreamingLayer { get; set; } 14 | [JsonProperty("osc")] 15 | public bool OpenSoundControl { get; set; } 16 | public bool SupportAccess { get; set; } 17 | 18 | public Dictionary ToDictionary() 19 | { 20 | return new Dictionary 21 | { 22 | { "activityLogging", ActivityLogging }, 23 | { "ble", BluetoothLowEnergy}, 24 | { "hapticsSystem", HapticsSystem }, 25 | { "lsl", LabStreamingLayer }, 26 | { "osc", OpenSoundControl }, 27 | { "supportAccess", SupportAccess } 28 | }; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Assets/Scripts/Notion-Unity/Types/Settings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09d640fedbc88e04592beaf55225403b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/StreamingAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bc19bf2bc711dc48a8d33408c4ea60c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/StreamingAssets/google-services-desktop.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "740127573991", 4 | "project_id": "notion-unity-example", 5 | "storage_bucket": "notion-unity-example.appspot.com" 6 | }, 7 | "client": [ 8 | { 9 | "client_info": { 10 | "mobilesdk_app_id": "1:740127573991:ios:0054d2fd8838184f6b5f42", 11 | "android_client_info": { 12 | "package_name": "com.notion.unity.example" 13 | } 14 | }, 15 | "oauth_client": [ 16 | { 17 | "client_id": "740127573991-r4o2hhr5ac2sscupqq7229bssq6q4m60.apps.googleusercontent.com" 18 | } 19 | ], 20 | "api_key": [ 21 | { 22 | "current_key": "AIzaSyDui9tsFv_6u_UVp16FivULAcoYDsaXWnc" 23 | } 24 | ], 25 | "services": { 26 | "analytics_service": { 27 | "status": 0 28 | }, 29 | "appinvite_service": { 30 | "status": 1 31 | } 32 | } 33 | } 34 | ], 35 | "configuration_version": "1" 36 | } -------------------------------------------------------------------------------- /Assets/StreamingAssets/google-services-desktop.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3caebbb2961506e4b85d277ad045b493 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "740127573991", 4 | "project_id": "notion-unity-example", 5 | "storage_bucket": "notion-unity-example.appspot.com" 6 | }, 7 | "client": [ 8 | { 9 | "client_info": { 10 | "mobilesdk_app_id": "1:740127573991:android:6188fbde8a3065b16b5f42", 11 | "android_client_info": { 12 | "package_name": "com.notion.unity.example" 13 | } 14 | }, 15 | "oauth_client": [ 16 | { 17 | "client_id": "740127573991-kfddpivfuha06df8cb1l3fnkqk7q9j6j.apps.googleusercontent.com", 18 | "client_type": 3 19 | } 20 | ], 21 | "api_key": [ 22 | { 23 | "current_key": "AIzaSyDQ7Cimhmqu8VJALYbVZVy9dnwDUOvcdhc" 24 | } 25 | ], 26 | "services": { 27 | "appinvite_service": { 28 | "other_platform_oauth_client": [ 29 | { 30 | "client_id": "740127573991-kfddpivfuha06df8cb1l3fnkqk7q9j6j.apps.googleusercontent.com", 31 | "client_type": 3 32 | }, 33 | { 34 | "client_id": "740127573991-r4o2hhr5ac2sscupqq7229bssq6q4m60.apps.googleusercontent.com", 35 | "client_type": 2, 36 | "ios_info": { 37 | "bundle_id": "com.notion.unity.example" 38 | } 39 | } 40 | ] 41 | } 42 | } 43 | } 44 | ], 45 | "configuration_version": "1" 46 | } -------------------------------------------------------------------------------- /Assets/google-services.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8db0b94e655114a41bf93727c177d2e9 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ryan Turney 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/com.google.external-dependency-manager-1.2.166.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanturney/notion-unity/51c372a3491f32df37ca612e37c801e1725e73e3/Packages/com.google.external-dependency-manager-1.2.166.tgz -------------------------------------------------------------------------------- /Packages/com.google.firebase.app-8.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanturney/notion-unity/51c372a3491f32df37ca612e37c801e1725e73e3/Packages/com.google.firebase.app-8.1.0.tgz -------------------------------------------------------------------------------- /Packages/com.google.firebase.auth-8.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanturney/notion-unity/51c372a3491f32df37ca612e37c801e1725e73e3/Packages/com.google.firebase.auth-8.1.0.tgz -------------------------------------------------------------------------------- /Packages/com.google.firebase.database-8.1.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanturney/notion-unity/51c372a3491f32df37ca612e37c801e1725e73e3/Packages/com.google.firebase.database-8.1.0.tgz -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.google.external-dependency-manager": "file:com.google.external-dependency-manager-1.2.166.tgz", 4 | "com.google.firebase.app": "file:com.google.firebase.app-8.1.0.tgz", 5 | "com.google.firebase.auth": "file:com.google.firebase.auth-8.1.0.tgz", 6 | "com.google.firebase.database": "file:com.google.firebase.database-8.1.0.tgz", 7 | "com.unity.ide.rider": "2.0.7", 8 | "com.unity.ide.visualstudio": "2.0.11", 9 | "com.unity.ide.vscode": "1.2.4", 10 | "com.unity.ugui": "1.0.0", 11 | "jillejr.newtonsoft.json-for-unity": "13.0.102", 12 | "com.unity.modules.jsonserialize": "1.0.0" 13 | }, 14 | "scopedRegistries": [ 15 | { 16 | "name": "package.openupm.com", 17 | "url": "https://package.openupm.com", 18 | "scopes": [ 19 | "com.openupm", 20 | "jillejr.newtonsoft.json-for-unity" 21 | ] 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /Packages/packages-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.google.external-dependency-manager": { 4 | "version": "file:com.google.external-dependency-manager-1.2.166.tgz", 5 | "depth": 0, 6 | "source": "local-tarball", 7 | "dependencies": {} 8 | }, 9 | "com.google.firebase.app": { 10 | "version": "file:com.google.firebase.app-8.1.0.tgz", 11 | "depth": 0, 12 | "source": "local-tarball", 13 | "dependencies": { 14 | "com.google.external-dependency-manager": "1.2.166" 15 | } 16 | }, 17 | "com.google.firebase.auth": { 18 | "version": "file:com.google.firebase.auth-8.1.0.tgz", 19 | "depth": 0, 20 | "source": "local-tarball", 21 | "dependencies": { 22 | "com.google.firebase.app": "8.1.0" 23 | } 24 | }, 25 | "com.google.firebase.database": { 26 | "version": "file:com.google.firebase.database-8.1.0.tgz", 27 | "depth": 0, 28 | "source": "local-tarball", 29 | "dependencies": { 30 | "com.google.firebase.auth": "8.1.0" 31 | } 32 | }, 33 | "com.unity.ext.nunit": { 34 | "version": "1.0.6", 35 | "depth": 2, 36 | "source": "registry", 37 | "dependencies": {}, 38 | "url": "https://packages.unity.com" 39 | }, 40 | "com.unity.ide.rider": { 41 | "version": "2.0.7", 42 | "depth": 0, 43 | "source": "registry", 44 | "dependencies": { 45 | "com.unity.test-framework": "1.1.1" 46 | }, 47 | "url": "https://packages.unity.com" 48 | }, 49 | "com.unity.ide.visualstudio": { 50 | "version": "2.0.11", 51 | "depth": 0, 52 | "source": "registry", 53 | "dependencies": { 54 | "com.unity.test-framework": "1.1.9" 55 | }, 56 | "url": "https://packages.unity.com" 57 | }, 58 | "com.unity.ide.vscode": { 59 | "version": "1.2.4", 60 | "depth": 0, 61 | "source": "registry", 62 | "dependencies": {}, 63 | "url": "https://packages.unity.com" 64 | }, 65 | "com.unity.test-framework": { 66 | "version": "1.1.27", 67 | "depth": 1, 68 | "source": "registry", 69 | "dependencies": { 70 | "com.unity.ext.nunit": "1.0.6", 71 | "com.unity.modules.imgui": "1.0.0", 72 | "com.unity.modules.jsonserialize": "1.0.0" 73 | }, 74 | "url": "https://packages.unity.com" 75 | }, 76 | "com.unity.ugui": { 77 | "version": "1.0.0", 78 | "depth": 0, 79 | "source": "builtin", 80 | "dependencies": { 81 | "com.unity.modules.ui": "1.0.0", 82 | "com.unity.modules.imgui": "1.0.0" 83 | } 84 | }, 85 | "jillejr.newtonsoft.json-for-unity": { 86 | "version": "13.0.102", 87 | "depth": 0, 88 | "source": "registry", 89 | "dependencies": {}, 90 | "url": "https://package.openupm.com" 91 | }, 92 | "com.unity.modules.imgui": { 93 | "version": "1.0.0", 94 | "depth": 1, 95 | "source": "builtin", 96 | "dependencies": {} 97 | }, 98 | "com.unity.modules.jsonserialize": { 99 | "version": "1.0.0", 100 | "depth": 0, 101 | "source": "builtin", 102 | "dependencies": {} 103 | }, 104 | "com.unity.modules.ui": { 105 | "version": "1.0.0", 106 | "depth": 1, 107 | "source": "builtin", 108 | "dependencies": {} 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /ProjectSettings/AndroidResolverDependencies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.google.android.gms:play-services-base:17.6.0 4 | com.google.firebase:firebase-analytics:19.0.0 5 | com.google.firebase:firebase-app-unity:8.1.0 6 | com.google.firebase:firebase-auth:21.0.1 7 | com.google.firebase:firebase-auth-unity:8.1.0 8 | com.google.firebase:firebase-common:20.0.0 9 | com.google.firebase:firebase-database:20.0.0 10 | com.google.firebase:firebase-database-unity:8.1.0 11 | 12 | 13 | Assets/Plugins/Android/androidx.annotation.annotation-1.1.0.jar 14 | Assets/Plugins/Android/androidx.arch.core.core-common-2.0.0.jar 15 | Assets/Plugins/Android/androidx.arch.core.core-runtime-2.0.0.aar 16 | Assets/Plugins/Android/androidx.asynclayoutinflater.asynclayoutinflater-1.0.0.aar 17 | Assets/Plugins/Android/androidx.browser.browser-1.0.0.aar 18 | Assets/Plugins/Android/androidx.collection.collection-1.0.0.jar 19 | Assets/Plugins/Android/androidx.coordinatorlayout.coordinatorlayout-1.0.0.aar 20 | Assets/Plugins/Android/androidx.core.core-1.2.0.aar 21 | Assets/Plugins/Android/androidx.cursoradapter.cursoradapter-1.0.0.aar 22 | Assets/Plugins/Android/androidx.customview.customview-1.0.0.aar 23 | Assets/Plugins/Android/androidx.documentfile.documentfile-1.0.0.aar 24 | Assets/Plugins/Android/androidx.drawerlayout.drawerlayout-1.0.0.aar 25 | Assets/Plugins/Android/androidx.fragment.fragment-1.0.0.aar 26 | Assets/Plugins/Android/androidx.interpolator.interpolator-1.0.0.aar 27 | Assets/Plugins/Android/androidx.legacy.legacy-support-core-ui-1.0.0.aar 28 | Assets/Plugins/Android/androidx.legacy.legacy-support-core-utils-1.0.0.aar 29 | Assets/Plugins/Android/androidx.lifecycle.lifecycle-common-2.0.0.jar 30 | Assets/Plugins/Android/androidx.lifecycle.lifecycle-livedata-2.0.0.aar 31 | Assets/Plugins/Android/androidx.lifecycle.lifecycle-livedata-core-2.0.0.aar 32 | Assets/Plugins/Android/androidx.lifecycle.lifecycle-runtime-2.0.0.aar 33 | Assets/Plugins/Android/androidx.lifecycle.lifecycle-viewmodel-2.0.0.aar 34 | Assets/Plugins/Android/androidx.loader.loader-1.0.0.aar 35 | Assets/Plugins/Android/androidx.localbroadcastmanager.localbroadcastmanager-1.0.0.aar 36 | Assets/Plugins/Android/androidx.print.print-1.0.0.aar 37 | Assets/Plugins/Android/androidx.slidingpanelayout.slidingpanelayout-1.0.0.aar 38 | Assets/Plugins/Android/androidx.swiperefreshlayout.swiperefreshlayout-1.0.0.aar 39 | Assets/Plugins/Android/androidx.versionedparcelable.versionedparcelable-1.1.0.aar 40 | Assets/Plugins/Android/androidx.viewpager.viewpager-1.0.0.aar 41 | Assets/Plugins/Android/com.google.android.gms.play-services-ads-identifier-17.0.0.aar 42 | Assets/Plugins/Android/com.google.android.gms.play-services-auth-api-phone-17.4.0.aar 43 | Assets/Plugins/Android/com.google.android.gms.play-services-base-17.6.0.aar 44 | Assets/Plugins/Android/com.google.android.gms.play-services-basement-17.6.0.aar 45 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-19.0.0.aar 46 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-api-19.0.0.aar 47 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-base-19.0.0.aar 48 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-impl-19.0.0.aar 49 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-sdk-19.0.0.aar 50 | Assets/Plugins/Android/com.google.android.gms.play-services-measurement-sdk-api-19.0.0.aar 51 | Assets/Plugins/Android/com.google.android.gms.play-services-safetynet-17.0.0.aar 52 | Assets/Plugins/Android/com.google.android.gms.play-services-stats-17.0.0.aar 53 | Assets/Plugins/Android/com.google.android.gms.play-services-tasks-17.2.1.aar 54 | Assets/Plugins/Android/com.google.firebase.firebase-analytics-19.0.0.aar 55 | Assets/Plugins/Android/com.google.firebase.firebase-annotations-16.0.0.jar 56 | Assets/Plugins/Android/com.google.firebase.firebase-appcheck-interop-16.0.0-beta01.aar 57 | Assets/Plugins/Android/com.google.firebase.firebase-app-unity-8.1.0.aar 58 | Assets/Plugins/Android/com.google.firebase.firebase-auth-21.0.1.aar 59 | Assets/Plugins/Android/com.google.firebase.firebase-auth-interop-20.0.0.aar 60 | Assets/Plugins/Android/com.google.firebase.firebase-auth-unity-8.1.0.aar 61 | Assets/Plugins/Android/com.google.firebase.firebase-common-20.0.0.aar 62 | Assets/Plugins/Android/com.google.firebase.firebase-components-17.0.0.aar 63 | Assets/Plugins/Android/com.google.firebase.firebase-database-20.0.0.aar 64 | Assets/Plugins/Android/com.google.firebase.firebase-database-collection-18.0.0.aar 65 | Assets/Plugins/Android/com.google.firebase.firebase-database-unity-8.1.0.aar 66 | Assets/Plugins/Android/com.google.firebase.firebase-installations-17.0.0.aar 67 | Assets/Plugins/Android/com.google.firebase.firebase-installations-interop-17.0.0.aar 68 | Assets/Plugins/Android/com.google.firebase.firebase-measurement-connector-19.0.0.aar 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scripts/Notion-Unity/Example/NotionExample.unity 10 | guid: e356d1c5929c2c44cbd37a941eeafee9 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_AssetPipelineMode: 1 6 | m_ObjectHideFlags: 0 7 | serializedVersion: 10 8 | m_ExternalVersionControlSupport: Visible Meta Files 9 | m_SerializationMode: 2 10 | m_LineEndingsForNewScripts: 0 11 | m_DefaultBehaviorMode: 0 12 | m_PrefabRegularEnvironment: {fileID: 0} 13 | m_PrefabUIEnvironment: {fileID: 0} 14 | m_SpritePackerMode: 0 15 | m_SpritePackerPaddingPower: 1 16 | m_EtcTextureCompressorBehavior: 1 17 | m_EtcTextureFastCompressor: 1 18 | m_EtcTextureNormalCompressor: 2 19 | m_EtcTextureBestCompressor: 4 20 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 21 | m_ProjectGenerationRootNamespace: 22 | m_CollabEditorSettings: 23 | inProgressEnabled: 1 24 | m_EnableTextureStreamingInEditMode: 1 25 | m_EnableTextureStreamingInPlayMode: 1 26 | m_AsyncShaderCompilation: 1 27 | m_EnterPlayModeOptionsEnabled: 0 28 | m_EnterPlayModeOptions: 3 29 | m_ShowLightmapResolutionOverlay: 1 30 | m_UseLegacyProbeSampleCount: 0 31 | m_SerializeInlineMappingsOnOneLine: 1 32 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, 46 | type: 2} 47 | m_TransparencySortMode: 0 48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 49 | m_DefaultRenderingPath: 1 50 | m_DefaultMobileRenderingPath: 1 51 | m_TierSettings: [] 52 | m_LightmapStripping: 0 53 | m_FogStripping: 0 54 | m_InstancingStripping: 0 55 | m_LightmapKeepPlain: 1 56 | m_LightmapKeepDirCombined: 1 57 | m_LightmapKeepDynamicPlain: 1 58 | m_LightmapKeepDynamicDirCombined: 1 59 | m_LightmapKeepShadowMask: 1 60 | m_LightmapKeepSubtractive: 1 61 | m_FogKeepLinear: 1 62 | m_FogKeepExp: 1 63 | m_FogKeepExp2: 1 64 | m_AlbedoSwatchInfos: [] 65 | m_LightsUseLinearIntensity: 1 66 | m_LightsUseColorTemperature: 0 67 | m_LogWhenShaderIsCompiled: 0 68 | m_AllowEnlightenSupportForUpgradedProject: 1 69 | -------------------------------------------------------------------------------- /ProjectSettings/GvhProjectSettings.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | - serializedVersion: 3 297 | m_Name: Enable Debug Button 1 298 | descriptiveName: 299 | descriptiveNegativeName: 300 | negativeButton: 301 | positiveButton: left ctrl 302 | altNegativeButton: 303 | altPositiveButton: joystick button 8 304 | gravity: 0 305 | dead: 0 306 | sensitivity: 0 307 | snap: 0 308 | invert: 0 309 | type: 0 310 | axis: 0 311 | joyNum: 0 312 | - serializedVersion: 3 313 | m_Name: Enable Debug Button 2 314 | descriptiveName: 315 | descriptiveNegativeName: 316 | negativeButton: 317 | positiveButton: backspace 318 | altNegativeButton: 319 | altPositiveButton: joystick button 9 320 | gravity: 0 321 | dead: 0 322 | sensitivity: 0 323 | snap: 0 324 | invert: 0 325 | type: 0 326 | axis: 0 327 | joyNum: 0 328 | - serializedVersion: 3 329 | m_Name: Debug Reset 330 | descriptiveName: 331 | descriptiveNegativeName: 332 | negativeButton: 333 | positiveButton: left alt 334 | altNegativeButton: 335 | altPositiveButton: joystick button 1 336 | gravity: 0 337 | dead: 0 338 | sensitivity: 0 339 | snap: 0 340 | invert: 0 341 | type: 0 342 | axis: 0 343 | joyNum: 0 344 | - serializedVersion: 3 345 | m_Name: Debug Next 346 | descriptiveName: 347 | descriptiveNegativeName: 348 | negativeButton: 349 | positiveButton: page down 350 | altNegativeButton: 351 | altPositiveButton: joystick button 5 352 | gravity: 0 353 | dead: 0 354 | sensitivity: 0 355 | snap: 0 356 | invert: 0 357 | type: 0 358 | axis: 0 359 | joyNum: 0 360 | - serializedVersion: 3 361 | m_Name: Debug Previous 362 | descriptiveName: 363 | descriptiveNegativeName: 364 | negativeButton: 365 | positiveButton: page up 366 | altNegativeButton: 367 | altPositiveButton: joystick button 4 368 | gravity: 0 369 | dead: 0 370 | sensitivity: 0 371 | snap: 0 372 | invert: 0 373 | type: 0 374 | axis: 0 375 | joyNum: 0 376 | - serializedVersion: 3 377 | m_Name: Debug Validate 378 | descriptiveName: 379 | descriptiveNegativeName: 380 | negativeButton: 381 | positiveButton: return 382 | altNegativeButton: 383 | altPositiveButton: joystick button 0 384 | gravity: 0 385 | dead: 0 386 | sensitivity: 0 387 | snap: 0 388 | invert: 0 389 | type: 0 390 | axis: 0 391 | joyNum: 0 392 | - serializedVersion: 3 393 | m_Name: Debug Persistent 394 | descriptiveName: 395 | descriptiveNegativeName: 396 | negativeButton: 397 | positiveButton: right shift 398 | altNegativeButton: 399 | altPositiveButton: joystick button 2 400 | gravity: 0 401 | dead: 0 402 | sensitivity: 0 403 | snap: 0 404 | invert: 0 405 | type: 0 406 | axis: 0 407 | joyNum: 0 408 | - serializedVersion: 3 409 | m_Name: Debug Multiplier 410 | descriptiveName: 411 | descriptiveNegativeName: 412 | negativeButton: 413 | positiveButton: left shift 414 | altNegativeButton: 415 | altPositiveButton: joystick button 3 416 | gravity: 0 417 | dead: 0 418 | sensitivity: 0 419 | snap: 0 420 | invert: 0 421 | type: 0 422 | axis: 0 423 | joyNum: 0 424 | - serializedVersion: 3 425 | m_Name: Debug Horizontal 426 | descriptiveName: 427 | descriptiveNegativeName: 428 | negativeButton: left 429 | positiveButton: right 430 | altNegativeButton: 431 | altPositiveButton: 432 | gravity: 1000 433 | dead: 0.001 434 | sensitivity: 1000 435 | snap: 0 436 | invert: 0 437 | type: 0 438 | axis: 0 439 | joyNum: 0 440 | - serializedVersion: 3 441 | m_Name: Debug Vertical 442 | descriptiveName: 443 | descriptiveNegativeName: 444 | negativeButton: down 445 | positiveButton: up 446 | altNegativeButton: 447 | altPositiveButton: 448 | gravity: 1000 449 | dead: 0.001 450 | sensitivity: 1000 451 | snap: 0 452 | invert: 0 453 | type: 0 454 | axis: 0 455 | joyNum: 0 456 | - serializedVersion: 3 457 | m_Name: Debug Vertical 458 | descriptiveName: 459 | descriptiveNegativeName: 460 | negativeButton: down 461 | positiveButton: up 462 | altNegativeButton: 463 | altPositiveButton: 464 | gravity: 1000 465 | dead: 0.001 466 | sensitivity: 1000 467 | snap: 0 468 | invert: 0 469 | type: 2 470 | axis: 6 471 | joyNum: 0 472 | - serializedVersion: 3 473 | m_Name: Debug Horizontal 474 | descriptiveName: 475 | descriptiveNegativeName: 476 | negativeButton: left 477 | positiveButton: right 478 | altNegativeButton: 479 | altPositiveButton: 480 | gravity: 1000 481 | dead: 0.001 482 | sensitivity: 1000 483 | snap: 0 484 | invert: 0 485 | type: 2 486 | axis: 5 487 | joyNum: 0 488 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | - m_Id: scoped:package.openupm.com 28 | m_Name: package.openupm.com 29 | m_Url: https://package.openupm.com 30 | m_Scopes: 31 | - com.openupm 32 | - jillejr.newtonsoft.json-for-unity 33 | m_IsDefault: 0 34 | m_Capabilities: 0 35 | m_UserSelectedRegistryName: 36 | m_UserAddingNewScopedRegistry: 0 37 | m_RegistryInfoDraft: 38 | m_ErrorMessage: 39 | m_Original: 40 | m_Id: scoped:package.openupm.com 41 | m_Name: package.openupm.com 42 | m_Url: https://package.openupm.com 43 | m_Scopes: 44 | - com.openupm 45 | - jillejr.newtonsoft.json-for-unity 46 | m_IsDefault: 0 47 | m_Capabilities: 0 48 | m_Modified: 0 49 | m_Name: package.openupm.com 50 | m_Url: https://package.openupm.com 51 | m_Scopes: 52 | - com.openupm 53 | - jillejr.newtonsoft.json-for-unity 54 | m_SelectedScopeIndex: 0 55 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 22 7 | productGUID: 5f040537c0b99e94595ae40593afbf4d 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: notion-sdk 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1920 46 | defaultScreenHeight: 1080 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 1 51 | m_MTRendering: 1 52 | mipStripping: 0 53 | numberOfMipsStripped: 0 54 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 55 | iosShowActivityIndicatorOnLoading: -1 56 | androidShowActivityIndicatorOnLoading: -1 57 | iosUseCustomAppBackgroundBehavior: 0 58 | iosAllowHTTPDownload: 1 59 | allowedAutorotateToPortrait: 1 60 | allowedAutorotateToPortraitUpsideDown: 1 61 | allowedAutorotateToLandscapeRight: 1 62 | allowedAutorotateToLandscapeLeft: 1 63 | useOSAutorotation: 1 64 | use32BitDisplayBuffer: 1 65 | preserveFramebufferAlpha: 0 66 | disableDepthAndStencilBuffers: 0 67 | androidStartInFullscreen: 1 68 | androidRenderOutsideSafeArea: 0 69 | androidUseSwappy: 1 70 | androidBlitType: 1 71 | defaultIsNativeResolution: 1 72 | macRetinaSupport: 1 73 | runInBackground: 1 74 | captureSingleScreen: 0 75 | muteOtherAudioSources: 0 76 | Prepare IOS For Recording: 0 77 | Force IOS Speakers When Recording: 0 78 | deferSystemGesturesMode: 0 79 | hideHomeButton: 0 80 | submitAnalytics: 1 81 | usePlayerLog: 1 82 | bakeCollisionMeshes: 0 83 | forceSingleInstance: 0 84 | useFlipModelSwapchain: 1 85 | resizableWindow: 0 86 | useMacAppStoreValidation: 0 87 | macAppStoreCategory: public.app-category.games 88 | gpuSkinning: 1 89 | xboxPIXTextureCapture: 0 90 | xboxEnableAvatar: 0 91 | xboxEnableKinect: 0 92 | xboxEnableKinectAutoTracking: 0 93 | xboxEnableFitness: 0 94 | visibleInBackground: 1 95 | allowFullscreenSwitch: 1 96 | fullscreenMode: 1 97 | xboxSpeechDB: 0 98 | xboxEnableHeadOrientation: 0 99 | xboxEnableGuest: 0 100 | xboxEnablePIXSampling: 0 101 | metalFramebufferOnly: 0 102 | xboxOneResolution: 0 103 | xboxOneSResolution: 0 104 | xboxOneXResolution: 3 105 | xboxOneMonoLoggingLevel: 0 106 | xboxOneLoggingLevel: 1 107 | xboxOneDisableEsram: 0 108 | xboxOneEnableTypeOptimization: 0 109 | xboxOnePresentImmediateThreshold: 0 110 | switchQueueCommandMemory: 0 111 | switchQueueControlMemory: 0 112 | switchQueueComputeMemory: 262144 113 | switchNVNShaderPoolsGranularity: 33554432 114 | switchNVNDefaultPoolsGranularity: 16777216 115 | switchNVNOtherPoolsGranularity: 16777216 116 | switchNVNMaxPublicTextureIDCount: 0 117 | switchNVNMaxPublicSamplerIDCount: 0 118 | stadiaPresentMode: 0 119 | stadiaTargetFramerate: 0 120 | vulkanNumSwapchainBuffers: 3 121 | vulkanEnableSetSRGBWrite: 0 122 | vulkanEnablePreTransform: 0 123 | vulkanEnableLateAcquireNextImage: 0 124 | m_SupportedAspectRatios: 125 | 4:3: 1 126 | 5:4: 1 127 | 16:10: 1 128 | 16:9: 1 129 | Others: 1 130 | bundleVersion: 0.1 131 | preloadedAssets: [] 132 | metroInputSource: 0 133 | wsaTransparentSwapchain: 0 134 | m_HolographicPauseOnTrackingLoss: 1 135 | xboxOneDisableKinectGpuReservation: 1 136 | xboxOneEnable7thCore: 1 137 | vrSettings: 138 | enable360StereoCapture: 0 139 | isWsaHolographicRemotingEnabled: 0 140 | enableFrameTimingStats: 0 141 | useHDRDisplay: 0 142 | D3DHDRBitDepth: 0 143 | m_ColorGamuts: 0000000003000000 144 | targetPixelDensity: 30 145 | resolutionScalingMode: 0 146 | androidSupportedAspectRatio: 1 147 | androidMaxAspectRatio: 2.1 148 | applicationIdentifier: 149 | Android: com.notion.unity.example 150 | Standalone: com.notion.unity.example 151 | iPhone: com.notion.unity.example 152 | buildNumber: 153 | Standalone: 0 154 | iPhone: 0 155 | tvOS: 0 156 | overrideDefaultApplicationIdentifier: 1 157 | AndroidBundleVersionCode: 1 158 | AndroidMinSdkVersion: 19 159 | AndroidTargetSdkVersion: 0 160 | AndroidPreferredInstallLocation: 1 161 | aotOptions: 162 | stripEngineCode: 0 163 | iPhoneStrippingLevel: 0 164 | iPhoneScriptCallOptimization: 0 165 | ForceInternetPermission: 0 166 | ForceSDCardPermission: 0 167 | CreateWallpaper: 0 168 | APKExpansionFiles: 0 169 | keepLoadedShadersAlive: 0 170 | StripUnusedMeshComponents: 0 171 | VertexChannelCompressionMask: 4054 172 | iPhoneSdkVersion: 988 173 | iOSTargetOSVersionString: 11.0 174 | tvOSSdkVersion: 0 175 | tvOSRequireExtendedGameController: 0 176 | tvOSTargetOSVersionString: 11.0 177 | uIPrerenderedIcon: 0 178 | uIRequiresPersistentWiFi: 0 179 | uIRequiresFullScreen: 1 180 | uIStatusBarHidden: 1 181 | uIExitOnSuspend: 0 182 | uIStatusBarStyle: 0 183 | appleTVSplashScreen: {fileID: 0} 184 | appleTVSplashScreen2x: {fileID: 0} 185 | tvOSSmallIconLayers: [] 186 | tvOSSmallIconLayers2x: [] 187 | tvOSLargeIconLayers: [] 188 | tvOSLargeIconLayers2x: [] 189 | tvOSTopShelfImageLayers: [] 190 | tvOSTopShelfImageLayers2x: [] 191 | tvOSTopShelfImageWideLayers: [] 192 | tvOSTopShelfImageWideLayers2x: [] 193 | iOSLaunchScreenType: 0 194 | iOSLaunchScreenPortrait: {fileID: 0} 195 | iOSLaunchScreenLandscape: {fileID: 0} 196 | iOSLaunchScreenBackgroundColor: 197 | serializedVersion: 2 198 | rgba: 0 199 | iOSLaunchScreenFillPct: 100 200 | iOSLaunchScreenSize: 100 201 | iOSLaunchScreenCustomXibPath: 202 | iOSLaunchScreeniPadType: 0 203 | iOSLaunchScreeniPadImage: {fileID: 0} 204 | iOSLaunchScreeniPadBackgroundColor: 205 | serializedVersion: 2 206 | rgba: 0 207 | iOSLaunchScreeniPadFillPct: 100 208 | iOSLaunchScreeniPadSize: 100 209 | iOSLaunchScreeniPadCustomXibPath: 210 | iOSLaunchScreenCustomStoryboardPath: 211 | iOSLaunchScreeniPadCustomStoryboardPath: 212 | iOSDeviceRequirements: [] 213 | iOSURLSchemes: [] 214 | iOSBackgroundModes: 0 215 | iOSMetalForceHardShadows: 0 216 | metalEditorSupport: 1 217 | metalAPIValidation: 1 218 | iOSRenderExtraFrameOnPause: 0 219 | iosCopyPluginsCodeInsteadOfSymlink: 0 220 | appleDeveloperTeamID: 221 | iOSManualSigningProvisioningProfileID: 222 | tvOSManualSigningProvisioningProfileID: 223 | iOSManualSigningProvisioningProfileType: 0 224 | tvOSManualSigningProvisioningProfileType: 0 225 | appleEnableAutomaticSigning: 0 226 | iOSRequireARKit: 0 227 | iOSAutomaticallyDetectAndAddCapabilities: 1 228 | appleEnableProMotion: 0 229 | shaderPrecisionModel: 0 230 | clonedFromGUID: 9870af204204ab84596f8a656f2f2ce6 231 | templatePackageId: com.unity.template.universal@10.5.0 232 | templateDefaultScene: Assets/Scenes/SampleScene.unity 233 | useCustomMainManifest: 0 234 | useCustomLauncherManifest: 0 235 | useCustomMainGradleTemplate: 0 236 | useCustomLauncherGradleManifest: 0 237 | useCustomBaseGradleTemplate: 0 238 | useCustomGradlePropertiesTemplate: 0 239 | useCustomProguardFile: 0 240 | AndroidTargetArchitectures: 1 241 | AndroidSplashScreenScale: 0 242 | androidSplashScreen: {fileID: 0} 243 | AndroidKeystoreName: 244 | AndroidKeyaliasName: 245 | AndroidBuildApkPerCpuArchitecture: 0 246 | AndroidTVCompatibility: 0 247 | AndroidIsGame: 1 248 | AndroidEnableTango: 0 249 | androidEnableBanner: 1 250 | androidUseLowAccuracyLocation: 0 251 | androidUseCustomKeystore: 0 252 | m_AndroidBanners: 253 | - width: 320 254 | height: 180 255 | banner: {fileID: 0} 256 | androidGamepadSupportLevel: 0 257 | AndroidMinifyWithR8: 0 258 | AndroidMinifyRelease: 0 259 | AndroidMinifyDebug: 0 260 | AndroidValidateAppBundleSize: 1 261 | AndroidAppBundleSizeToValidate: 100 262 | m_BuildTargetIcons: [] 263 | m_BuildTargetPlatformIcons: 264 | - m_BuildTarget: Android 265 | m_Icons: 266 | - m_Textures: [] 267 | m_Width: 432 268 | m_Height: 432 269 | m_Kind: 2 270 | m_SubKind: 271 | - m_Textures: [] 272 | m_Width: 324 273 | m_Height: 324 274 | m_Kind: 2 275 | m_SubKind: 276 | - m_Textures: [] 277 | m_Width: 216 278 | m_Height: 216 279 | m_Kind: 2 280 | m_SubKind: 281 | - m_Textures: [] 282 | m_Width: 162 283 | m_Height: 162 284 | m_Kind: 2 285 | m_SubKind: 286 | - m_Textures: [] 287 | m_Width: 108 288 | m_Height: 108 289 | m_Kind: 2 290 | m_SubKind: 291 | - m_Textures: [] 292 | m_Width: 81 293 | m_Height: 81 294 | m_Kind: 2 295 | m_SubKind: 296 | - m_Textures: [] 297 | m_Width: 192 298 | m_Height: 192 299 | m_Kind: 0 300 | m_SubKind: 301 | - m_Textures: [] 302 | m_Width: 144 303 | m_Height: 144 304 | m_Kind: 0 305 | m_SubKind: 306 | - m_Textures: [] 307 | m_Width: 96 308 | m_Height: 96 309 | m_Kind: 0 310 | m_SubKind: 311 | - m_Textures: [] 312 | m_Width: 72 313 | m_Height: 72 314 | m_Kind: 0 315 | m_SubKind: 316 | - m_Textures: [] 317 | m_Width: 48 318 | m_Height: 48 319 | m_Kind: 0 320 | m_SubKind: 321 | - m_Textures: [] 322 | m_Width: 36 323 | m_Height: 36 324 | m_Kind: 0 325 | m_SubKind: 326 | - m_Textures: [] 327 | m_Width: 192 328 | m_Height: 192 329 | m_Kind: 1 330 | m_SubKind: 331 | - m_Textures: [] 332 | m_Width: 144 333 | m_Height: 144 334 | m_Kind: 1 335 | m_SubKind: 336 | - m_Textures: [] 337 | m_Width: 96 338 | m_Height: 96 339 | m_Kind: 1 340 | m_SubKind: 341 | - m_Textures: [] 342 | m_Width: 72 343 | m_Height: 72 344 | m_Kind: 1 345 | m_SubKind: 346 | - m_Textures: [] 347 | m_Width: 48 348 | m_Height: 48 349 | m_Kind: 1 350 | m_SubKind: 351 | - m_Textures: [] 352 | m_Width: 36 353 | m_Height: 36 354 | m_Kind: 1 355 | m_SubKind: 356 | m_BuildTargetBatching: 357 | - m_BuildTarget: Standalone 358 | m_StaticBatching: 1 359 | m_DynamicBatching: 0 360 | - m_BuildTarget: tvOS 361 | m_StaticBatching: 1 362 | m_DynamicBatching: 0 363 | - m_BuildTarget: iPhone 364 | m_StaticBatching: 1 365 | m_DynamicBatching: 0 366 | - m_BuildTarget: Android 367 | m_StaticBatching: 1 368 | m_DynamicBatching: 0 369 | - m_BuildTarget: WebGL 370 | m_StaticBatching: 0 371 | m_DynamicBatching: 0 372 | m_BuildTargetGraphicsJobs: 373 | - m_BuildTarget: MacStandaloneSupport 374 | m_GraphicsJobs: 0 375 | - m_BuildTarget: Switch 376 | m_GraphicsJobs: 1 377 | - m_BuildTarget: MetroSupport 378 | m_GraphicsJobs: 1 379 | - m_BuildTarget: AppleTVSupport 380 | m_GraphicsJobs: 0 381 | - m_BuildTarget: BJMSupport 382 | m_GraphicsJobs: 1 383 | - m_BuildTarget: LinuxStandaloneSupport 384 | m_GraphicsJobs: 1 385 | - m_BuildTarget: PS4Player 386 | m_GraphicsJobs: 1 387 | - m_BuildTarget: iOSSupport 388 | m_GraphicsJobs: 0 389 | - m_BuildTarget: WindowsStandaloneSupport 390 | m_GraphicsJobs: 1 391 | - m_BuildTarget: XboxOnePlayer 392 | m_GraphicsJobs: 1 393 | - m_BuildTarget: LuminSupport 394 | m_GraphicsJobs: 0 395 | - m_BuildTarget: AndroidPlayer 396 | m_GraphicsJobs: 0 397 | - m_BuildTarget: WebGLSupport 398 | m_GraphicsJobs: 0 399 | m_BuildTargetGraphicsJobMode: 400 | - m_BuildTarget: PS4Player 401 | m_GraphicsJobMode: 0 402 | - m_BuildTarget: XboxOnePlayer 403 | m_GraphicsJobMode: 0 404 | m_BuildTargetGraphicsAPIs: 405 | - m_BuildTarget: iOSSupport 406 | m_APIs: 10000000 407 | m_Automatic: 1 408 | - m_BuildTarget: AppleTVSupport 409 | m_APIs: 10000000 410 | m_Automatic: 1 411 | - m_BuildTarget: AndroidPlayer 412 | m_APIs: 150000000b000000 413 | m_Automatic: 0 414 | - m_BuildTarget: WebGLSupport 415 | m_APIs: 0b000000 416 | m_Automatic: 0 417 | m_BuildTargetVRSettings: [] 418 | openGLRequireES31: 0 419 | openGLRequireES31AEP: 0 420 | openGLRequireES32: 0 421 | m_TemplateCustomTags: {} 422 | mobileMTRendering: 423 | Android: 1 424 | iPhone: 1 425 | tvOS: 1 426 | m_BuildTargetGroupLightmapEncodingQuality: 427 | - m_BuildTarget: Standalone 428 | m_EncodingQuality: 1 429 | m_BuildTargetGroupLightmapSettings: [] 430 | m_BuildTargetNormalMapEncoding: [] 431 | playModeTestRunnerEnabled: 0 432 | runPlayModeTestAsEditModeTest: 0 433 | actionOnDotNetUnhandledException: 1 434 | enableInternalProfiler: 0 435 | logObjCUncaughtExceptions: 1 436 | enableCrashReportAPI: 0 437 | cameraUsageDescription: 438 | locationUsageDescription: 439 | microphoneUsageDescription: 440 | switchNMETAOverride: 441 | switchNetLibKey: 442 | switchSocketMemoryPoolSize: 6144 443 | switchSocketAllocatorPoolSize: 128 444 | switchSocketConcurrencyLimit: 14 445 | switchScreenResolutionBehavior: 2 446 | switchUseCPUProfiler: 0 447 | switchUseGOLDLinker: 0 448 | switchApplicationID: 0x01004b9000490000 449 | switchNSODependencies: 450 | switchTitleNames_0: 451 | switchTitleNames_1: 452 | switchTitleNames_2: 453 | switchTitleNames_3: 454 | switchTitleNames_4: 455 | switchTitleNames_5: 456 | switchTitleNames_6: 457 | switchTitleNames_7: 458 | switchTitleNames_8: 459 | switchTitleNames_9: 460 | switchTitleNames_10: 461 | switchTitleNames_11: 462 | switchTitleNames_12: 463 | switchTitleNames_13: 464 | switchTitleNames_14: 465 | switchTitleNames_15: 466 | switchPublisherNames_0: 467 | switchPublisherNames_1: 468 | switchPublisherNames_2: 469 | switchPublisherNames_3: 470 | switchPublisherNames_4: 471 | switchPublisherNames_5: 472 | switchPublisherNames_6: 473 | switchPublisherNames_7: 474 | switchPublisherNames_8: 475 | switchPublisherNames_9: 476 | switchPublisherNames_10: 477 | switchPublisherNames_11: 478 | switchPublisherNames_12: 479 | switchPublisherNames_13: 480 | switchPublisherNames_14: 481 | switchPublisherNames_15: 482 | switchIcons_0: {fileID: 0} 483 | switchIcons_1: {fileID: 0} 484 | switchIcons_2: {fileID: 0} 485 | switchIcons_3: {fileID: 0} 486 | switchIcons_4: {fileID: 0} 487 | switchIcons_5: {fileID: 0} 488 | switchIcons_6: {fileID: 0} 489 | switchIcons_7: {fileID: 0} 490 | switchIcons_8: {fileID: 0} 491 | switchIcons_9: {fileID: 0} 492 | switchIcons_10: {fileID: 0} 493 | switchIcons_11: {fileID: 0} 494 | switchIcons_12: {fileID: 0} 495 | switchIcons_13: {fileID: 0} 496 | switchIcons_14: {fileID: 0} 497 | switchIcons_15: {fileID: 0} 498 | switchSmallIcons_0: {fileID: 0} 499 | switchSmallIcons_1: {fileID: 0} 500 | switchSmallIcons_2: {fileID: 0} 501 | switchSmallIcons_3: {fileID: 0} 502 | switchSmallIcons_4: {fileID: 0} 503 | switchSmallIcons_5: {fileID: 0} 504 | switchSmallIcons_6: {fileID: 0} 505 | switchSmallIcons_7: {fileID: 0} 506 | switchSmallIcons_8: {fileID: 0} 507 | switchSmallIcons_9: {fileID: 0} 508 | switchSmallIcons_10: {fileID: 0} 509 | switchSmallIcons_11: {fileID: 0} 510 | switchSmallIcons_12: {fileID: 0} 511 | switchSmallIcons_13: {fileID: 0} 512 | switchSmallIcons_14: {fileID: 0} 513 | switchSmallIcons_15: {fileID: 0} 514 | switchManualHTML: 515 | switchAccessibleURLs: 516 | switchLegalInformation: 517 | switchMainThreadStackSize: 1048576 518 | switchPresenceGroupId: 519 | switchLogoHandling: 0 520 | switchReleaseVersion: 0 521 | switchDisplayVersion: 1.0.0 522 | switchStartupUserAccount: 0 523 | switchTouchScreenUsage: 0 524 | switchSupportedLanguagesMask: 0 525 | switchLogoType: 0 526 | switchApplicationErrorCodeCategory: 527 | switchUserAccountSaveDataSize: 0 528 | switchUserAccountSaveDataJournalSize: 0 529 | switchApplicationAttribute: 0 530 | switchCardSpecSize: -1 531 | switchCardSpecClock: -1 532 | switchRatingsMask: 0 533 | switchRatingsInt_0: 0 534 | switchRatingsInt_1: 0 535 | switchRatingsInt_2: 0 536 | switchRatingsInt_3: 0 537 | switchRatingsInt_4: 0 538 | switchRatingsInt_5: 0 539 | switchRatingsInt_6: 0 540 | switchRatingsInt_7: 0 541 | switchRatingsInt_8: 0 542 | switchRatingsInt_9: 0 543 | switchRatingsInt_10: 0 544 | switchRatingsInt_11: 0 545 | switchRatingsInt_12: 0 546 | switchLocalCommunicationIds_0: 547 | switchLocalCommunicationIds_1: 548 | switchLocalCommunicationIds_2: 549 | switchLocalCommunicationIds_3: 550 | switchLocalCommunicationIds_4: 551 | switchLocalCommunicationIds_5: 552 | switchLocalCommunicationIds_6: 553 | switchLocalCommunicationIds_7: 554 | switchParentalControl: 0 555 | switchAllowsScreenshot: 1 556 | switchAllowsVideoCapturing: 1 557 | switchAllowsRuntimeAddOnContentInstall: 0 558 | switchDataLossConfirmation: 0 559 | switchUserAccountLockEnabled: 0 560 | switchSystemResourceMemory: 16777216 561 | switchSupportedNpadStyles: 22 562 | switchNativeFsCacheSize: 32 563 | switchIsHoldTypeHorizontal: 0 564 | switchSupportedNpadCount: 8 565 | switchSocketConfigEnabled: 0 566 | switchTcpInitialSendBufferSize: 32 567 | switchTcpInitialReceiveBufferSize: 64 568 | switchTcpAutoSendBufferSizeMax: 256 569 | switchTcpAutoReceiveBufferSizeMax: 256 570 | switchUdpSendBufferSize: 9 571 | switchUdpReceiveBufferSize: 42 572 | switchSocketBufferEfficiency: 4 573 | switchSocketInitializeEnabled: 1 574 | switchNetworkInterfaceManagerInitializeEnabled: 1 575 | switchPlayerConnectionEnabled: 1 576 | switchUseNewStyleFilepaths: 0 577 | switchUseMicroSleepForYield: 1 578 | switchMicroSleepForYieldTime: 25 579 | ps4NPAgeRating: 12 580 | ps4NPTitleSecret: 581 | ps4NPTrophyPackPath: 582 | ps4ParentalLevel: 11 583 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 584 | ps4Category: 0 585 | ps4MasterVersion: 01.00 586 | ps4AppVersion: 01.00 587 | ps4AppType: 0 588 | ps4ParamSfxPath: 589 | ps4VideoOutPixelFormat: 0 590 | ps4VideoOutInitialWidth: 1920 591 | ps4VideoOutBaseModeInitialWidth: 1920 592 | ps4VideoOutReprojectionRate: 60 593 | ps4PronunciationXMLPath: 594 | ps4PronunciationSIGPath: 595 | ps4BackgroundImagePath: 596 | ps4StartupImagePath: 597 | ps4StartupImagesFolder: 598 | ps4IconImagesFolder: 599 | ps4SaveDataImagePath: 600 | ps4SdkOverride: 601 | ps4BGMPath: 602 | ps4ShareFilePath: 603 | ps4ShareOverlayImagePath: 604 | ps4PrivacyGuardImagePath: 605 | ps4ExtraSceSysFile: 606 | ps4NPtitleDatPath: 607 | ps4RemotePlayKeyAssignment: -1 608 | ps4RemotePlayKeyMappingDir: 609 | ps4PlayTogetherPlayerCount: 0 610 | ps4EnterButtonAssignment: 1 611 | ps4ApplicationParam1: 0 612 | ps4ApplicationParam2: 0 613 | ps4ApplicationParam3: 0 614 | ps4ApplicationParam4: 0 615 | ps4DownloadDataSize: 0 616 | ps4GarlicHeapSize: 2048 617 | ps4ProGarlicHeapSize: 2560 618 | playerPrefsMaxSize: 32768 619 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 620 | ps4pnSessions: 1 621 | ps4pnPresence: 1 622 | ps4pnFriends: 1 623 | ps4pnGameCustomData: 1 624 | playerPrefsSupport: 0 625 | enableApplicationExit: 0 626 | resetTempFolder: 1 627 | restrictedAudioUsageRights: 0 628 | ps4UseResolutionFallback: 0 629 | ps4ReprojectionSupport: 0 630 | ps4UseAudio3dBackend: 0 631 | ps4UseLowGarlicFragmentationMode: 1 632 | ps4SocialScreenEnabled: 0 633 | ps4ScriptOptimizationLevel: 0 634 | ps4Audio3dVirtualSpeakerCount: 14 635 | ps4attribCpuUsage: 0 636 | ps4PatchPkgPath: 637 | ps4PatchLatestPkgPath: 638 | ps4PatchChangeinfoPath: 639 | ps4PatchDayOne: 0 640 | ps4attribUserManagement: 0 641 | ps4attribMoveSupport: 0 642 | ps4attrib3DSupport: 0 643 | ps4attribShareSupport: 0 644 | ps4attribExclusiveVR: 0 645 | ps4disableAutoHideSplash: 0 646 | ps4videoRecordingFeaturesUsed: 0 647 | ps4contentSearchFeaturesUsed: 0 648 | ps4CompatibilityPS5: 0 649 | ps4AllowPS5Detection: 0 650 | ps4GPU800MHz: 1 651 | ps4attribEyeToEyeDistanceSettingVR: 0 652 | ps4IncludedModules: 653 | - libc.prx 654 | - libSceAudioLatencyEstimation.prx 655 | - libSceFace.prx 656 | - libSceFaceTracker.prx 657 | - libSceFios2.prx 658 | - libSceHand.prx 659 | - libSceHandTracker.prx 660 | - libSceHeadTracker.prx 661 | - libSceJobManager.prx 662 | - libSceNpToolkit2.prx 663 | - libSceS3DConversion.prx 664 | ps4attribVROutputEnabled: 0 665 | monoEnv: 666 | splashScreenBackgroundSourceLandscape: {fileID: 0} 667 | splashScreenBackgroundSourcePortrait: {fileID: 0} 668 | blurSplashScreenBackground: 1 669 | spritePackerPolicy: 670 | webGLMemorySize: 16 671 | webGLExceptionSupport: 1 672 | webGLNameFilesAsHashes: 0 673 | webGLDataCaching: 1 674 | webGLDebugSymbols: 0 675 | webGLEmscriptenArgs: 676 | webGLModulesDirectory: 677 | webGLTemplate: APPLICATION:Default 678 | webGLAnalyzeBuildSize: 0 679 | webGLUseEmbeddedResources: 0 680 | webGLCompressionFormat: 1 681 | webGLWasmArithmeticExceptions: 0 682 | webGLLinkerTarget: 1 683 | webGLThreadsSupport: 0 684 | webGLDecompressionFallback: 0 685 | scriptingDefineSymbols: {} 686 | additionalCompilerArguments: {} 687 | platformArchitecture: {} 688 | scriptingBackend: 689 | Android: 1 690 | Standalone: 1 691 | il2cppCompilerConfiguration: 692 | Android: 0 693 | managedStrippingLevel: {} 694 | incrementalIl2cppBuild: {} 695 | suppressCommonWarnings: 1 696 | allowUnsafeCode: 0 697 | useDeterministicCompilation: 1 698 | useReferenceAssemblies: 1 699 | enableRoslynAnalyzers: 1 700 | additionalIl2CppArgs: 701 | scriptingRuntimeVersion: 1 702 | gcIncremental: 1 703 | assemblyVersionValidation: 1 704 | gcWBarrierValidation: 0 705 | apiCompatibilityLevelPerPlatform: 706 | Standalone: 6 707 | m_RenderingPath: 1 708 | m_MobileRenderingPath: 1 709 | metroPackageName: Template_Lightweight 710 | metroPackageVersion: 711 | metroCertificatePath: 712 | metroCertificatePassword: 713 | metroCertificateSubject: 714 | metroCertificateIssuer: 715 | metroCertificateNotAfter: 0000000000000000 716 | metroApplicationDescription: Template_Lightweight 717 | wsaImages: {} 718 | metroTileShortName: 719 | metroTileShowName: 0 720 | metroMediumTileShowName: 0 721 | metroLargeTileShowName: 0 722 | metroWideTileShowName: 0 723 | metroSupportStreamingInstall: 0 724 | metroLastRequiredScene: 0 725 | metroDefaultTileSize: 1 726 | metroTileForegroundText: 2 727 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 728 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} 729 | metroSplashScreenUseBackgroundColor: 0 730 | platformCapabilities: {} 731 | metroTargetDeviceFamilies: {} 732 | metroFTAName: 733 | metroFTAFileTypes: [] 734 | metroProtocolName: 735 | XboxOneProductId: 736 | XboxOneUpdateKey: 737 | XboxOneSandboxId: 738 | XboxOneContentId: 739 | XboxOneTitleId: 740 | XboxOneSCId: 741 | XboxOneGameOsOverridePath: 742 | XboxOnePackagingOverridePath: 743 | XboxOneAppManifestOverridePath: 744 | XboxOneVersion: 1.0.0.0 745 | XboxOnePackageEncryption: 0 746 | XboxOnePackageUpdateGranularity: 2 747 | XboxOneDescription: 748 | XboxOneLanguage: 749 | - enus 750 | XboxOneCapability: [] 751 | XboxOneGameRating: {} 752 | XboxOneIsContentPackage: 0 753 | XboxOneEnhancedXboxCompatibilityMode: 0 754 | XboxOneEnableGPUVariability: 1 755 | XboxOneSockets: {} 756 | XboxOneSplashScreen: {fileID: 0} 757 | XboxOneAllowedProductIds: [] 758 | XboxOnePersistentLocalStorageSize: 0 759 | XboxOneXTitleMemory: 8 760 | XboxOneOverrideIdentityName: 761 | XboxOneOverrideIdentityPublisher: 762 | vrEditorSettings: {} 763 | cloudServicesEnabled: 764 | UNet: 1 765 | luminIcon: 766 | m_Name: 767 | m_ModelFolderPath: 768 | m_PortalFolderPath: 769 | luminCert: 770 | m_CertPath: 771 | m_SignPackage: 1 772 | luminIsChannelApp: 0 773 | luminVersion: 774 | m_VersionCode: 1 775 | m_VersionName: 776 | apiCompatibilityLevel: 6 777 | activeInputHandler: 0 778 | cloudProjectId: 779 | framebufferDepthMemorylessMode: 0 780 | qualitySettingsNames: [] 781 | projectName: 782 | organizationId: 783 | cloudEnabled: 0 784 | legacyClampBlendShapeWeights: 0 785 | virtualTexturingSupportEnabled: 0 786 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.3.16f1 2 | m_EditorVersionWithRevision: 2020.3.16f1 (049d6eca3c44) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 2 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 20 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | skinWeights: 2 22 | textureQuality: 0 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.4 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 16 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 16 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | customRenderPipeline: {fileID: 11400000, guid: a31e9f9f9c9d4b9429ed0d1234e22103, type: 2} 44 | excludedTargetPlatforms: [] 45 | - serializedVersion: 2 46 | name: Medium 47 | pixelLightCount: 1 48 | shadows: 1 49 | shadowResolution: 0 50 | shadowProjection: 1 51 | shadowCascades: 1 52 | shadowDistance: 20 53 | shadowNearPlaneOffset: 3 54 | shadowCascade2Split: 0.33333334 55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 56 | shadowmaskMode: 0 57 | skinWeights: 2 58 | textureQuality: 0 59 | anisotropicTextures: 1 60 | antiAliasing: 0 61 | softParticles: 0 62 | softVegetation: 0 63 | realtimeReflectionProbes: 0 64 | billboardsFaceCameraPosition: 0 65 | vSyncCount: 1 66 | lodBias: 0.7 67 | maximumLODLevel: 0 68 | streamingMipmapsActive: 0 69 | streamingMipmapsAddAllCameras: 1 70 | streamingMipmapsMemoryBudget: 512 71 | streamingMipmapsRenderersPerFrame: 512 72 | streamingMipmapsMaxLevelReduction: 2 73 | streamingMipmapsMaxFileIORequests: 1024 74 | particleRaycastBudget: 64 75 | asyncUploadTimeSlice: 2 76 | asyncUploadBufferSize: 16 77 | asyncUploadPersistentBuffer: 1 78 | resolutionScalingFixedDPIFactor: 1 79 | customRenderPipeline: {fileID: 11400000, guid: d847b876476d3d6468f5dfcd34266f96, type: 2} 80 | excludedTargetPlatforms: [] 81 | - serializedVersion: 2 82 | name: High 83 | pixelLightCount: 2 84 | shadows: 2 85 | shadowResolution: 1 86 | shadowProjection: 1 87 | shadowCascades: 2 88 | shadowDistance: 40 89 | shadowNearPlaneOffset: 3 90 | shadowCascade2Split: 0.33333334 91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 92 | shadowmaskMode: 1 93 | skinWeights: 2 94 | textureQuality: 0 95 | anisotropicTextures: 1 96 | antiAliasing: 2 97 | softParticles: 0 98 | softVegetation: 1 99 | realtimeReflectionProbes: 1 100 | billboardsFaceCameraPosition: 1 101 | vSyncCount: 1 102 | lodBias: 1 103 | maximumLODLevel: 0 104 | streamingMipmapsActive: 0 105 | streamingMipmapsAddAllCameras: 1 106 | streamingMipmapsMemoryBudget: 512 107 | streamingMipmapsRenderersPerFrame: 512 108 | streamingMipmapsMaxLevelReduction: 2 109 | streamingMipmapsMaxFileIORequests: 1024 110 | particleRaycastBudget: 256 111 | asyncUploadTimeSlice: 2 112 | asyncUploadBufferSize: 16 113 | asyncUploadPersistentBuffer: 1 114 | resolutionScalingFixedDPIFactor: 1 115 | customRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, type: 2} 116 | excludedTargetPlatforms: [] 117 | m_PerPlatformDefaultQuality: 118 | Android: 1 119 | Lumin: 2 120 | Nintendo Switch: 2 121 | PS4: 2 122 | Stadia: 2 123 | Standalone: 2 124 | WebGL: 1 125 | Windows Store Apps: 2 126 | XboxOne: 2 127 | iPhone: 1 128 | tvOS: 1 129 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/TimelineSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | assetDefaultFramerate: 60 16 | -------------------------------------------------------------------------------- /ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 4 16 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Notion SDK for Unity 2 | This is the beginnings of a crude C# port of [Neurosity JS SDK](https://github.com/neurosity/notion-js) for use within the Unity3D game engine. This was created to demonstrate how an official Notion Unity SDK might work but more importantly how the NodeJS dependency isn't required when working with Unity and in theory other game engines. 3 | 4 | ## Dependencies 5 | * [Unity 2020.3.15 LTS or newer](https://unity3d.com/get-unity/download/archive) 6 | * [Firebase for Unity Authentication](https://developers.google.com/unity/packages#firebase_authentication) 7 | * [Firebase for Unity Realtime Database](https://developers.google.com/unity/packages#firebase_realtime_database) 8 | * [Json.NET by jilleJr](https://github.com/jilleJr/Newtonsoft.Json-for-Unity) 9 | * [External Dependency Manager](https://developers.google.com/unity/packages#external_dependency_manager_for_unity) 10 | 11 | ## Features 12 | This is very much a work in progress. It is feature incomplete, there will be bugs, very little error checking and the architecture isn't sound. The implemented features are not guaranteed to have exact 1-to-1 API parity of the JS SDK but that is the eventual goal. 13 | 14 | The following list is what has been implemented: 15 | * [Accelerometer](https://docs.neurosity.co/docs/reference/classes/notion#accelerometer) 16 | * [Brainwaves](https://docs.neurosity.co/docs/reference/classes/notion#accelerometer) 17 | * [Login](https://docs.neurosity.co/docs/reference/classes/notion#login) 18 | * [Logout](https://docs.neurosity.co/docs/reference/classes/notion#logout) 19 | * [Calm](https://docs.neurosity.co/docs/reference/classes/notion#calm) 20 | * [Focus](https://docs.neurosity.co/docs/reference/classes/notion#focus) 21 | * [GetDevices](https://docs.neurosity.co/docs/reference/classes/notion#getdevices) 22 | * [GetSelectedDevice](https://docs.neurosity.co/docs/reference/classes/notion#getselecteddevice) 23 | * [Status](https://docs.neurosity.co/docs/reference/classes/notion#status) 24 | 25 | ## How to Use 26 | This has only been tested in the Unity Editor and Android. In theory this should work on iOS as there is no device specific implementations of the notion functionality. 27 | 28 | 1. Open in Unity 2020.3.15 LTS or newer 29 | 2. Create a Device ScriptableObject instance. `Create -> Assets -> Device` and fill out the ScriptableObject with your credentials and device ID. 30 | 3. Open `Scripts/Notion-Unity/Example/NotionExample`. Select `NotionTester` in the Hierarchy and select your newly created Device asset in the Notion Tester component. 31 | 4. You should now be able to play the NotionExample scene. The buttons in the UI will print all results to the Console. 32 | 33 | ## Using in Other Projects 34 | Other apps will require your own Firebase project, you can follow [Firebase Documentation](https://firebase.google.com/docs/unity/setup) for help on that. There is a stub setup for this repo but any app developed using the Notion Unity SDK will eventually require you to setup your own Firebase account. This is currently a requirement as the Neurosity tech is built on top of Firebase and the Unity Firebase SDKs require `google-services.json` and `GoogleService-Into.plist` to be unique for each store app. 35 | --------------------------------------------------------------------------------