From 807eaada4c298ad5636e72f69125c72c7f01f646 Mon Sep 17 00:00:00 2001 From: 200Tigersbloxed <45884377+200Tigersbloxed@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:50:42 -0400 Subject: [PATCH] 2024.07.1b Changes for this push: + Added vlc-unity integration + Toggle-able with scripting definition VLC + Exclude VLCUnity folder (and logo.png for those testing vlc-unity demo) + Still a huge WIP + Disable with `--no-vlc` + Added Component Security + Prevents blacklisted components from loading on all assets + Automatically sets restrictions on certain components + LocalPlayer no longer gets moved to the current scene (they stay in DontDestroyOnLoad) + RockNRoll Gesture can now be activated regardless of thumb + Added trusted URLs + Switch to DX11 as main on Windows --- .gitignore | 5 + Assets/Avatar.mixer | 70 + Assets/Avatar.mixer.meta | 8 + .../Libs/Hypernex.CCK/Hypernex.CCK.Unity.dll | Bin 26624 -> 32256 bytes Assets/Libs/Hypernex.CCK/Hypernex.CCK.dll | Bin 29696 -> 275968 bytes Assets/Scenes/SampleScene.unity | 5463 ++++++++++++++--- Assets/Scripts/Configuration/Config.cs | 3 + .../Configuration/ConfigMeta/ConfigUser.cs | 14 +- Assets/Scripts/Game/Avatar/AvatarCreator.cs | 9 +- .../Scripts/Game/Avatar/FingerCalibration.cs | 7 +- .../Scripts/Game/Avatar/LocalAvatarCreator.cs | 4 +- .../Scripts/Game/Avatar/NetAvatarCreator.cs | 5 +- Assets/Scripts/Game/GameInstance.cs | 108 +- Assets/Scripts/Game/LocalPlayer.cs | 7 - Assets/Scripts/Game/NetPlayer.cs | 13 +- Assets/Scripts/Game/Video/UnityVideoPlayer.cs | 15 +- Assets/Scripts/Game/Video/VLCVideoPlayer.cs | 778 +++ .../Scripts/Game/Video/VLCVideoPlayer.cs.meta | 3 + .../Scripts/Game/Video/VideoPlayerManager.cs | 78 + .../Game/Video/VideoPlayerManager.cs.meta | 3 + Assets/Scripts/Init.cs | 14 +- .../Sandboxing/SandboxedTypes/Cobalt.cs | 62 +- .../Sandboxing/SandboxedTypes/Video.cs | 68 +- Assets/Scripts/Tools/DownloadTools.cs | 29 + Assets/Scripts/Tools/Extensions.cs | 3 +- Assets/Scripts/Tools/SecurityTools.cs | 154 + Assets/Scripts/Tools/SecurityTools.cs.meta | 3 + .../UI/Templates/ComponentToggleButton.cs | 123 + .../Templates/ComponentToggleButton.cs.meta | 3 + .../Scripts/UIActions/SettingsPageManager.cs | 44 +- Assets/Textures/badaudio.png | Bin 0 -> 22768 bytes Assets/Textures/badaudio.png.meta | 124 + Assets/Textures/badlight.png | Bin 0 -> 10881 bytes Assets/Textures/badlight.png.meta | 124 + Assets/Textures/badparticle.png | Bin 0 -> 22810 bytes Assets/Textures/badparticle.png.meta | 124 + Assets/Textures/badphysics.png | Bin 0 -> 11946 bytes Assets/Textures/badphysics.png.meta | 124 + Assets/Textures/badscript.png | Bin 0 -> 25666 bytes Assets/Textures/badscript.png.meta | 124 + Assets/Textures/badui.png | Bin 0 -> 22032 bytes Assets/Textures/badui.png.meta | 124 + Assets/VLCUnity.meta | 8 + ProjectSettings/ProjectSettings.asset | 8 +- 44 files changed, 6859 insertions(+), 997 deletions(-) create mode 100644 Assets/Avatar.mixer create mode 100644 Assets/Avatar.mixer.meta create mode 100644 Assets/Scripts/Game/Video/VLCVideoPlayer.cs create mode 100644 Assets/Scripts/Game/Video/VLCVideoPlayer.cs.meta create mode 100644 Assets/Scripts/Game/Video/VideoPlayerManager.cs create mode 100644 Assets/Scripts/Game/Video/VideoPlayerManager.cs.meta create mode 100644 Assets/Scripts/Tools/SecurityTools.cs create mode 100644 Assets/Scripts/Tools/SecurityTools.cs.meta create mode 100644 Assets/Scripts/UI/Templates/ComponentToggleButton.cs create mode 100644 Assets/Scripts/UI/Templates/ComponentToggleButton.cs.meta create mode 100644 Assets/Textures/badaudio.png create mode 100644 Assets/Textures/badaudio.png.meta create mode 100644 Assets/Textures/badlight.png create mode 100644 Assets/Textures/badlight.png.meta create mode 100644 Assets/Textures/badparticle.png create mode 100644 Assets/Textures/badparticle.png.meta create mode 100644 Assets/Textures/badphysics.png create mode 100644 Assets/Textures/badphysics.png.meta create mode 100644 Assets/Textures/badscript.png create mode 100644 Assets/Textures/badscript.png.meta create mode 100644 Assets/Textures/badui.png create mode 100644 Assets/Textures/badui.png.meta create mode 100644 Assets/VLCUnity.meta diff --git a/.gitignore b/.gitignore index 37fd0a4c..aa0e9ec3 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,11 @@ crashlytics-build.properties /[Aa]ssets/MagicaCloth2 /[Aa]ssets/StreamingAssets +# VLCUnity (kinda paid but not really) +/[Aa]ssets/VLCUnity +# For people testing the trial VLCUnity package +logo.png + # Publisher Specific /[Aa]ssets/Scripts/Game/BadgesRanks /[Aa]ssets/BadgeRankContent \ No newline at end of file diff --git a/Assets/Avatar.mixer b/Assets/Avatar.mixer new file mode 100644 index 00000000..0054e6e8 --- /dev/null +++ b/Assets/Avatar.mixer @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!241 &24100000 +AudioMixerController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Avatar + m_OutputGroup: {fileID: 0} + m_MasterGroup: {fileID: 24300002} + m_Snapshots: + - {fileID: 24500006} + m_StartSnapshot: {fileID: 24500006} + m_SuspendThreshold: -80 + m_EnableSuspend: 1 + m_UpdateMode: 0 + m_ExposedParameters: + - guid: 12f086ea573bea048af71af1f9830c9c + name: volume + m_AudioMixerGroupViews: + - guids: + - f92237c290346394b9da6193e036406f + name: View + m_CurrentViewIndex: 0 + m_TargetSnapshot: {fileID: 24500006} +--- !u!243 &24300002 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Master + m_AudioMixer: {fileID: 24100000} + m_GroupID: f92237c290346394b9da6193e036406f + m_Children: [] + m_Volume: 12f086ea573bea048af71af1f9830c9c + m_Pitch: 716657db86865444e82d4649c939f9ad + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 24400004} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &24400004 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: d18f43aa172fb364d804f7f395cf628a + m_EffectName: Attenuation + m_MixLevel: b54cef24b1b4c5441ba3b2d199b1f7c6 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!245 &24500006 +AudioMixerSnapshotController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Snapshot + m_AudioMixer: {fileID: 24100000} + m_SnapshotID: b7512a1364fdf834caa1bbaa40c1f4a8 + m_FloatValues: {} + m_TransitionOverrides: {} diff --git a/Assets/Avatar.mixer.meta b/Assets/Avatar.mixer.meta new file mode 100644 index 00000000..c1f58311 --- /dev/null +++ b/Assets/Avatar.mixer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9bd0ac549f68a04c91ce707dd880239 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 24100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Libs/Hypernex.CCK/Hypernex.CCK.Unity.dll b/Assets/Libs/Hypernex.CCK/Hypernex.CCK.Unity.dll index cc380da8245d576aa9363c051c4caf1aff30424c..52bafc5a71c6ae95fa5a846549b0423aac3b406a 100644 GIT binary patch literal 32256 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 delta 12187 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 diff --git a/Assets/Libs/Hypernex.CCK/Hypernex.CCK.dll b/Assets/Libs/Hypernex.CCK/Hypernex.CCK.dll index 2489293378aa19082c981eef7a1728b3649592b0..1cab632a3f76420d7e71530ca36d7e59a1d5cb21 100644 GIT binary patch literal 275968 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

`|Vz1r@b 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 O^wdUtHqifQ2L1wSZQ9=e literal 29696 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 QPx;?c;{O!#|Bwg%H^Lzg+5i9m diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 2ad51468..e1effedd 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -193,6 +193,45 @@ MonoBehaviour: - {fileID: 176914095} - {fileID: 1871996122} - {fileID: 1440565942} +--- !u!21 &2797711 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &5218144 GameObject: m_ObjectHideFlags: 0 @@ -787,7 +826,7 @@ RectTransform: m_Father: {fileID: 403775221} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0.5, y: 1} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 10, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -2241,6 +2280,157 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 +--- !u!1 &23797356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 23797357} + - component: {fileID: 23797361} + - component: {fileID: 23797360} + - component: {fileID: 23797359} + - component: {fileID: 23797358} + m_Layer: 6 + m_Name: Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &23797357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 23797356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 191748571} + - {fileID: 506610420} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 190.00002, y: 75} + m_SizeDelta: {x: 125, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &23797358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 23797356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} + m_Name: + m_EditorClassIdentifier: + SettingsPageManager: {fileID: 510025322} + Safety: 4 + Label: {fileID: 191748572} + Icon: {fileID: 506610421} +--- !u!114 &23797359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 23797356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 23797360} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 23797358} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &23797360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 23797356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &23797361 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 23797356} + m_CullTransparentMesh: 1 --- !u!1 &23910537 GameObject: m_ObjectHideFlags: 0 @@ -3552,6 +3742,42 @@ RectTransform: m_AnchoredPosition: {x: 350.00003, y: -73.100006} m_SizeDelta: {x: 680, y: 34.21} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &47972204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 47972205} + m_Layer: 6 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &47972205 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 47972204} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 562930846} + m_Father: {fileID: 411831265} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -4.9999695, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &50429881 GameObject: m_ObjectHideFlags: 0 @@ -6875,7 +7101,7 @@ RectTransform: m_AnchoredPosition: {x: 129.42, y: 2.961} m_SizeDelta: {x: 836.52, y: 474.07} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &112043357 +--- !u!1 &110093661 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6883,134 +7109,285 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 112043358} - - component: {fileID: 112043360} - - component: {fileID: 112043359} + - component: {fileID: 110093662} + - component: {fileID: 110093666} + - component: {fileID: 110093665} + - component: {fileID: 110093664} + - component: {fileID: 110093663} m_Layer: 6 - m_Name: Arrow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &112043358 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 112043357} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1859193738} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -15, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &112043359 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 112043357} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &112043360 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 112043357} - m_CullTransparentMesh: 1 ---- !u!1 &113904695 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 113904696} - - component: {fileID: 113904700} - - component: {fileID: 113904699} - - component: {fileID: 113904698} - - component: {fileID: 113904697} - m_Layer: 6 - m_Name: CalibrateHeight + m_Name: Audio m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &113904696 +--- !u!224 &110093662 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 113904695} + m_GameObject: {fileID: 110093661} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 397381178} - m_Father: {fileID: 1843932841} + - {fileID: 208411949} + - {fileID: 1172910230} + m_Father: {fileID: 2022465651} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.000091553, y: -203} - m_SizeDelta: {x: 822.4, y: 30} + m_AnchoredPosition: {x: -79.99999, y: 75} + m_SizeDelta: {x: 125, y: 150} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &113904697 +--- !u!114 &110093663 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 113904695} + m_GameObject: {fileID: 110093661} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} m_Name: m_EditorClassIdentifier: - ThemeType: 4 - ButtonType: 0 ---- !u!114 &113904698 + SettingsPageManager: {fileID: 510025322} + Safety: 2 + Label: {fileID: 208411950} + Icon: {fileID: 1172910231} +--- !u!114 &110093664 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 113904695} + m_GameObject: {fileID: 110093661} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 110093665} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 110093663} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &110093665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110093661} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &110093666 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110093661} + m_CullTransparentMesh: 1 +--- !u!1 &112043357 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 112043358} + - component: {fileID: 112043360} + - component: {fileID: 112043359} + m_Layer: 6 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &112043358 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112043357} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1859193738} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &112043359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112043357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &112043360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 112043357} + m_CullTransparentMesh: 1 +--- !u!1 &113904695 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 113904696} + - component: {fileID: 113904700} + - component: {fileID: 113904699} + - component: {fileID: 113904698} + - component: {fileID: 113904697} + m_Layer: 6 + m_Name: CalibrateHeight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &113904696 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113904695} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 397381178} + m_Father: {fileID: 1843932841} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000091553, y: -203} + m_SizeDelta: {x: 822.4, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &113904697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113904695} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 4 + ButtonType: 0 +--- !u!114 &113904698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 113904695} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} @@ -8688,45 +9065,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 138813920} m_CullTransparentMesh: 1 ---- !u!21 &139301347 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &139955513 GameObject: m_ObjectHideFlags: 0 @@ -10252,45 +10590,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 156551716} m_CullTransparentMesh: 1 ---- !u!21 &156864611 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 150, g: 150, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &157049403 GameObject: m_ObjectHideFlags: 0 @@ -12210,7 +12509,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &181668000 RectTransform: m_ObjectHideFlags: 0 @@ -13086,6 +13385,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 189858539} m_CullTransparentMesh: 1 +--- !u!1 &191748570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 191748571} + - component: {fileID: 191748573} + - component: {fileID: 191748572} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &191748571 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191748570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 23797357} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &191748572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191748570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Lights + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &191748573 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191748570} + m_CullTransparentMesh: 1 --- !u!1 &192423189 GameObject: m_ObjectHideFlags: 0 @@ -14138,45 +14571,140 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 600} m_Pivot: {x: 0, y: 1} ---- !u!21 &209612705 -Material: - serializedVersion: 8 +--- !u!1 &208411948 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 626.89, g: 408.83, b: 10, a: 0} - m_BuildTextureStacks: [] + serializedVersion: 6 + m_Component: + - component: {fileID: 208411949} + - component: {fileID: 208411951} + - component: {fileID: 208411950} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &208411949 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 208411948} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 110093662} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &208411950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 208411948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Audio + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &208411951 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 208411948} + m_CullTransparentMesh: 1 --- !u!1 &211001780 GameObject: m_ObjectHideFlags: 0 @@ -15140,7 +15668,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 424905339} + m_Material: {fileID: 2049975357} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -15265,45 +15793,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_IsOn: 1 ---- !u!21 &222872163 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &228095087 GameObject: m_ObjectHideFlags: 0 @@ -22547,7 +23036,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 590394597} + m_Material: {fileID: 562370717} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -23075,6 +23564,154 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &345336148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 345336149} + - component: {fileID: 345336153} + - component: {fileID: 345336152} + - component: {fileID: 345336151} + - component: {fileID: 345336150} + m_Layer: 6 + m_Name: Security + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &345336149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345336148} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2116607818} + m_Father: {fileID: 1539901393} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 22} + m_SizeDelta: {x: 220.64, y: 51.24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &345336150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345336148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 4 + ButtonType: 1 +--- !u!114 &345336151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345336148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 345336152} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 510025322} + m_TargetAssemblyTypeName: Hypernex.UIActions.SettingsPageManager, Assembly-CSharp + m_MethodName: OnSecuritySettings + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &345336152 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345336148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &345336153 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 345336148} + m_CullTransparentMesh: 1 --- !u!1 &346017909 GameObject: m_ObjectHideFlags: 0 @@ -23756,7 +24393,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1827373054} + m_Material: {fileID: 691017490} m_Color: {r: 0.10588236, g: 0.10588236, b: 0.10588236, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -25130,6 +25767,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 389170520} m_CullTransparentMesh: 1 +--- !u!1 &389246170 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 389246171} + - component: {fileID: 389246173} + - component: {fileID: 389246172} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &389246171 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 389246170} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1412621137} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 2.375} + m_SizeDelta: {x: 0, y: -4.75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &389246172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 389246170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Friends + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &389246173 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 389246170} + m_CullTransparentMesh: 1 --- !u!1 &390123065 GameObject: m_ObjectHideFlags: 0 @@ -26470,6 +27241,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 408275530} m_CullTransparentMesh: 1 +--- !u!21 &409113401 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 150, g: 150, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &410087039 GameObject: m_ObjectHideFlags: 0 @@ -26737,6 +27547,111 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 2 ButtonType: 0 +--- !u!1 &411831264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 411831265} + - component: {fileID: 411831267} + - component: {fileID: 411831266} + m_Layer: 6 + m_Name: AudioAudioSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &411831265 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 411831264} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1263766606} + - {fileID: 47972205} + - {fileID: 584989270} + m_Father: {fileID: 1558932688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 418.26, y: -254.63261} + m_SizeDelta: {x: 829.46, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &411831266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 411831264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 6 + ButtonType: 0 +--- !u!114 &411831267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 411831264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1389589066} + m_FillRect: {fileID: 562930846} + m_HandleRect: {fileID: 1389589065} + m_Direction: 0 + m_MinValue: -80 + m_MaxValue: 0 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &413467983 GameObject: m_ObjectHideFlags: 0 @@ -27534,45 +28449,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 418414744} m_CullTransparentMesh: 1 ---- !u!21 &424905339 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 50, g: 50, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &426371954 GameObject: m_ObjectHideFlags: 0 @@ -30054,7 +30930,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 1.765, y: -70.4} + m_AnchoredPosition: {x: 1.765, y: -155.39996} m_SizeDelta: {x: 825.93, y: 56.19} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &464418382 @@ -30647,7 +31523,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 23} + m_AnchoredPosition: {x: 0, y: -36.999878} m_SizeDelta: {x: 220.64, y: 51.24} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &472557460 @@ -31419,6 +32295,157 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 479985748} m_CullTransparentMesh: 1 +--- !u!1 &480826642 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 480826643} + - component: {fileID: 480826647} + - component: {fileID: 480826646} + - component: {fileID: 480826645} + - component: {fileID: 480826644} + m_Layer: 6 + m_Name: UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &480826643 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480826642} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2037281005} + - {fileID: 1976013182} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 55.000008, y: 75} + m_SizeDelta: {x: 125, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &480826644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480826642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} + m_Name: + m_EditorClassIdentifier: + SettingsPageManager: {fileID: 510025322} + Safety: 3 + Label: {fileID: 2037281006} + Icon: {fileID: 1976013183} +--- !u!114 &480826645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480826642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 480826646} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 480826644} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &480826646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480826642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &480826647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480826642} + m_CullTransparentMesh: 1 --- !u!1 &486054185 GameObject: m_ObjectHideFlags: 0 @@ -31617,7 +32644,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 156864611} + m_Material: {fileID: 409113401} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -32783,6 +33810,81 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_IsOn: 1 +--- !u!1 &506610419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 506610420} + - component: {fileID: 506610422} + - component: {fileID: 506610421} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &506610420 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506610419} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 23797357} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &506610421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506610419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2c323526ca956fe46a735807dbcb06e6, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &506610422 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506610419} + m_CullTransparentMesh: 1 --- !u!1 &510025320 GameObject: m_ObjectHideFlags: 0 @@ -32816,6 +33918,7 @@ RectTransform: - {fileID: 181668000} - {fileID: 1558932688} - {fileID: 110001567} + - {fileID: 2022465651} - {fileID: 1843932841} - {fileID: 283424166} - {fileID: 676585833} @@ -32844,6 +33947,7 @@ MonoBehaviour: - {fileID: 181667999} - {fileID: 1558932687} - {fileID: 110001566} + - {fileID: 2022465650} - {fileID: 1843932840} - {fileID: 283424165} - {fileID: 676585832} @@ -32857,12 +33961,25 @@ MonoBehaviour: VoicesBoostSliderValueText: {fileID: 1222087481} WorldAudioSlider: {fileID: 1615646677} WorldAudioSliderValueText: {fileID: 1004265915} + AvatarAudioSlider: {fileID: 411831267} + AvatarAudioSliderValueText: {fileID: 815954670} NoiseSuppressionToggle: {fileID: 763860110} UserPanel: {fileID: 110001566} ThemeSelection: {fileID: 706150791} EmojiTypeSelection: {fileID: 2006614213} AudioCompressionSelection: {fileID: 1859193737} GestureSelection: {fileID: 1528341144} + SecurityPanel: {fileID: 2022465650} + ComponentToggleButtons: + - {fileID: 1521642901} + - {fileID: 1021164573} + - {fileID: 110093663} + - {fileID: 480826644} + - {fileID: 23797358} + - {fileID: 1747165053} + SelectedSecurityType: 0 + AnyoneButton: {fileID: 1960150929} + FriendsButton: {fileID: 1412621139} VRPanel: {fileID: 1843932840} UseSnapTurnValue: {fileID: 1060249781} SnapTurnDegreeSlider: {fileID: 1436814760} @@ -35527,6 +36644,135 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!21 &562370717 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} + m_BuildTextureStacks: [] +--- !u!1 &562930845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562930846} + - component: {fileID: 562930849} + - component: {fileID: 562930848} + - component: {fileID: 562930847} + m_Layer: 6 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &562930846 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562930845} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 47972205} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &562930847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562930845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 8 + ButtonType: 0 +--- !u!114 &562930848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562930845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &562930849 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562930845} + m_CullTransparentMesh: 1 --- !u!1 &563328841 GameObject: m_ObjectHideFlags: 0 @@ -37028,6 +38274,42 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 583699771} m_CullTransparentMesh: 1 +--- !u!1 &584989269 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 584989270} + m_Layer: 6 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &584989270 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 584989269} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1389589065} + m_Father: {fileID: 411831265} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &584992274 GameObject: m_ObjectHideFlags: 0 @@ -37656,45 +38938,6 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 8 ButtonType: 0 ---- !u!21 &590394597 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &591950862 GameObject: m_ObjectHideFlags: 0 @@ -39994,7 +41237,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 139301347} + m_Material: {fileID: 2797711} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -43554,6 +44797,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 690913423} m_CullTransparentMesh: 1 +--- !u!21 &691017490 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 500, g: 280, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &693084642 GameObject: m_ObjectHideFlags: 0 @@ -45386,6 +46668,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 712295690} m_CullTransparentMesh: 1 +--- !u!21 &716902302 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 626.892, g: 198, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &717755180 GameObject: m_ObjectHideFlags: 0 @@ -48257,7 +49578,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 1.185, y: -23.000065} + m_AnchoredPosition: {x: 1.185, y: -108.000015} m_SizeDelta: {x: 827.09, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &763860112 @@ -48719,6 +50040,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 769287788} m_CullTransparentMesh: 1 +--- !u!21 &769819583 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 500, g: 280, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &771225427 GameObject: m_ObjectHideFlags: 0 @@ -48871,7 +50231,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 845552203} + m_Material: {fileID: 1258286272} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -49430,45 +50790,6 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 1 ButtonType: 0 ---- !u!21 &779093188 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 399, g: 162.95, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &782004781 GameObject: m_ObjectHideFlags: 0 @@ -50870,6 +52191,155 @@ MonoBehaviour: - 0 - 0 - 0 +--- !u!1 &815954666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 815954667} + - component: {fileID: 815954669} + - component: {fileID: 815954670} + - component: {fileID: 815954668} + m_Layer: 6 + m_Name: SliderValue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &815954667 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815954666} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1389589065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.9, y: -17} + m_SizeDelta: {x: 60.96, y: 14.13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &815954668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815954666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 2 + ButtonType: 0 +--- !u!222 &815954669 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815954666} + m_CullTransparentMesh: 1 +--- !u!114 &815954670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815954666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 00.00 dB + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12.6 + m_fontSizeBase: 12.6 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 4 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &817528599 GameObject: m_ObjectHideFlags: 0 @@ -51508,8 +52978,8 @@ RectTransform: - {fileID: 1004265918} m_Father: {fileID: 559444374} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 1} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -53081,45 +54551,6 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 9 ButtonType: 0 ---- !u!21 &845552203 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 100, g: 100, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &850169770 GameObject: m_ObjectHideFlags: 0 @@ -54911,7 +56342,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 222872163} + m_Material: {fileID: 2067821078} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -64746,7 +66177,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1049060517} + m_Material: {fileID: 716902302} m_Color: {r: 0.10588236, g: 0.10588236, b: 0.10588236, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -66069,6 +67500,157 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &1021164571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1021164572} + - component: {fileID: 1021164576} + - component: {fileID: 1021164575} + - component: {fileID: 1021164574} + - component: {fileID: 1021164573} + m_Layer: 6 + m_Name: Physics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1021164572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021164571} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1345609293} + - {fileID: 1557504220} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -214.99998, y: 75} + m_SizeDelta: {x: 125, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1021164573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021164571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} + m_Name: + m_EditorClassIdentifier: + SettingsPageManager: {fileID: 510025322} + Safety: 1 + Label: {fileID: 1345609294} + Icon: {fileID: 1557504221} +--- !u!114 &1021164574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021164571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1021164575} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1021164573} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1021164575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021164571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1021164576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1021164571} + m_CullTransparentMesh: 1 --- !u!1 &1022250253 GameObject: m_ObjectHideFlags: 0 @@ -66247,6 +67829,140 @@ MonoBehaviour: ButtonDisabledColor: {r: 0, g: 0, b: 0, a: 0.7529412} ButtonLabelColor: {r: 1, g: 1, b: 1, a: 1} ButtonFont: {fileID: 11400000, guid: 90592122546b99c4cb803fe6723d429d, type: 2} +--- !u!1 &1027781467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1027781468} + - component: {fileID: 1027781470} + - component: {fileID: 1027781469} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1027781468 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027781467} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1960150927} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 2.375} + m_SizeDelta: {x: 0, y: -4.75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1027781469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027781467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Anyone + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1027781470 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027781467} + m_CullTransparentMesh: 1 --- !u!1 &1029319736 GameObject: m_ObjectHideFlags: 0 @@ -67639,7 +69355,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1335731756} + m_Material: {fileID: 769819583} m_Color: {r: 0.10588236, g: 0.10588236, b: 0.10588236, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -67981,45 +69697,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1048995689} m_CullTransparentMesh: 1 ---- !u!21 &1049060517 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 626.892, g: 198, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &1049114789 GameObject: m_ObjectHideFlags: 0 @@ -74186,6 +75863,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1155447636} m_CullTransparentMesh: 1 +--- !u!1 &1157694416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157694417} + - component: {fileID: 1157694419} + - component: {fileID: 1157694418} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1157694417 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157694416} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1521642897} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1157694418 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157694416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a69620ddfd25c4b4f866ece87f1e6e14, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1157694419 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157694416} + m_CullTransparentMesh: 1 --- !u!1 &1160552095 GameObject: m_ObjectHideFlags: 0 @@ -75480,6 +77232,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1171390428} m_CullTransparentMesh: 1 +--- !u!1 &1172910229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1172910230} + - component: {fileID: 1172910232} + - component: {fileID: 1172910231} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1172910230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172910229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 110093662} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1172910231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172910229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 74cd4ce53deb2e64bb838876b9f28480, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1172910232 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172910229} + m_CullTransparentMesh: 1 --- !u!1 &1173105830 GameObject: m_ObjectHideFlags: 0 @@ -80384,6 +82211,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1257522455} m_CullTransparentMesh: 1 +--- !u!21 &1258286272 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 100, g: 100, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &1258798068 GameObject: m_ObjectHideFlags: 0 @@ -80525,6 +82391,96 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1258798068} m_CullTransparentMesh: 1 +--- !u!1 &1263766605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1263766606} + - component: {fileID: 1263766609} + - component: {fileID: 1263766608} + - component: {fileID: 1263766607} + m_Layer: 6 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1263766606 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1263766605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 411831265} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1263766607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1263766605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 1 + ButtonType: 0 +--- !u!114 &1263766608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1263766605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1263766609 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1263766605} + m_CullTransparentMesh: 1 --- !u!1 &1266771961 GameObject: m_ObjectHideFlags: 0 @@ -82299,6 +84255,215 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1283452917} m_CullTransparentMesh: 1 +--- !u!1 &1285079697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1285079698} + - component: {fileID: 1285079700} + - component: {fileID: 1285079699} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1285079698 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285079697} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1747165052} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1285079699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285079697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Particles + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1285079700 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285079697} + m_CullTransparentMesh: 1 +--- !u!1 &1285241405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1285241406} + - component: {fileID: 1285241408} + - component: {fileID: 1285241407} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1285241406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285241405} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1747165052} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1285241407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285241405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 73dc2358ace7ea94698a6b7be0b27ceb, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1285241408 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285241405} + m_CullTransparentMesh: 1 --- !u!1 &1286031188 GameObject: m_ObjectHideFlags: 0 @@ -82753,7 +84918,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 1556925370} + m_Material: {fileID: 1992792857} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -85333,45 +87498,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1334251075} m_CullTransparentMesh: 1 ---- !u!21 &1335731756 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 500, g: 280, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &1336485800 GameObject: m_ObjectHideFlags: 0 @@ -85585,6 +87711,140 @@ MonoBehaviour: DesktopSprite: {fileID: 21300000, guid: 51b03640dda414e4185fb25b07fb1caa, type: 3} VRSprite: {fileID: 21300000, guid: 37105e454b6074c439e06007651a8286, type: 3} RespawnButton: {fileID: 805783674} +--- !u!1 &1345609292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1345609293} + - component: {fileID: 1345609295} + - component: {fileID: 1345609294} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1345609293 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1345609292} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1021164572} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1345609294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1345609292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Physics + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1345609295 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1345609292} + m_CullTransparentMesh: 1 --- !u!1 &1348082953 GameObject: m_ObjectHideFlags: 0 @@ -87378,22 +89638,170 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1979969011} - m_HandleRect: {fileID: 1979969010} - m_Direction: 2 - m_Value: 1 - m_Size: 0.5845375 - m_NumberOfSteps: 0 - m_OnValueChanged: + m_TargetGraphic: {fileID: 1979969011} + m_HandleRect: {fileID: 1979969010} + m_Direction: 2 + m_Value: 1 + m_Size: 0.5845375 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1380615791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380615787} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1380615792 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380615787} + m_CullTransparentMesh: 1 +--- !u!1 &1381380479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1381380480} + - component: {fileID: 1381380484} + - component: {fileID: 1381380483} + - component: {fileID: 1381380482} + - component: {fileID: 1381380481} + m_Layer: 6 + m_Name: Create + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1381380480 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1381380479} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 57173515} + m_Father: {fileID: 574010329} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -140, y: -228} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1381380481 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1381380479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 4 + ButtonType: 0 +--- !u!114 &1381380482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1381380479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1381380483} + m_OnClick: m_PersistentCalls: - m_Calls: [] ---- !u!114 &1380615791 + m_Calls: + - m_Target: {fileID: 486775921} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.CreateInstanceTemplate, Assembly-CSharp + m_MethodName: Create + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1381380483 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1380615787} + m_GameObject: {fileID: 1381380479} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -87407,7 +89815,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -87417,15 +89825,15 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1380615792 +--- !u!222 &1381380484 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1380615787} + m_GameObject: {fileID: 1381380479} m_CullTransparentMesh: 1 ---- !u!1 &1381380479 +--- !u!1 &1389589064 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -87433,115 +89841,43 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1381380480} - - component: {fileID: 1381380484} - - component: {fileID: 1381380483} - - component: {fileID: 1381380482} - - component: {fileID: 1381380481} + - component: {fileID: 1389589065} + - component: {fileID: 1389589067} + - component: {fileID: 1389589066} m_Layer: 6 - m_Name: Create + m_Name: Handle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1381380480 +--- !u!224 &1389589065 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1381380479} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 1389589064} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 57173515} - m_Father: {fileID: 574010329} + - {fileID: 815954667} + m_Father: {fileID: 584989270} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -140, y: -228} - m_SizeDelta: {x: 160, y: 30} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1381380481 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1381380479} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} - m_Name: - m_EditorClassIdentifier: - ThemeType: 4 - ButtonType: 0 ---- !u!114 &1381380482 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1381380479} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1381380483} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 486775921} - m_TargetAssemblyTypeName: Hypernex.UI.Templates.CreateInstanceTemplate, Assembly-CSharp - m_MethodName: Create - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &1381380483 +--- !u!114 &1389589066 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1381380479} + m_GameObject: {fileID: 1389589064} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -87555,8 +89891,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -87565,13 +89901,13 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1381380484 +--- !u!222 &1389589067 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1381380479} + m_GameObject: {fileID: 1389589064} m_CullTransparentMesh: 1 --- !u!1 &1390625582 GameObject: @@ -88006,6 +90342,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392976736} m_CullTransparentMesh: 1 +--- !u!21 &1393631690 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 399, g: 162.95, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &1393667696 GameObject: m_ObjectHideFlags: 0 @@ -89580,6 +91955,154 @@ RectTransform: m_AnchoredPosition: {x: 0.000061035156, y: 1.14} m_SizeDelta: {x: 0, y: 14.37} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1412621136 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1412621137} + - component: {fileID: 1412621141} + - component: {fileID: 1412621140} + - component: {fileID: 1412621139} + - component: {fileID: 1412621138} + m_Layer: 6 + m_Name: Friends + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1412621137 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412621136} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9976013, y: 0.9976013, z: 0.9976013} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 389246171} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 192, y: 201.0391} + m_SizeDelta: {x: 400, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1412621138 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412621136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 4 + ButtonType: 0 +--- !u!114 &1412621139 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412621136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1412621140} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 510025322} + m_TargetAssemblyTypeName: Hypernex.UIActions.SettingsPageManager, Assembly-CSharp + m_MethodName: SetSnapTurn + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &1412621140 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412621136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1412621141 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412621136} + m_CullTransparentMesh: 1 --- !u!1 &1413631257 GameObject: m_ObjectHideFlags: 0 @@ -89796,6 +92319,157 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 1 ButtonType: 0 +--- !u!1 &1416228128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1416228129} + - component: {fileID: 1416228132} + - component: {fileID: 1416228131} + - component: {fileID: 1416228130} + m_Layer: 6 + m_Name: AvatarAudioText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1416228129 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416228128} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1558932688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 3.5300343, y: 20.5} + m_SizeDelta: {x: 829.46, y: 56.195} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1416228130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416228128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 2 + ButtonType: 0 +--- !u!114 &1416228131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416228128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'Avatar Audio + + Sets audio levels on each Avatar' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 12 + m_fontSizeMax: 24 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1416228132 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416228128} + m_CullTransparentMesh: 1 --- !u!1 &1417976284 GameObject: m_ObjectHideFlags: 0 @@ -92260,7 +94934,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 209612705} + m_Material: {fileID: 1792518228} m_Color: {r: 0.10588236, g: 0.10588236, b: 0.10588236, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -97407,15 +100081,224 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1513127396 +--- !u!222 &1513127396 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1513127393} + m_CullTransparentMesh: 1 +--- !u!1 &1514028648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1514028649} + - component: {fileID: 1514028651} + - component: {fileID: 1514028650} + m_Layer: 6 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1514028649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1514028648} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 395052536} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1514028650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1514028648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1514028651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1514028648} + m_CullTransparentMesh: 1 +--- !u!1 &1515868149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1515868150} + - component: {fileID: 1515868152} + - component: {fileID: 1515868151} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1515868150 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515868149} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 415119388} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1515868151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515868149} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1515868152 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1513127393} + m_GameObject: {fileID: 1515868149} m_CullTransparentMesh: 1 ---- !u!1 &1514028648 +--- !u!1 &1521642896 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -97423,49 +100306,109 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1514028649} - - component: {fileID: 1514028651} - - component: {fileID: 1514028650} + - component: {fileID: 1521642897} + - component: {fileID: 1521642900} + - component: {fileID: 1521642899} + - component: {fileID: 1521642898} + - component: {fileID: 1521642901} m_Layer: 6 - m_Name: Handle + m_Name: Scripting m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1514028649 +--- !u!224 &1521642897 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1514028648} + m_GameObject: {fileID: 1521642896} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 395052536} + m_Children: + - {fileID: 1887642463} + - {fileID: 1157694417} + m_Father: {fileID: 2022465651} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0.2} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -350, y: 75} + m_SizeDelta: {x: 125, y: 150} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1514028650 +--- !u!114 &1521642898 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1514028648} + m_GameObject: {fileID: 1521642896} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1521642899} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1521642901} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1521642899 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521642896} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 0} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -97482,148 +100425,30 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1514028651 +--- !u!222 &1521642900 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1514028648} + m_GameObject: {fileID: 1521642896} m_CullTransparentMesh: 1 ---- !u!1 &1515868149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1515868150} - - component: {fileID: 1515868152} - - component: {fileID: 1515868151} - m_Layer: 6 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1515868150 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1515868149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 415119388} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1515868151 +--- !u!114 &1521642901 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1515868149} + m_GameObject: {fileID: 1521642896} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 20 - m_fontSizeBase: 20 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1515868152 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1515868149} - m_CullTransparentMesh: 1 + SettingsPageManager: {fileID: 510025322} + Safety: 0 + Label: {fileID: 1887642464} + Icon: {fileID: 1157694418} --- !u!1 &1523700942 GameObject: m_ObjectHideFlags: 0 @@ -98789,6 +101614,7 @@ RectTransform: - {fileID: 1017824022} - {fileID: 2128175292} - {fileID: 1803053868} + - {fileID: 345336149} - {fileID: 472557459} - {fileID: 1566023265} m_Father: {fileID: 1054994478} @@ -99344,45 +102170,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1555560026} m_CullTransparentMesh: 1 ---- !u!21 &1556925370 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &1557279641 GameObject: m_ObjectHideFlags: 0 @@ -99519,6 +102306,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1557279641} m_CullTransparentMesh: 1 +--- !u!1 &1557504219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557504220} + - component: {fileID: 1557504222} + - component: {fileID: 1557504221} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1557504220 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557504219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1021164572} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1557504221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557504219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 160f22b6f05031f4ebe28040b6f71bbe, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1557504222 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557504219} + m_CullTransparentMesh: 1 --- !u!1 &1558932687 GameObject: m_ObjectHideFlags: 0 @@ -99551,6 +102413,8 @@ RectTransform: - {fileID: 666742322} - {fileID: 1354434050} - {fileID: 1615646675} + - {fileID: 1416228129} + - {fileID: 411831265} - {fileID: 1580656976} - {fileID: 763860111} - {fileID: 464418381} @@ -99830,7 +102694,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -38} + m_AnchoredPosition: {x: 0, y: -97.99988} m_SizeDelta: {x: 220.64, y: 51.24} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1566023266 @@ -101321,7 +104185,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 3.5300343, y: 20} + m_AnchoredPosition: {x: 3.5300343, y: -65} m_SizeDelta: {x: 829.46, y: 56.195} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1580656977 @@ -111427,6 +114291,157 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: caa5e67c4b0c4257b283c8abf46429fd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1747165051 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747165052} + - component: {fileID: 1747165056} + - component: {fileID: 1747165055} + - component: {fileID: 1747165054} + - component: {fileID: 1747165053} + m_Layer: 6 + m_Name: Particle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1747165052 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747165051} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1285079698} + - {fileID: 1285241406} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 325, y: 75} + m_SizeDelta: {x: 125, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1747165053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747165051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94c73d6707b642adbb946b50e7ec1700, type: 3} + m_Name: + m_EditorClassIdentifier: + SettingsPageManager: {fileID: 510025322} + Safety: 5 + Label: {fileID: 1285079699} + Icon: {fileID: 1285241407} +--- !u!114 &1747165054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747165051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1747165055} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1747165053} + m_TargetAssemblyTypeName: Hypernex.UI.Templates.ComponentToggleButton, Assembly-CSharp + m_MethodName: OnToggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1747165055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747165051} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1747165056 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747165051} + m_CullTransparentMesh: 1 --- !u!1 &1747466660 GameObject: m_ObjectHideFlags: 0 @@ -114913,6 +117928,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1790931057} m_CullTransparentMesh: 1 +--- !u!21 &1792518228 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 626.89, g: 408.83, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &1793038725 GameObject: m_ObjectHideFlags: 0 @@ -115568,6 +118622,7 @@ MonoBehaviour: - {fileID: 11400000, guid: c57a494583b65dd459bab8793e9e0c36, type: 2} VoiceGroup: {fileID: 24300002, guid: 110700d812f815349bf764a8207b8c87, type: 2} WorldGroup: {fileID: 24300002, guid: 66a79eefe9b309841b85fdf9411b2f86, type: 2} + AvatarGroup: {fileID: 24300002, guid: d9bd0ac549f68a04c91ce707dd880239, type: 2} OverlayManager: {fileID: 1208407414} VersionLabels: - {fileID: 855479369} @@ -117981,45 +121036,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} ---- !u!21 &1827373054 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UI/RoundedCorners/RoundedCorners - m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _ColorMask: 15 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _WidthHeightRadius: {r: 500, g: 280, b: 10, a: 0} - m_BuildTextureStacks: [] --- !u!1 &1828927362 GameObject: m_ObjectHideFlags: 0 @@ -118587,7 +121603,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 779093188} + m_Material: {fileID: 1393631690} m_Color: {r: 0.10588236, g: 0.10588236, b: 0.10588236, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -120484,7 +123500,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 1.185, y: -119.40006} + m_AnchoredPosition: {x: 1.185, y: -204.40002} m_SizeDelta: {x: 829.46, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1859193739 @@ -122644,6 +125660,140 @@ MonoBehaviour: ButtonDisabledColor: {r: 0, g: 0, b: 0, a: 0.7529412} ButtonLabelColor: {r: 0.084905684, g: 0.084905684, b: 0.084905684, a: 1} ButtonFont: {fileID: 11400000, guid: 90592122546b99c4cb803fe6723d429d, type: 2} +--- !u!1 &1887642462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1887642463} + - component: {fileID: 1887642465} + - component: {fileID: 1887642464} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1887642463 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887642462} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1521642897} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1887642464 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887642462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Scripting + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1887642465 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1887642462} + m_CullTransparentMesh: 1 --- !u!1 &1888287511 GameObject: m_ObjectHideFlags: 0 @@ -126556,6 +129706,154 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1958309637} m_CullTransparentMesh: 1 +--- !u!1 &1960150926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1960150927} + - component: {fileID: 1960150931} + - component: {fileID: 1960150930} + - component: {fileID: 1960150929} + - component: {fileID: 1960150928} + m_Layer: 6 + m_Name: Anyone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1960150927 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960150926} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9976013, y: 0.9976013, z: 0.9976013} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1027781468} + m_Father: {fileID: 2022465651} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -214.73004, y: 201.0391} + m_SizeDelta: {x: 400, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1960150928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960150926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13dafcff6b11a6c4087180b0079810b0, type: 3} + m_Name: + m_EditorClassIdentifier: + ThemeType: 4 + ButtonType: 0 +--- !u!114 &1960150929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960150926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1960150930} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 510025322} + m_TargetAssemblyTypeName: Hypernex.UIActions.SettingsPageManager, Assembly-CSharp + m_MethodName: SetSnapTurn + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &1960150930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960150926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1960150931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960150926} + m_CullTransparentMesh: 1 --- !u!1 &1970021270 GameObject: m_ObjectHideFlags: 0 @@ -126903,6 +130201,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1975265393} m_CullTransparentMesh: 1 +--- !u!1 &1976013181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1976013182} + - component: {fileID: 1976013184} + - component: {fileID: 1976013183} + m_Layer: 6 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1976013182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976013181} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 480826643} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0.000023047, y: 62.5} + m_SizeDelta: {x: 125, y: 125} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1976013183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976013181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8e79eca16c2d21642b10e203a024574b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1976013184 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1976013181} + m_CullTransparentMesh: 1 --- !u!1 &1979969009 GameObject: m_ObjectHideFlags: 0 @@ -127992,6 +131365,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1992708709} m_CullTransparentMesh: 1 +--- !u!21 &1992792857 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &1993417338 GameObject: m_ObjectHideFlags: 0 @@ -129851,6 +133263,49 @@ MonoBehaviour: m_EditorClassIdentifier: ThemeType: 1 ButtonType: 0 +--- !u!1 &2022465650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2022465651} + m_Layer: 6 + m_Name: SecurityPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2022465651 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022465650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1960150927} + - {fileID: 1412621137} + - {fileID: 1521642897} + - {fileID: 1021164572} + - {fileID: 110093662} + - {fileID: 480826643} + - {fileID: 23797357} + - {fileID: 1747165052} + m_Father: {fileID: 510025321} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 129.42, y: 2.961} + m_SizeDelta: {x: 836.52, y: 474.07} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2024035962 GameObject: m_ObjectHideFlags: 0 @@ -130556,6 +134011,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2035442259} m_CullTransparentMesh: 1 +--- !u!1 &2037281004 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037281005} + - component: {fileID: 2037281007} + - component: {fileID: 2037281006} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037281005 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037281004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 480826643} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2037281006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037281004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: UI + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 22 + m_fontSizeBase: 22 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2037281007 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037281004} + m_CullTransparentMesh: 1 --- !u!1 &2038732271 GameObject: m_ObjectHideFlags: 0 @@ -131279,6 +134868,45 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!21 &2049975357 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 50, g: 50, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &2052213501 GameObject: m_ObjectHideFlags: 0 @@ -132447,6 +136075,45 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2063844273} m_CullTransparentMesh: 1 +--- !u!21 &2067821078 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI/RoundedCorners/RoundedCorners + m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _WidthHeightRadius: {r: 75, g: 75, b: 10, a: 0} + m_BuildTextureStacks: [] --- !u!1 &2070240333 GameObject: m_ObjectHideFlags: 0 @@ -135633,6 +139300,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2116468314} m_CullTransparentMesh: 1 +--- !u!1 &2116607817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2116607818} + - component: {fileID: 2116607820} + - component: {fileID: 2116607819} + m_Layer: 6 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2116607818 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2116607817} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 345336149} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2116607819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2116607817} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Security + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2116607820 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2116607817} + m_CullTransparentMesh: 1 --- !u!1 &2117124023 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Configuration/Config.cs b/Assets/Scripts/Configuration/Config.cs index a3e8fe4b..651fd795 100644 --- a/Assets/Scripts/Configuration/Config.cs +++ b/Assets/Scripts/Configuration/Config.cs @@ -20,6 +20,9 @@ public class Config [TomlProperty("SavedAccounts")] public List SavedAccounts { get; set; } = new(); + + [TomlProperty("UseTrustedURLs")] + public bool UseTrustedURLs { get; set; } = true; [TomlProperty("TrustedURLs")] public List TrustedURLs { get; set; } = new() diff --git a/Assets/Scripts/Configuration/ConfigMeta/ConfigUser.cs b/Assets/Scripts/Configuration/ConfigMeta/ConfigUser.cs index 1826e2d9..e76113cb 100644 --- a/Assets/Scripts/Configuration/ConfigMeta/ConfigUser.cs +++ b/Assets/Scripts/Configuration/ConfigMeta/ConfigUser.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; +using Hypernex.CCK.Unity; using Hypernex.Networking.Messages.Data; +using Hypernex.Player; using Hypernex.Tools; namespace Hypernex.Configuration.ConfigMeta @@ -25,7 +27,8 @@ public class ConfigUser public string GestureType = "hypernex"; public float VoicesBoost = 0f; - public float WorldAudioVolume = 1f; + public float WorldAudioVolume = 0f; + public float AvatarAudioVolume = 0f; public bool NoiseSuppression; public float VRPlayerHeight; @@ -33,10 +36,19 @@ public class ConfigUser public float SnapTurnAngle = 45f; public float SmoothTurnSpeed = 1f; + public AllowedAvatarComponent AnyoneAvatarComponents = new(true, true, true, true, true, true); + public AllowedAvatarComponent FriendsAvatarComponents = new(true, true, true, true, true, true); + public Dictionary UserVolumes = new(); public float2 DefaultCameraDimensions = new(1920, 1080); + public AllowedAvatarComponent GetAllowedAvatarComponents(string userId) + { + if (APIPlayer.APIUser.Friends.Contains(userId)) return FriendsAvatarComponents; + return AnyoneAvatarComponents; + } + public void Clone(ConfigUser c) { Server = c.Server; diff --git a/Assets/Scripts/Game/Avatar/AvatarCreator.cs b/Assets/Scripts/Game/Avatar/AvatarCreator.cs index 61bf2ce7..803595ab 100644 --- a/Assets/Scripts/Game/Avatar/AvatarCreator.cs +++ b/Assets/Scripts/Game/Avatar/AvatarCreator.cs @@ -11,6 +11,7 @@ using UnityEngine.Animations; using UnityEngine.Playables; using Object = UnityEngine.Object; +using Security = Hypernex.CCK.Unity.Security; namespace Hypernex.Game.Avatar { @@ -60,11 +61,11 @@ public List Parameters protected VRIK vrik; internal RotationOffsetDriver headRotator; - protected readonly Vector3 PelvisTargetLocalPosition = new Vector3(-0.141f, -0.275f, 0.107f); - protected readonly Quaternion PelvisTargetLocalRotation = Quaternion.identity; - - protected void OnCreate(CCK.Unity.Avatar a, int layer) + protected void OnCreate(CCK.Unity.Avatar a, int layer, AllowedAvatarComponent allowedAvatarComponent) { + Security.RemoveOffendingItems(a, allowedAvatarComponent, + SecurityTools.AdditionalAllowedAvatarTypes.ToArray()); + Security.ApplyComponentRestrictions(a); FaceTrackingDescriptor = a.gameObject.GetComponent(); a.gameObject.AddComponent(); foreach (SkinnedMeshRenderer skinnedMeshRenderer in a.gameObject diff --git a/Assets/Scripts/Game/Avatar/FingerCalibration.cs b/Assets/Scripts/Game/Avatar/FingerCalibration.cs index 56055b44..472dd373 100644 --- a/Assets/Scripts/Game/Avatar/FingerCalibration.cs +++ b/Assets/Scripts/Game/Avatar/FingerCalibration.cs @@ -115,13 +115,14 @@ internal static int GetGestureNumberFromHandGetter(IFingerCurler fingerCurler, I if (fingerCurler.IsCurled(thumb) && fingerCurler.IsCurled(ring) && fingerCurler.IsCurled(little) && !fingerCurler.IsCurled(index) && !fingerCurler.IsCurled(middle)) return gestureIdentifier.Peace; + // 2 or 3 + if (fingerCurler.IsCurled(middle) && fingerCurler.IsCurled(ring) && !fingerCurler.IsCurled(index) && + !fingerCurler.IsCurled(little)) + return gestureIdentifier.RockAndRoll; // 2 if (fingerCurler.IsCurled(thumb) && fingerCurler.IsCurled(index) && !fingerCurler.IsCurled(middle) && !fingerCurler.IsCurled(ring) && !fingerCurler.IsCurled(little)) return gestureIdentifier.OkHand; - if (fingerCurler.IsCurled(middle) && fingerCurler.IsCurled(ring) && !fingerCurler.IsCurled(thumb) && - !fingerCurler.IsCurled(index) && !fingerCurler.IsCurled(little)) - return gestureIdentifier.RockAndRoll; // 0 if (!fingerCurler.IsCurled(thumb) && !fingerCurler.IsCurled(index) && !fingerCurler.IsCurled(middle) && !fingerCurler.IsCurled(ring) && !fingerCurler.IsCurled(little)) diff --git a/Assets/Scripts/Game/Avatar/LocalAvatarCreator.cs b/Assets/Scripts/Game/Avatar/LocalAvatarCreator.cs index e9c775c4..f684e7dd 100644 --- a/Assets/Scripts/Game/Avatar/LocalAvatarCreator.cs +++ b/Assets/Scripts/Game/Avatar/LocalAvatarCreator.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using Hypernex.CCK.Unity; using Hypernex.CCK.Unity.Internals; -using Hypernex.Game.Audio; using Hypernex.ExtendedTracking; using Hypernex.Game.Bindings; using Hypernex.Game.Networking; @@ -28,6 +27,7 @@ public class LocalAvatarCreator : AvatarCreator pelvisRotationWeight = 0 }; private List avatarNearClips = new(); + private readonly AllowedAvatarComponent allowedAvatarComponent = new(true, true, true, true, true, true); public FingerCalibration fingerCalibration; public bool IsCrouched { get; private set; } @@ -40,7 +40,7 @@ public LocalAvatarCreator(LocalPlayer localPlayer, CCK.Unity.Avatar a, bool isVR SceneManager.MoveGameObjectToScene(a.gameObject, localPlayer.gameObject.scene); MainAnimator = a.GetComponent(); MainAnimator.updateMode = AnimatorUpdateMode.Normal; - OnCreate(Avatar, 7); + OnCreate(Avatar, 7, allowedAvatarComponent); fingerCalibration = new FingerCalibration(this); HeadAlign = new GameObject("headalign_" + Guid.NewGuid()); HeadAlign.transform.SetParent(a.ViewPosition.transform); diff --git a/Assets/Scripts/Game/Avatar/NetAvatarCreator.cs b/Assets/Scripts/Game/Avatar/NetAvatarCreator.cs index 0eecd4bd..b228476f 100644 --- a/Assets/Scripts/Game/Avatar/NetAvatarCreator.cs +++ b/Assets/Scripts/Game/Avatar/NetAvatarCreator.cs @@ -3,6 +3,7 @@ using System.Linq; using Hypernex.CCK.Unity; using Hypernex.CCK.Unity.Internals; +using Hypernex.Configuration; using Hypernex.Game.Audio; using Hypernex.Networking.Messages; using Hypernex.Networking.Messages.Data; @@ -28,7 +29,9 @@ public NetAvatarCreator(NetPlayer np, CCK.Unity.Avatar a, bool isVR) Avatar = a; SceneManager.MoveGameObjectToScene(a.gameObject, np.gameObject.scene); MainAnimator = a.GetComponent(); - OnCreate(Avatar, 10); + OnCreate(Avatar, 10, + ConfigManager.SelectedConfigUser?.GetAllowedAvatarComponents(np.UserId) ?? + new AllowedAvatarComponent(false, false, false, false, false, false)); VoiceAlign = new GameObject("voicealign_" + Guid.NewGuid()); VoiceAlign.transform.SetParent(a.SpeechPosition.transform); VoiceAlign.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity); diff --git a/Assets/Scripts/Game/GameInstance.cs b/Assets/Scripts/Game/GameInstance.cs index f88e386f..61f17c88 100644 --- a/Assets/Scripts/Game/GameInstance.cs +++ b/Assets/Scripts/Game/GameInstance.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection; using Hypernex.CCK; using Hypernex.CCK.Unity; using Hypernex.Networking; @@ -16,16 +15,12 @@ using HypernexSharp.APIObjects; using HypernexSharp.Socketing.SocketResponses; using HypernexSharp.SocketObjects; -using kTools.Mirrors; using Nexport; using UnityEngine; -using UnityEngine.EventSystems; -using UnityEngine.Rendering.Universal; using UnityEngine.SceneManagement; -using UnityEngine.Video; -using UnityEngine.XR.Interaction.Toolkit.UI; using Object = UnityEngine.Object; using Physics = UnityEngine.Physics; +using Security = Hypernex.CCK.Unity.Security; namespace Hypernex.Game { @@ -361,103 +356,12 @@ internal void UpdateInstanceMeta(UpdatedInstance updatedInstance) private void LoadScene(bool open, string s) => CoroutineRunner.Instance.Run( LocalPlayer.Instance.SafeSwitchScene(s, currentScene => { - foreach (GameObject rootGameObject in currentScene.GetRootGameObjects()) + Security.RemoveOffendingItems(currentScene, SecurityTools.AdditionalAllowedWorldTypes.ToArray()); + Security.ApplyComponentRestrictions(currentScene); + try { - if (rootGameObject.GetComponent() != null || - rootGameObject.GetComponent() != null) continue; - Transform[] ts = rootGameObject.GetComponentsInChildren(true); - foreach (Transform transform in ts) - { - World w1 = transform.gameObject.GetComponent(); - if (w1 != null) - World = w1; - Camera c1 = transform.gameObject.GetComponent(); - if (c1 != null && c1.transform.parent != null && - c1.transform.parent.gameObject.GetComponent() == null) - { - c1.gameObject.tag = "Untagged"; - c1.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay; - } - Mirror mirror = transform.gameObject.GetComponent(); - if (mirror != null) - { - LayerMask mask = LayerMask.GetMask("Default", "Water", "AvatarClip", "ExtraCamera", - "LocalPlayer", "MainCamera", "NetAvatar", "UI", "TransparentFX", "Ignore Raycast"); - mirror.layerMask = mask; - } - AudioListener a1 = transform.gameObject.GetComponent(); - if (a1 != null) - Object.Destroy(a1); - Canvas c2 = transform.gameObject.GetComponent(); - if (c2 != null) - { - c2.worldCamera = LocalPlayer.Instance.Camera; - if (c2.renderMode == RenderMode.WorldSpace) - { - TrackedDeviceGraphicRaycaster trackedDeviceGraphicRaycaster = - c2.gameObject.GetComponent(); - if (trackedDeviceGraphicRaycaster == null) - c2.gameObject.AddComponent(); - /*trackedDeviceGraphicRaycaster.checkFor3DOcclusion = true; - trackedDeviceGraphicRaycaster.blockingMask = ~0;*/ - } - } - NetworkSyncDescriptor networkSyncDescriptor = transform.gameObject.GetComponent(); - if (networkSyncDescriptor != null) - { - NetworkSync networkSync = networkSyncDescriptor.gameObject.AddComponent(); - networkSync.InstanceHostOnly = networkSyncDescriptor.InstanceHostOnly; - networkSync.CanSteal = networkSyncDescriptor.CanSteal; - networkSync.AlwaysSync = networkSyncDescriptor.AlwaysSync; - if(networkSyncDescriptor.InstanceHostOnly && isHost) - networkSync.Claim(); - } - GrabbableDescriptor grabbableDescriptor = - transform.gameObject.GetComponent(); - if (grabbableDescriptor != null) - { - Grabbable grabbable = grabbableDescriptor.gameObject.AddComponent(); - grabbable.ApplyVelocity = grabbableDescriptor.ApplyVelocity; - grabbable.VelocityAmount = grabbableDescriptor.VelocityAmount; - grabbable.VelocityThreshold = grabbableDescriptor.VelocityThreshold; - grabbable.GrabByLaser = grabbableDescriptor.GrabByLaser; - grabbable.LaserGrabDistance = grabbableDescriptor.LaserGrabDistance; - grabbable.GrabDistance = grabbableDescriptor.GrabDistance; - grabbable.GrabDistance = grabbableDescriptor.GrabDistance; - } - RespawnableDescriptor respawnableDescriptor = - transform.gameObject.GetComponent(); - if (respawnableDescriptor != null) - { - Respawnable respawnable = respawnableDescriptor.gameObject.AddComponent(); - respawnable.LowestPointRespawnThreshold = respawnableDescriptor.LowestPointRespawnThreshold; - } - EventSystem eventSystem = transform.gameObject.GetComponent(); - if(eventSystem != null) - Object.Destroy(eventSystem.gameObject); - AudioSource[] audios = transform.gameObject.GetComponents(); - foreach (AudioSource audioSource in audios) - { - Transform root = AnimationUtility.GetRootOfChild(audioSource.transform); - if (root != null && (root.GetComponent() != null || - root.GetComponent() != null)) - continue; - audioSource.outputAudioMixerGroup = global::Init.Instance.WorldGroup; - audioSource.spatialize = true; - } - VideoPlayer[] videoPlayers = transform.gameObject.GetComponents(); - foreach (VideoPlayer videoPlayer in videoPlayers) - { - AudioSource audioSource = videoPlayer.gameObject.GetComponent(); - if (audioSource == null) - audioSource = videoPlayer.gameObject.AddComponent(); - audioSource.outputAudioMixerGroup = global::Init.Instance.WorldGroup; - audioSource.spatialize = true; - videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource; - videoPlayer.SetTargetAudioSource(0, audioSource); - } - } - } + World = Object.FindObjectsOfType().First(x => x.gameObject.scene == currentScene); + } catch(Exception){} if (World == null) Dispose(); else diff --git a/Assets/Scripts/Game/LocalPlayer.cs b/Assets/Scripts/Game/LocalPlayer.cs index 13369b46..24ca5f5d 100644 --- a/Assets/Scripts/Game/LocalPlayer.cs +++ b/Assets/Scripts/Game/LocalPlayer.cs @@ -62,8 +62,6 @@ public bool MicrophoneEnabled mic = value; } } - - public DontDestroyMe DontDestroyMe { get; private set; } //private Dictionary WorldTrackers = new(); //private List trackers = new(); @@ -160,7 +158,6 @@ public float Gravity public IEnumerator SafeSwitchScene(string s, Action onAsyncDone = null, Action onDone = null) { - DontDestroyMe.Register(); AsyncOperation asyncOperation = SceneManager.LoadSceneAsync(s); yield return new WaitUntil(() => asyncOperation.isDone); Scene currentScene = SceneManager.GetSceneByPath(s); @@ -168,7 +165,6 @@ public IEnumerator SafeSwitchScene(string s, Action onAsyncDone = null, A if(onAsyncDone != null) onAsyncDone.Invoke(currentScene); yield return new WaitUntil(() => currentScene.isLoaded); - DontDestroyMe.MoveToScene(currentScene); if(onDone != null) onDone.Invoke(currentScene); LowestPoint = AnimationUtility.GetLowestObject(currentScene).position; @@ -176,7 +172,6 @@ public IEnumerator SafeSwitchScene(string s, Action onAsyncDone = null, A public IEnumerator SafeSwitchScene(int i, Action onAsyncDone = null, Action onDone = null) { - DontDestroyMe.Register(); AsyncOperation asyncOperation = SceneManager.LoadSceneAsync(i); yield return new WaitUntil(() => asyncOperation.isDone); Scene currentScene = SceneManager.GetSceneByBuildIndex(i); @@ -184,7 +179,6 @@ public IEnumerator SafeSwitchScene(int i, Action onAsyncDone = null, Acti if(onAsyncDone != null) onAsyncDone.Invoke(currentScene); yield return new WaitUntil(() => currentScene.isLoaded); - DontDestroyMe.MoveToScene(currentScene); if(onDone != null) onDone.Invoke(currentScene); LowestPoint = AnimationUtility.GetLowestObject(currentScene).position; @@ -388,7 +382,6 @@ private void Start() } Instance = this; LocalPlayerSyncController = new LocalPlayerSyncController(this, i => lastCoroutine.Add(StartCoroutine(i))); - DontDestroyMe = gameObject.GetComponent(); APIPlayer.OnUser += _ => LoadAvatar(); CharacterController.minMoveDistance = 0; LockCamera = Dashboard.IsVisible; diff --git a/Assets/Scripts/Game/NetPlayer.cs b/Assets/Scripts/Game/NetPlayer.cs index e71093c2..333b3fb4 100644 --- a/Assets/Scripts/Game/NetPlayer.cs +++ b/Assets/Scripts/Game/NetPlayer.cs @@ -146,10 +146,15 @@ private void OnAvatarDownload(Stream stream) return; Avatar?.Dispose(); Avatar = new NetAvatarCreator(this, a, lastPlayerUpdate.IsPlayerVR); - foreach (NexboxScript localAvatarScript in Avatar.Avatar.LocalAvatarScripts) - Avatar.localAvatarSandboxes.Add(new Sandbox(localAvatarScript, transform, a.gameObject)); - foreach (LocalScript ls in Avatar.Avatar.gameObject.GetComponentsInChildren()) - Avatar.localAvatarSandboxes.Add(new Sandbox(ls.NexboxScript, transform, ls.gameObject)); + if ((ConfigManager.SelectedConfigUser?.GetAllowedAvatarComponents(UserId) ?? + new AllowedAvatarComponent()).Scripting) + { + foreach (NexboxScript localAvatarScript in Avatar.Avatar.LocalAvatarScripts) + Avatar.localAvatarSandboxes.Add(new Sandbox(localAvatarScript, transform, + a.gameObject)); + foreach (LocalScript ls in Avatar.Avatar.gameObject.GetComponentsInChildren()) + Avatar.localAvatarSandboxes.Add(new Sandbox(ls.NexboxScript, transform, ls.gameObject)); + } if (nameplateTemplate != null) nameplateTemplate.transform.SetLocalPositionAndRotation( new Vector3(0, transform.localScale.y + 0.9f, 0), diff --git a/Assets/Scripts/Game/Video/UnityVideoPlayer.cs b/Assets/Scripts/Game/Video/UnityVideoPlayer.cs index bd3576c3..f9341e20 100644 --- a/Assets/Scripts/Game/Video/UnityVideoPlayer.cs +++ b/Assets/Scripts/Game/Video/UnityVideoPlayer.cs @@ -19,8 +19,14 @@ public UnityVideoPlayer(VideoPlayerDescriptor descriptor) if (videoPlayer == null) videoPlayer = attachedObject.AddComponent(); videoPlayer.source = VideoSource.Url; - audioSource = attachedObject.GetComponent(); + audioSource = descriptor.AudioOutput; + if (audioSource == null) audioSource = attachedObject.GetComponent(); + if (audioSource == null) audioSource = attachedObject.AddComponent(); + descriptor.AudioOutput = audioSource; + audioSource.outputAudioMixerGroup = Init.Instance.WorldGroup; + audioSource.spatialize = true; videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource; + videoPlayer.SetTargetAudioSource(0, audioSource); // Create the RenderTexture renderTexture = new RenderTexture(1920, 1080, 16); renderTexture.useDynamicScale = false; @@ -35,15 +41,16 @@ public UnityVideoPlayer(VideoPlayerDescriptor descriptor) descriptor.ShaderEmissionProperty = "_EmissionMap"; } renderer.material.mainTexture = renderTexture; - renderer.material.SetTexture(descriptor.ShaderEmissionProperty, renderTexture); + if(descriptor.IsEmissive) + renderer.material.SetTexture(descriptor.ShaderEmissionProperty, renderTexture); } videoPlayer.SetTargetAudioSource(0, descriptor.AudioOutput); descriptor.CurrentVideoPlayer = this; } - public bool CanBeUsed() => true; + public static bool CanBeUsed() => true; - public bool CanBeUsed(Uri source) + public static bool CanBeUsed(Uri source) { if (source.Scheme != "file") return false; // TODO: Check to see if file is in compatible format diff --git a/Assets/Scripts/Game/Video/VLCVideoPlayer.cs b/Assets/Scripts/Game/Video/VLCVideoPlayer.cs new file mode 100644 index 00000000..8ab37b05 --- /dev/null +++ b/Assets/Scripts/Game/Video/VLCVideoPlayer.cs @@ -0,0 +1,778 @@ +/* + * A lot of this code is based on the vlc-unity VLCPlayerExample.cs code. + * You can find that source below + * + * https://code.videolan.org/videolan/vlc-unity/-/blob/master/Assets/VLCUnity/Demos/Scripts/VLCPlayerExample.cs + * + * vlc-unity is released under LGPLv2.1 + * You can read the license at the bottom of the script + */ + +#if VLC +using System; +using System.Collections; +using System.Collections.Generic; +using Hypernex.CCK.Unity; +using Hypernex.Tools; +using HypernexSharp.APIObjects; +using LibVLCSharp; +using UnityEngine; +using UnityEngine.Rendering; +using Logger = Hypernex.CCK.Logger; +using Object = UnityEngine.Object; + +namespace Hypernex.Game.Video +{ + ///

+ /// The VLCUnity VideoPlayer + /// + // TODO: Output to AudioSource instead of only Direct + public class VLCVideoPlayer : VideoPlayerBehaviour, IVideoPlayer + { + private static LibVLC libVLC; + private MediaPlayer mediaPlayer; + private bool logToConsole; + private bool flipTextureX = true; + private bool flipTextureY = true; + private List screens; + private Texture2D _vlcTexture; + private RenderTexture texture; + private VideoPlayerDescriptor videoPlayerDescriptor; + private Coroutine c; + private Uri lastUri; + + public VLCVideoPlayer(VideoPlayerDescriptor descriptor) + { + videoPlayerDescriptor = descriptor; + screens = descriptor.VideoOutputs; + foreach (Renderer screen in screens) + { + if (screen.material == null) + screen.material = new Material(Shader.Find("Universal Render Pipeline/Lit")); + } + if (libVLC == null) + CreateLibVLC(); + CreateMediaPlayer(); + descriptor.CurrentVideoPlayer = this; + } + + public static bool CanBeUsed() + { + if (AssetBundleTools.Platform != BuildPlatform.Windows) return false; + if (SystemInfo.graphicsDeviceType != GraphicsDeviceType.Direct3D11) return false; + if (Init.Instance.NoVLC) return false; + return true; + } + // TODO: Find out what LibVLC isn't compatible with + public static bool CanBeUsed(Uri source) => true; + + public bool IsPlaying { get; private set; } + + public bool Muted + { + get => mediaPlayer.Mute; + set => mediaPlayer.Mute = value; + } + + public bool Looping { get; set; } + + // TODO: Hook into AudioComponent + public float Pitch { get; set; } + + public float Volume + { + get => mediaPlayer.Volume / 100f; + set => mediaPlayer.SetVolume(Mathf.RoundToInt(value * 100f)); + } + + public double Position + { + get => TimeSpan.FromMilliseconds(mediaPlayer.Time).TotalSeconds; + set => mediaPlayer.SetTime(Convert.ToInt64(value * 1000)); + } + + public double Length => TimeSpan.FromMilliseconds(mediaPlayer.Length).TotalSeconds; + + public string Source + { + get => mediaPlayer.Media?.Mrl; + set + { + if (mediaPlayer.Media != null) + mediaPlayer.Media.Dispose(); + var trimmedPath = value.Trim(new char[]{'"'}); + lastUri = new Uri(trimmedPath); + IsStream = VideoPlayerManager.IsStream(lastUri); + mediaPlayer.Media = new Media(lastUri); + c = CoroutineRunner.Instance.StartCoroutine(PauseEnum()); + } + } + + public override void Update() + { + uint height = 0; + uint width = 0; + mediaPlayer.Size(0, ref width, ref height); + if (_vlcTexture == null || _vlcTexture.width != width || _vlcTexture.height != height) + { + ResizeOutputTextures(width, height); + } + if (_vlcTexture != null) + { + var texptr = mediaPlayer.GetTexture(width, height, out bool updated); + if (updated) + { + _vlcTexture.UpdateExternalTexture(texptr); + var flip = new Vector2(flipTextureX ? -1 : 1, flipTextureY ? -1 : 1); + Graphics.Blit(_vlcTexture, texture, flip, Vector2.zero); + screens.ForEach(x => + { + x.material.mainTexture = texture; + if(videoPlayerDescriptor.IsEmissive) + x.material.SetTexture(videoPlayerDescriptor.ShaderEmissionProperty, texture); + }); + } + } + } + + private IEnumerator LoopEnum(float f) + { + yield return new WaitForSeconds(f); + Position = 0; + Play(); + c = null; + } + + private IEnumerator PauseEnum(float f = 0.5f) + { + Pause(); + yield return new WaitForSeconds(f); + mediaPlayer.SetPosition(0); + Play(); + c = null; + } + + public override void LateUpdate() + { + if(Length <= 0 || string.IsNullOrEmpty(Source) || !IsPlaying || IsStream) return; + if (Position >= Length - 1f && Looping && c == null) + { + c = CoroutineRunner.Instance.StartCoroutine(LoopEnum(0.5f)); + } + } + + public async void Play() => await mediaPlayer.PlayAsync(); + + public async void Pause() => await mediaPlayer.PauseAsync(); + + public async void Stop() + { + if(mediaPlayer != null) await mediaPlayer.StopAsync(); + _vlcTexture = null; + DestroyRenderTexture(); + } + + public bool IsStream { get; private set; } + + public VideoOrientation? GetVideoOrientation() + { + var tracks = mediaPlayer?.Tracks(TrackType.Video); + if (tracks == null || tracks.Count == 0) return null; + var orientation = tracks[0]?.Data.Video.Orientation; + return orientation; + } + + private void CreateLibVLC() + { + if (libVLC != null) + { + libVLC.Dispose(); + libVLC = null; + } + Core.Initialize(Application.dataPath); + libVLC = new LibVLC(enableDebugLogs: true); + libVLC.Log += (s, e) => QuickInvoke.InvokeActionOnMainThread(new Action(() => + { + if (!logToConsole) return; + try + { + Logger.CurrentLogger.Error(e.FormattedLog); + } + catch (Exception ex) + { + Logger.CurrentLogger.Error("Exception caught in libVLC.Log: \n" + ex); + } + })); + } + + private void CreateMediaPlayer() + { + if (mediaPlayer != null) DestroyMediaPlayer(); + mediaPlayer = new MediaPlayer(libVLC); + mediaPlayer.Playing += (sender, args) => + QuickInvoke.InvokeActionOnMainThread(new Action(() => IsPlaying = true)); + mediaPlayer.Paused += (sender, args) => + QuickInvoke.InvokeActionOnMainThread(new Action(() => IsPlaying = false)); + mediaPlayer.Stopping += (sender, args) => + QuickInvoke.InvokeActionOnMainThread(new Action(() => IsPlaying = false)); + mediaPlayer.Stopped += (sender, args) => + QuickInvoke.InvokeActionOnMainThread(new Action(() => IsPlaying = false)); + } + + private void DestroyMediaPlayer() + { + Stop(); + mediaPlayer?.Dispose(); + mediaPlayer = null; + } + + private void DestroyRenderTexture() + { + if(texture == null) return; + texture.DiscardContents(); + texture.Release(); + Object.Destroy(texture); + } + + private void ResizeOutputTextures(uint px, uint py) + { + var texptr = mediaPlayer.GetTexture(px, py, out bool updated); + if (px != 0 && py != 0 && updated && texptr != IntPtr.Zero) + { + if(GetVideoOrientation() == VideoOrientation.BottomRight) + { + uint swap = px; + px = py; + py = swap; + } + _vlcTexture = Texture2D.CreateExternalTexture((int)px, (int)py, TextureFormat.RGBA32, false, true, texptr); + if(texture == null || texture.width != _vlcTexture.width || texture.height != _vlcTexture.height) + { + if (texture != null) DestroyRenderTexture(); + texture = new RenderTexture(_vlcTexture.width, _vlcTexture.height, 16, RenderTextureFormat.ARGB32); + texture.useDynamicScale = false; + texture.Create(); + } + } + } + + public void Dispose() => DestroyMediaPlayer(); + } +} +#endif + +/* +vlc-unity is released under LGPLv2.1 (or later) and is also available +under a commercial license. + +By contributing to this project, you allow VideoLabs to reship the +unmodified code under a commercial license. +You also allow VideoLAN and VideoLabs to relicense the project to a +different open source license, never more restrictive than the LGPL +(like a BSD/MIT/Apache license). + +=== + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! +*/ \ No newline at end of file diff --git a/Assets/Scripts/Game/Video/VLCVideoPlayer.cs.meta b/Assets/Scripts/Game/Video/VLCVideoPlayer.cs.meta new file mode 100644 index 00000000..2f6c50c6 --- /dev/null +++ b/Assets/Scripts/Game/Video/VLCVideoPlayer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 864ebaaf668044d0ae6da3d0a74ce470 +timeCreated: 1719519976 \ No newline at end of file diff --git a/Assets/Scripts/Game/Video/VideoPlayerManager.cs b/Assets/Scripts/Game/Video/VideoPlayerManager.cs new file mode 100644 index 00000000..85752500 --- /dev/null +++ b/Assets/Scripts/Game/Video/VideoPlayerManager.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Hypernex.CCK.Unity; +using UnityEngine; + +namespace Hypernex.Game.Video +{ + public static class VideoPlayerManager + { + public static Type DefaultVideoPlayerType + { + get => defaultVideoPlayerType; + set + { + if(value == null) return; + if(value is not IVideoPlayer) return; + defaultVideoPlayerType = value; + } + } + + private static Type defaultVideoPlayerType = typeof(UnityVideoPlayer); + private static Dictionary> videoPlayerTypes = new(); + + static VideoPlayerManager() + { + // Register Built-In VideoPlayers +#if VLC + Register(VLCVideoPlayer.CanBeUsed, VLCVideoPlayer.CanBeUsed); +#endif + Register(UnityVideoPlayer.CanBeUsed, UnityVideoPlayer.CanBeUsed); + } + + public static void Register(Func canBeUsed, Func fileCanBePlayed) where T : IVideoPlayer + { + if(!canBeUsed.Invoke()) return; + videoPlayerTypes.Add(typeof(T), fileCanBePlayed); + } + +#nullable enable + public static Type? GetVideoPlayerType(Uri uri) + { + foreach (KeyValuePair> keyValuePair in videoPlayerTypes) + { + if (!keyValuePair.Value.Invoke(uri)) continue; + return keyValuePair.Key; + } + return DefaultVideoPlayerType; + } +#nullable restore + + public static bool IsStream(Uri uri) + { + bool isStream = false; + switch (uri.Scheme.ToLower()) + { + case "rtmp": + case "rtsp": + case "srt": + case "udp": + case "tcp": + isStream = true; + break; + } + if (isStream) return true; + string fileName = Path.GetFileName(uri.LocalPath); + string ext = Path.GetExtension(fileName); + switch (ext) + { + case ".m3u8": + case ".flv": + isStream = true; + break; + } + return isStream; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Game/Video/VideoPlayerManager.cs.meta b/Assets/Scripts/Game/Video/VideoPlayerManager.cs.meta new file mode 100644 index 00000000..f3e1cf38 --- /dev/null +++ b/Assets/Scripts/Game/Video/VideoPlayerManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 81e6aae4ac58456eb4d7d5f01568b952 +timeCreated: 1719520095 \ No newline at end of file diff --git a/Assets/Scripts/Init.cs b/Assets/Scripts/Init.cs index 1a1f9c0e..593b6db6 100644 --- a/Assets/Scripts/Init.cs +++ b/Assets/Scripts/Init.cs @@ -23,13 +23,16 @@ using UnityEngine.Audio; using UnityEngine.Rendering; using UnityEngine.XR.Management; +#if VLC +using LibVLCSharp; +#endif using Logger = Hypernex.CCK.Logger; using Material = UnityEngine.Material; using Object = UnityEngine.Object; public class Init : MonoBehaviour { - public const string VERSION = "2024.05.3b"; + public const string VERSION = "2024.07.1b"; public static Init Instance; public static bool IsQuitting { get; private set; } @@ -42,6 +45,7 @@ public class Init : MonoBehaviour public List EmojiSprites = new (); public AudioMixerGroup VoiceGroup; public AudioMixerGroup WorldGroup; + public AudioMixerGroup AvatarGroup; public OverlayManager OverlayManager; public List VersionLabels = new(); public CurrentAvatar ca; @@ -50,6 +54,7 @@ public class Init : MonoBehaviour public CreateInstanceTemplate CreateInstanceTemplate; public float SmoothingFrames = 0.1f; public List BadgeRankAssets = new(); + public bool NoVLC; public string GetPluginLocation() => Path.Combine(Application.persistentDataPath, "Plugins"); @@ -71,6 +76,10 @@ internal void StopVR() LocalPlayer.StopVR(); } +#if VLC + private void Awake() => Core.Initialize(Application.dataPath); +#endif + private void Start() { Instance = this; @@ -112,6 +121,7 @@ private void Start() #endif string[] args = Environment.GetCommandLineArgs(); DownloadTools.forceHttpClient = args.Contains("--force-http-downloads"); + NoVLC = args.Contains("--no-vlc"); if(args.Contains("-xr") && !LocalPlayer.IsVR) StartVR(); string targetStreamingPath; @@ -126,6 +136,8 @@ private void Start() targetStreamingPath = Application.streamingAssetsPath; break; } + SecurityTools.AllowExtraTypes(); + SecurityTools.ImplementRestrictions(); kTools.Mirrors.Mirror.OnMirrorCreation += mirror => mirror.CustomCameraControl = true; RenderPipelineManager.beginCameraRendering += BeginRender_NoAvatar; AvatarNearClip.BeforeClip += BeginRender_Avatar; diff --git a/Assets/Scripts/Sandboxing/SandboxedTypes/Cobalt.cs b/Assets/Scripts/Sandboxing/SandboxedTypes/Cobalt.cs index 79244a2b..93d8544c 100644 --- a/Assets/Scripts/Sandboxing/SandboxedTypes/Cobalt.cs +++ b/Assets/Scripts/Sandboxing/SandboxedTypes/Cobalt.cs @@ -1,8 +1,11 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Threading; using CobaltSharp; +using Hypernex.Configuration; +using Hypernex.Game.Video; using Hypernex.Tools; using Nexbox; using UnityEngine; @@ -30,6 +33,11 @@ public static void GetOptions(GetMedia getMedia, object callback) foreach (PickerItem pickerItem in mediaResponse.picker) options.Add(new CobaltOption(pickerItem, pickerItem.thumb ?? String.Empty)); } + else if(mediaResponse.status == Status.Error) + try + { + options.Add(new CobaltOption(new Uri(getMedia.url), getMedia.url)); + }catch(Exception){} SandboxFuncTools.InvokeSandboxFunc(SandboxFuncTools.TryConvert(callback), new CobaltOptions(options)); })); }).Start(); @@ -41,6 +49,8 @@ public class CobaltOption private MediaResponse? mediaResponse; private PickerItem? pickerItem; private string thumbnail; + private Uri uri; + private string url; public CobaltOption() { throw new Exception("Cannot instantiate CobaltOption!"); } @@ -56,11 +66,53 @@ internal CobaltOption(PickerItem pickerItem, string thumbnail = "") this.thumbnail = thumbnail; } + internal CobaltOption(Uri uri, string url) + { + this.uri = uri; + this.url = url; + } + public void Download(object onDone) { string pathToCobalt = Path.Combine(Application.streamingAssetsPath, "Cobalt"); if (!Directory.Exists(pathToCobalt)) Directory.CreateDirectory(pathToCobalt); + if (uri != null) + { + bool trusted = ConfigManager.LoadedConfig.UseTrustedURLs; + if(!trusted) + { + foreach (Uri trustedUri in ConfigManager.LoadedConfig.TrustedURLs.Select(x => new Uri(x))) + { + if (uri.Host != trustedUri.Host) continue; + trusted = true; + break; + } + } + if (!trusted) + { + QuickInvoke.InvokeActionOnMainThread(new Action(() => + SandboxFuncTools.InvokeSandboxFunc(SandboxFuncTools.TryConvert(onDone), null))); + return; + } + if (VideoPlayerManager.IsStream(uri)) + { + QuickInvoke.InvokeActionOnMainThread(new Action(() => + SandboxFuncTools.InvokeSandboxFunc(SandboxFuncTools.TryConvert(onDone), + new CobaltDownload(url, true)))); + } + else + { + // TODO: Check URI ending to see if the extension is a valid one + string fileName = DownloadTools.GetFileNameFromUrl(url) ?? DownloadTools.GetStringHash(url); + string filePath = Path.Combine(pathToCobalt, fileName); + DownloadTools.DownloadFile(url, filePath, + downloadedFile => QuickInvoke.InvokeActionOnMainThread(new Action(() => + SandboxFuncTools.InvokeSandboxFunc(SandboxFuncTools.TryConvert(onDone), + new CobaltDownload(downloadedFile, false))))); + } + return; + } new Thread(() => { StreamResponse streamResponse; @@ -90,7 +142,7 @@ public void Download(object onDone) fs.Write(data, 0, data.Length); fs.Dispose(); streamResponse.Dispose(); - CobaltDownload cobaltDownload = new CobaltDownload(np); + CobaltDownload cobaltDownload = new CobaltDownload(np, false); QuickInvoke.InvokeActionOnMainThread(new Action(() => SandboxFuncTools.InvokeSandboxFunc(SandboxFuncTools.TryConvert(onDone), cobaltDownload))); }).Start(); @@ -108,9 +160,15 @@ public class CobaltOptions public class CobaltDownload { internal string PathToFile; + internal bool isStream; public CobaltDownload() { throw new Exception("Cannot instantiate CobaltDownload!"); } - internal CobaltDownload(string ptf) => PathToFile = ptf; + + internal CobaltDownload(string ptf, bool s) + { + PathToFile = ptf; + isStream = s; + } } public enum CobaltType diff --git a/Assets/Scripts/Sandboxing/SandboxedTypes/Video.cs b/Assets/Scripts/Sandboxing/SandboxedTypes/Video.cs index 157eb91e..c2ea7c43 100644 --- a/Assets/Scripts/Sandboxing/SandboxedTypes/Video.cs +++ b/Assets/Scripts/Sandboxing/SandboxedTypes/Video.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using Hypernex.CCK.Unity; using Hypernex.Game.Video; using Hypernex.Tools; @@ -8,27 +9,24 @@ namespace Hypernex.Sandboxing.SandboxedTypes { public static class Video { - private static AudioSource GetAudioSource(Item item) + private static VideoPlayerDescriptor GetVideoPlayerDescriptor(Item item) { - AudioSource a = item.t.GetComponent(); - if (a == null) - return null; - return a; + VideoPlayerDescriptor v = item.t.GetComponent(); + return v; } private static IVideoPlayer GetVideoPlayer(Item item) { VideoPlayerDescriptor v = item.t.GetComponent(); if (v == null) return null; - // TODO: There's only one supported video player - if(v.CurrentVideoPlayer == null) v.Replace(typeof(UnityVideoPlayer)); + if (v.CurrentVideoPlayer == null) return null; return v.CurrentVideoPlayer; } public static bool IsValid(Item item) => GetVideoPlayer(item) != null; public static bool IsPlaying(Item item) => GetVideoPlayer(item)?.IsPlaying ?? false; - public static bool IsMuted(Item item) => GetAudioSource(item)?.mute ?? false; + public static bool IsMuted(Item item) => GetVideoPlayer(item)?.Muted ?? false; public static bool IsLooping(Item item) => GetVideoPlayer(item)?.Looping ?? false; public static void Play(Item item) => GetVideoPlayer(item)?.Play(); public static void Pause(Item item) => GetVideoPlayer(item)?.Pause(); @@ -36,10 +34,10 @@ private static IVideoPlayer GetVideoPlayer(Item item) public static void SetMute(Item item, bool value) { - AudioSource audioSource = GetAudioSource(item); - if(audioSource == null) + IVideoPlayer videoPlayer = GetVideoPlayer(item); + if(videoPlayer == null) return; - audioSource.mute = value; + videoPlayer.Muted = value; } public static void SetLoop(Item item, bool value) @@ -50,22 +48,23 @@ public static void SetLoop(Item item, bool value) videoPlayer.Looping = value; } - public static float GetPitch(Item item) => GetAudioSource(item)?.pitch ?? 0.0f; + public static float GetPitch(Item item) => GetVideoPlayer(item)?.Pitch ?? 0.0f; public static void SetPitch(Item item, float value) { - AudioSource audioSource = GetAudioSource(item); - if(audioSource == null) + IVideoPlayer videoPlayer = GetVideoPlayer(item); + if(videoPlayer == null) return; - audioSource.pitch = value; + videoPlayer.Pitch = value; } - public static float GetVolume(Item item) => GetAudioSource(item)?.volume ?? 0.0f; + public static float GetVolume(Item item) => GetVideoPlayer(item)?.Volume ?? 0.0f; + public static void SetVolume(Item item, float value) { - AudioSource audioSource = GetAudioSource(item); - if(audioSource == null) + IVideoPlayer videoPlayer = GetVideoPlayer(item); + if(videoPlayer == null) return; - audioSource.volume = value; + videoPlayer.Volume = value; } public static double GetPosition(Item item) => GetVideoPlayer(item)?.Position ?? 0.0; @@ -87,13 +86,30 @@ public static double GetLength(Item item) public static void LoadFromCobalt(Item item, CobaltDownload cobaltDownload) { - // TODO: Switch Video Player type if needed (when they're implemented) - IVideoPlayer videoPlayer = GetVideoPlayer(item); - if(videoPlayer == null) - return; - if (!File.Exists(cobaltDownload.PathToFile)) + VideoPlayerDescriptor videoPlayerDescriptor = GetVideoPlayerDescriptor(item); + if(videoPlayerDescriptor == null) return; - videoPlayer.Source = "file://" + cobaltDownload.PathToFile; + if (cobaltDownload.isStream) + { + IVideoPlayer videoPlayer = videoPlayerDescriptor.Replace( + VideoPlayerManager.GetVideoPlayerType(new Uri(cobaltDownload.PathToFile)) ?? + VideoPlayerManager.DefaultVideoPlayerType); + if (videoPlayer == null) + return; + videoPlayer.Source = cobaltDownload.PathToFile; + } + else + { + if (!File.Exists(cobaltDownload.PathToFile)) + return; + string filePath = "file:///" + cobaltDownload.PathToFile; + IVideoPlayer videoPlayer = videoPlayerDescriptor.Replace( + VideoPlayerManager.GetVideoPlayerType(new Uri(filePath)) ?? + VideoPlayerManager.DefaultVideoPlayerType); + if (videoPlayer == null) + return; + videoPlayer.Source = filePath; + } } } } \ No newline at end of file diff --git a/Assets/Scripts/Tools/DownloadTools.cs b/Assets/Scripts/Tools/DownloadTools.cs index 27f4ddcd..c160c268 100644 --- a/Assets/Scripts/Tools/DownloadTools.cs +++ b/Assets/Scripts/Tools/DownloadTools.cs @@ -5,6 +5,7 @@ using System.Net; using System.Net.Http; using System.Security.Cryptography; +using System.Text; using System.Threading; using Hypernex.Configuration; using HypernexSharp.APIObjects; @@ -48,6 +49,34 @@ public static void DownloadBytes(string url, Action OnDownload, Action /// The descriptor /// The type of IVideoPlayer. Requires a one-parameter constructor (input VideoPlayerDescriptor) - public static void Replace(this VideoPlayerDescriptor descriptor, Type videoPlayerType) + public static IVideoPlayer Replace(this VideoPlayerDescriptor descriptor, Type videoPlayerType) { if (descriptor.CurrentVideoPlayer != null) descriptor.CurrentVideoPlayer.Dispose(); IVideoPlayer videoPlayer = (IVideoPlayer) Activator.CreateInstance(videoPlayerType, new object[1]{descriptor}); descriptor.CurrentVideoPlayer = videoPlayer; + return videoPlayer; } } } \ No newline at end of file diff --git a/Assets/Scripts/Tools/SecurityTools.cs b/Assets/Scripts/Tools/SecurityTools.cs new file mode 100644 index 00000000..a603bf49 --- /dev/null +++ b/Assets/Scripts/Tools/SecurityTools.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Hypernex.CCK.Unity; +using Hypernex.CCK.Unity.Internals; +using Hypernex.Game; +using kTools.Mirrors; +using TMPro; +using UnityEngine; +using UnityEngine.Rendering.Universal; +using UnityEngine.UI; +using UnityEngine.XR.Interaction.Toolkit.UI; +using Object = UnityEngine.Object; +using Security = Hypernex.CCK.Unity.Security; +#if MAGICACLOTH2 +using MagicaCloth2; +#endif + +namespace Hypernex.Tools +{ + public static class SecurityTools + { + public static SecurityList AdditionalAllowedAvatarTypes = new(); + public static SecurityList AdditionalAllowedWorldTypes = new(); + + public static void AllowExtraTypes() + { +#if MAGICACLOTH2 + List mTypes = new List + { + typeof(MagicaCloth), + typeof(MagicaCapsuleCollider), + typeof(MagicaPlaneCollider), + typeof(MagicaSphereCollider), + typeof(MagicaWindZone) + }; + mTypes.ForEach(Security.PhysicsTypes.Allow); +#endif + try + { + // This can fail easily if the assembly is tampered with + Security.GetDynamicBoneTypes(Assembly.GetExecutingAssembly()).ToList().ForEach(Security.PhysicsTypes.Allow); + } catch(Exception){} + Security.LightTypes.Allow(typeof(UniversalAdditionalLightData)); + AdditionalAllowedWorldTypes.Allow(typeof(UniversalAdditionalCameraData)); + AdditionalAllowedWorldTypes.Allow(typeof(Mirror)); + List uiTypes = new List + { + typeof(Button), + typeof(Slider), + typeof(Toggle), + typeof(Image), + typeof(RawImage), + typeof(LayoutElement), + typeof(RectMask2D), + typeof(CanvasScaler), + typeof(GraphicRaycaster) + }; + uiTypes.ForEach(Security.UITypes.Allow); + List tmpTypes = new List + { + typeof(TMP_Text), + typeof(TMP_Dropdown), + typeof(TMP_InputField), + typeof(TextMeshPro), + typeof(TextMeshProUGUI) + }; + tmpTypes.ForEach(Security.UITypes.Allow); + Security.PhysicsTypes.Allow(typeof(AkBoneDynamics.AkBoneDynamics)); + Security.LightTypes.Allow(typeof(AkBoneDynamics.AkBoneDynamicsLight)); + Security.PhysicsTypes.Allow(typeof(AkBoneDynamics.AkBDCollider)); + Security.PhysicsTypes.Allow(typeof(AkBoneDynamics.AkBDCapsuleCollider)); + Security.PhysicsTypes.Allow(typeof(AkBoneDynamics.AkBDSphereCollider)); + Security.PhysicsTypes.Allow(typeof(AkBoneDynamics.AkBDPlaneCollider)); + } + + private static Camera[] GetAllMirrorCameras() => Object.FindObjectsOfType(true).Select(x => + (Camera) typeof(Mirror).GetProperty("reflectionCamera", BindingFlags.Instance | BindingFlags.NonPublic)! + .GetValue(x)).ToArray(); + + public static void ImplementRestrictions() + { + Security.RegisterComponentRestriction((component, _) => + { + Camera camera = (Camera) component; + Camera[] mirrorCameras = GetAllMirrorCameras(); + if(mirrorCameras.Contains(camera)) return; + camera.gameObject.tag = "Untagged"; + camera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay; + }); + Security.RegisterComponentRestriction((component, _) => + { + Mirror mirror = (Mirror) component; + LayerMask mask = LayerMask.GetMask("Default", "Water", "AvatarClip", "ExtraCamera", + "LocalPlayer", "MainCamera", "NetAvatar", "UI", "TransparentFX", "Ignore Raycast"); + mirror.layerMask = mask; + if (mirror.renderers.Count <= 0) + { + // You must use Local mode + Object.Destroy(mirror); + return; + } + mirror.scope = Mirror.OutputScope.Local; + }); + Security.RegisterComponentRestriction((component, isWorld) => + { + Canvas canvas = (Canvas) component; + if (!isWorld) canvas.renderMode = RenderMode.WorldSpace; + if (canvas.renderMode == RenderMode.WorldSpace) + { + TrackedDeviceGraphicRaycaster trackedDeviceGraphicRaycaster = + canvas.gameObject.GetComponent(); + if (trackedDeviceGraphicRaycaster == null) + canvas.gameObject.AddComponent(); + } + }); + Security.RegisterComponentRestriction((component, _) => + { + NetworkSyncDescriptor networkSyncDescriptor = (NetworkSyncDescriptor) component; + NetworkSync networkSync = networkSyncDescriptor.gameObject.AddComponent(); + networkSync.InstanceHostOnly = networkSyncDescriptor.InstanceHostOnly; + networkSync.CanSteal = networkSyncDescriptor.CanSteal; + networkSync.AlwaysSync = networkSyncDescriptor.AlwaysSync; + if(networkSyncDescriptor.InstanceHostOnly && GameInstance.FocusedInstance.isHost) + networkSync.Claim(); + }); + Security.RegisterComponentRestriction((component, _) => + { + GrabbableDescriptor grabbableDescriptor = (GrabbableDescriptor) component; + Grabbable grabbable = grabbableDescriptor.gameObject.AddComponent(); + grabbable.ApplyVelocity = grabbableDescriptor.ApplyVelocity; + grabbable.VelocityAmount = grabbableDescriptor.VelocityAmount; + grabbable.VelocityThreshold = grabbableDescriptor.VelocityThreshold; + grabbable.GrabByLaser = grabbableDescriptor.GrabByLaser; + grabbable.LaserGrabDistance = grabbableDescriptor.LaserGrabDistance; + grabbable.GrabDistance = grabbableDescriptor.GrabDistance; + grabbable.GrabDistance = grabbableDescriptor.GrabDistance; + }); + Security.RegisterComponentRestriction((component, _) => + { + RespawnableDescriptor respawnableDescriptor = (RespawnableDescriptor) component; + Respawnable respawnable = respawnableDescriptor.gameObject.AddComponent(); + respawnable.LowestPointRespawnThreshold = respawnableDescriptor.LowestPointRespawnThreshold; + }); + Security.RegisterComponentRestriction((component, isWorld) => + { + AudioSource audioSource = (AudioSource) component; + audioSource.outputAudioMixerGroup = isWorld ? Init.Instance.WorldGroup : Init.Instance.AvatarGroup; + audioSource.spatialize = true; + }); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Tools/SecurityTools.cs.meta b/Assets/Scripts/Tools/SecurityTools.cs.meta new file mode 100644 index 00000000..b388da08 --- /dev/null +++ b/Assets/Scripts/Tools/SecurityTools.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 33eb221c810d4c2c9b799b07f4c4931c +timeCreated: 1720123774 \ No newline at end of file diff --git a/Assets/Scripts/UI/Templates/ComponentToggleButton.cs b/Assets/Scripts/UI/Templates/ComponentToggleButton.cs new file mode 100644 index 00000000..daf0bc6c --- /dev/null +++ b/Assets/Scripts/UI/Templates/ComponentToggleButton.cs @@ -0,0 +1,123 @@ +using System; +using Hypernex.CCK.Unity; +using Hypernex.Configuration; +using Hypernex.UIActions; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Hypernex.UI.Templates +{ + public class ComponentToggleButton : MonoBehaviour + { + public SettingsPageManager SettingsPageManager; + public SafetyType Safety; + public TMP_Text Label; + public Image Icon; + + public Color ActiveColor => UITheme.SelectedTheme.PrimaryVectorColor; + public Color DisabledColor => new(0.2f, 0.2f, 0.2f, 1f); + + public void OnToggle() + { + switch (SettingsPageManager.SelectedSecurityType) + { + case 1: + ApplySecurityType(ref ConfigManager.SelectedConfigUser.FriendsAvatarComponents); + break; + default: + ApplySecurityType(ref ConfigManager.SelectedConfigUser.AnyoneAvatarComponents); + break; + } + UpdateColors(); + } + + private void OnEnable() => UpdateColors(); + + public void UpdateColors() + { + AllowedAvatarComponent allowedAvatarComponent; + switch (SettingsPageManager.SelectedSecurityType) + { + case 1: + allowedAvatarComponent = ConfigManager.SelectedConfigUser.FriendsAvatarComponents; + break; + default: + allowedAvatarComponent = ConfigManager.SelectedConfigUser.AnyoneAvatarComponents; + break; + } + bool value; + switch (Safety) + { + case SafetyType.Scripting: + value = allowedAvatarComponent.Scripting; + break; + case SafetyType.Physics: + value = allowedAvatarComponent.Physics; + break; + case SafetyType.Audio: + value = allowedAvatarComponent.Audio; + break; + case SafetyType.UI: + value = allowedAvatarComponent.UI; + break; + case SafetyType.Light: + value = allowedAvatarComponent.Light; + break; + case SafetyType.Particle: + value = allowedAvatarComponent.Particle; + break; + default: + throw new Exception("Invalid SafetyType"); + } + Label.font = UITheme.SelectedTheme.PrimaryFont; + Label.color = value ? ActiveColor : DisabledColor; + Icon.color = value ? ActiveColor : DisabledColor; + } + + private bool ApplySecurityType(ref AllowedAvatarComponent allowedAvatarComponent) + { + bool value; + switch (Safety) + { + case SafetyType.Scripting: + value = !allowedAvatarComponent.Scripting; + allowedAvatarComponent.Scripting = value; + break; + case SafetyType.Physics: + value = !allowedAvatarComponent.Physics; + allowedAvatarComponent.Physics = value; + break; + case SafetyType.Audio: + value = !allowedAvatarComponent.Audio; + allowedAvatarComponent.Audio = value; + break; + case SafetyType.UI: + value = !allowedAvatarComponent.UI; + allowedAvatarComponent.UI = value; + break; + case SafetyType.Light: + value = !allowedAvatarComponent.Light; + allowedAvatarComponent.Light = value; + break; + case SafetyType.Particle: + value = !allowedAvatarComponent.Particle; + allowedAvatarComponent.Particle = value; + break; + default: + throw new Exception("Invalid SafetyType"); + } + return value; + } + + public enum SafetyType + { + Scripting, + Physics, + Audio, + UI, + Light, + Particle + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Templates/ComponentToggleButton.cs.meta b/Assets/Scripts/UI/Templates/ComponentToggleButton.cs.meta new file mode 100644 index 00000000..c6ce92ef --- /dev/null +++ b/Assets/Scripts/UI/Templates/ComponentToggleButton.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 94c73d6707b642adbb946b50e7ec1700 +timeCreated: 1720050230 \ No newline at end of file diff --git a/Assets/Scripts/UIActions/SettingsPageManager.cs b/Assets/Scripts/UIActions/SettingsPageManager.cs index 883b7735..3d76035f 100644 --- a/Assets/Scripts/UIActions/SettingsPageManager.cs +++ b/Assets/Scripts/UIActions/SettingsPageManager.cs @@ -13,10 +13,7 @@ using TMPro; using UnityEngine; using UnityEngine.UI; -using VRCFaceTracking; using VRCFaceTracking.Core.Models; -using VRCFaceTracking.Core.Params.Data; -using Image = VRCFaceTracking.Core.Types.Image; namespace Hypernex.UIActions { @@ -35,6 +32,8 @@ public class SettingsPageManager : MonoBehaviour public TMP_Text VoicesBoostSliderValueText; public Slider WorldAudioSlider; public TMP_Text WorldAudioSliderValueText; + public Slider AvatarAudioSlider; + public TMP_Text AvatarAudioSliderValueText; public Toggle NoiseSuppressionToggle; public GameObject UserPanel; @@ -43,6 +42,12 @@ public class SettingsPageManager : MonoBehaviour public TMP_Dropdown AudioCompressionSelection; public TMP_Dropdown GestureSelection; + public GameObject SecurityPanel; + public List ComponentToggleButtons = new(); + public int SelectedSecurityType; + public Button AnyoneButton; + public Button FriendsButton; + public GameObject VRPanel; public TMP_Text UseSnapTurnValue; public Slider SnapTurnDegreeSlider; @@ -115,6 +120,9 @@ public void OnAudioSettings() float waRounded = (float) Math.Round(ConfigManager.SelectedConfigUser.WorldAudioVolume, 2); WorldAudioSlider.value = waRounded; WorldAudioSliderValueText.text = waRounded.ToString(CultureInfo.InvariantCulture) + " dB"; + float aaRounded = (float) Math.Round(ConfigManager.SelectedConfigUser.AvatarAudioVolume, 2); + AvatarAudioSlider.value = aaRounded; + AvatarAudioSliderValueText.text = aaRounded.ToString(CultureInfo.InvariantCulture) + " dB"; NoiseSuppressionToggle.isOn = ConfigManager.SelectedConfigUser.NoiseSuppression; AudioCompressionSelection.value = (int) ConfigManager.SelectedConfigUser.AudioCompression; } @@ -158,6 +166,15 @@ public void OnUserSettings() lastVisiblePanel = OnUserSettings; } + public void OnSecuritySettings() + { + AllPanels.ForEach(x => x.SetActive(false)); + SecurityPanel.SetActive(true); + lastVisiblePanel = OnSecuritySettings; + } + + private void UpdateAllComponentButtons() => ComponentToggleButtons.ForEach(x => x.UpdateColors()); + public void OnVRSettings() { if (ConfigManager.SelectedConfigUser != null) @@ -358,6 +375,15 @@ private void OnEnable() ConfigManager.SelectedConfigUser.WorldAudioVolume = rounded; WorldAudioSliderValueText.text = rounded.ToString(CultureInfo.InvariantCulture) + " dB"; }); + AvatarAudioSlider.onValueChanged.RemoveAllListeners(); + AvatarAudioSlider.onValueChanged.AddListener(v => + { + if(ConfigManager.SelectedConfigUser == null) + return; + float rounded = (float) Math.Round(v, 2); + ConfigManager.SelectedConfigUser.AvatarAudioVolume = rounded; + AvatarAudioSliderValueText.text = rounded.ToString(CultureInfo.InvariantCulture) + " dB"; + }); NoiseSuppressionToggle.onValueChanged.RemoveAllListeners(); NoiseSuppressionToggle.onValueChanged.AddListener(v => { @@ -365,6 +391,18 @@ private void OnEnable() return; ConfigManager.SelectedConfigUser.NoiseSuppression = v; }); + AnyoneButton.onClick.RemoveAllListeners(); + AnyoneButton.onClick.AddListener(() => + { + SelectedSecurityType = 0; + UpdateAllComponentButtons(); + }); + FriendsButton.onClick.RemoveAllListeners(); + FriendsButton.onClick.AddListener(() => + { + SelectedSecurityType = 1; + UpdateAllComponentButtons(); + }); SnapTurnDegreeSlider.onValueChanged.RemoveAllListeners(); SnapTurnDegreeSlider.onValueChanged.AddListener(v => { diff --git a/Assets/Textures/badaudio.png b/Assets/Textures/badaudio.png new file mode 100644 index 0000000000000000000000000000000000000000..743e133fa40d9807f43eac77ef08a1edda4cf48a GIT binary patch literal 22768 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

~FnvT%EKNyQmpHWx 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 literal 0 HcmV?d00001 diff --git a/Assets/Textures/badlight.png.meta b/Assets/Textures/badlight.png.meta new file mode 100644 index 00000000..46447eb4 --- /dev/null +++ b/Assets/Textures/badlight.png.meta @@ -0,0 +1,124 @@ +fileFormatVersion: 2 +guid: 2c323526ca956fe46a735807dbcb06e6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures/badparticle.png b/Assets/Textures/badparticle.png new file mode 100644 index 0000000000000000000000000000000000000000..d347413b61857c6cdc64973bd3cb796e3dc7190b GIT binary patch literal 22810 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 U&;I~m$1K7Wuoy3#vQ6oPa@ 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