From 9bf3911b475be14f5ce94238b0512557aa5c5667 Mon Sep 17 00:00:00 2001 From: Robert Hammerle Date: Fri, 11 Oct 2024 11:40:17 +0200 Subject: [PATCH 01/20] feat: Integrate Ingame UI --- .../Assets/Art/UI.meta | 8 + .../Assets/Art/UI/BG_Setting_Row.png | Bin 0 -> 5513 bytes .../Assets/Art/UI/BG_Setting_Row.png.meta | 120 ++++++ .../Assets/Fonts/Grandstander-SemiBold.ttf | Bin 0 -> 148392 bytes .../Fonts/Grandstander-SemiBold.ttf.meta | 21 + .../Assets/Prefabs/UI.meta | 8 + .../Assets/Prefabs/UI/IngameUI.prefab | 380 ++++++++++++++++++ .../Assets/Prefabs/UI/IngameUI.prefab.meta | 7 + .../Assets/Scenes/HubScene_TownMarket.unity | 84 +++- .../Scripts/Player/AvatarInteractions.cs | 37 ++ ...ultiplayer.Samples.SocialHub.Player.asmdef | 5 +- .../Assets/Scripts/UI/IngameUI.meta | 8 + .../Scripts/UI/IngameUI/CarryBoxIndicator.cs | 68 ++++ .../UI/IngameUI/CarryBoxIndicator.cs.meta | 2 + .../Assets/Scripts/UI/IngameUI/IngameMenu.cs | 72 ++++ .../Scripts/UI/IngameUI/IngameMenu.cs.meta | 2 + .../Scripts/UI/IngameUI/PickUpIndicator.cs | 103 +++++ .../UI/IngameUI/PickUpIndicator.cs.meta | 2 + .../Scripts/UI/IngameUI/PlayerHeadDisplay.cs | 22 + .../UI/IngameUI/PlayerHeadDisplay.cs.meta | 2 + .../UI/IngameUI/PlayersTopUIController.cs | 117 ++++++ .../IngameUI/PlayersTopUIController.cs.meta | 2 + .../Assets/Scripts/UI/IngameUI/UIUtils.cs | 43 ++ .../Scripts/UI/IngameUI/UIUtils.cs.meta | 2 + ...ty.Multiplayer.Samples.SocialHub.UI.asmdef | 5 +- .../Assets/UI/ScreenspacePanelSettings.asset | 46 +++ .../UI/ScreenspacePanelSettings.asset.meta | 8 + .../Assets/UI/Uss/Ingame.uss | 142 +++++++ .../Assets/UI/Uss/Ingame.uss.meta | 11 + .../Assets/UI/Uxml/Ingame.meta | 8 + .../Assets/UI/Uxml/Ingame/IngameMenu.uxml | 11 + .../UI/Uxml/Ingame/IngameMenu.uxml.meta | 10 + .../UI/Uxml/Ingame/PickupIndicator.uxml | 7 + .../UI/Uxml/Ingame/PickupIndicator.uxml.meta | 10 + .../Assets/UI/Uxml/Ingame/PlayerName.uxml | 4 + .../UI/Uxml/Ingame/PlayerName.uxml.meta | 10 + .../UI/Uxml/Ingame/ScreenspaceContainer.uxml | 6 + .../Ingame/ScreenspaceContainer.uxml.meta | 10 + .../UI/Uxml/Ingame/WorldspaceContainer.uxml | 4 + .../Uxml/Ingame/WorldspaceContainer.uxml.meta | 10 + .../Assets/UI/WorldspaceUI.asset | 46 +++ .../Assets/UI/WorldspaceUI.asset.meta | 8 + 42 files changed, 1466 insertions(+), 5 deletions(-) create mode 100644 Experimental/DistributedAuthoritySample/Assets/Art/UI.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Art/UI/BG_Setting_Row.png create mode 100644 Experimental/DistributedAuthoritySample/Assets/Art/UI/BG_Setting_Row.png.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Fonts/Grandstander-SemiBold.ttf create mode 100644 Experimental/DistributedAuthoritySample/Assets/Fonts/Grandstander-SemiBold.ttf.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Prefabs/UI.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab create mode 100644 Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/CarryBoxIndicator.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/CarryBoxIndicator.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/IngameMenu.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/IngameMenu.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PickUpIndicator.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PickUpIndicator.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PlayerHeadDisplay.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PlayerHeadDisplay.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PlayersTopUIController.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/PlayersTopUIController.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/UIUtils.cs create mode 100644 Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/UIUtils.cs.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/ScreenspacePanelSettings.asset create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/ScreenspacePanelSettings.asset.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uss/Ingame.uss create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uss/Ingame.uss.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/IngameMenu.uxml create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/IngameMenu.uxml.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/PickupIndicator.uxml create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/PickupIndicator.uxml.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/PlayerName.uxml create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/PlayerName.uxml.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/ScreenspaceContainer.uxml create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/ScreenspaceContainer.uxml.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/WorldspaceContainer.uxml create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/Uxml/Ingame/WorldspaceContainer.uxml.meta create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/WorldspaceUI.asset create mode 100644 Experimental/DistributedAuthoritySample/Assets/UI/WorldspaceUI.asset.meta diff --git a/Experimental/DistributedAuthoritySample/Assets/Art/UI.meta b/Experimental/DistributedAuthoritySample/Assets/Art/UI.meta new file mode 100644 index 000000000..07ba35795 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Art/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d61ec01b074f4c91a06ef969a203cb5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/DistributedAuthoritySample/Assets/Art/UI/BG_Setting_Row.png b/Experimental/DistributedAuthoritySample/Assets/Art/UI/BG_Setting_Row.png new file mode 100644 index 0000000000000000000000000000000000000000..da33ddf2c74060a38d80fce14f59b8e2a204feac GIT binary patch literal 5513 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 V?P~|gB9Lz!|78Jw2bQk+ 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 literal 0 HcmV?d00001 diff --git a/Experimental/DistributedAuthoritySample/Assets/Fonts/Grandstander-SemiBold.ttf.meta b/Experimental/DistributedAuthoritySample/Assets/Fonts/Grandstander-SemiBold.ttf.meta new file mode 100644 index 000000000..9cf83b737 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Fonts/Grandstander-SemiBold.ttf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 01732851f19ed41ffa80b26ee3b16cf5 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Grandstander + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI.meta b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI.meta new file mode 100644 index 000000000..70cc1a9d1 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 146e8b4b37e2f4cc88ba11f70feb62e2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab new file mode 100644 index 000000000..690ee98c1 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab @@ -0,0 +1,380 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3209112381140291289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8260601768609746557} + - component: {fileID: 2624134516453966882} + - component: {fileID: 7977430163742817466} + m_Layer: 0 + m_Name: WorldspaceUIContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8260601768609746557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3209112381140291289} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2624134516453966882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3209112381140291289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PanelSettings: {fileID: 11400000, guid: 0e4f51bac594c48f389b138036e2b43f, type: 2} + m_ParentUI: {fileID: 0} + sourceAsset: {fileID: 9197481963319205126, guid: 9200cd2c1c32a4640827d30cb42d1308, type: 3} + m_SortingOrder: 0 + m_WorldSpaceSizeMode: 1 + m_WorldSpaceWidth: 1920 + m_WorldSpaceHeight: 1080 +--- !u!1931382933 &7977430163742817466 +UIRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3209112381140291289} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &3760817242580890973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2256034313796960807} + - component: {fileID: 6819266640017766453} + m_Layer: 0 + m_Name: CarryBoxUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2256034313796960807 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3760817242580890973} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6819266640017766453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3760817242580890973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cab95fb48d30a4b788382f3e6de41d8f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CarryBoxIndicatorAsset: {fileID: 9197481963319205126, guid: 8fdf32eb7f5054f7c905e967bb97622a, type: 3} + m_Camera: {fileID: 0} + m_VerticalOffset: 0.2 + m_ScreenspaceUI: {fileID: 436460152536684898} +--- !u!1 &3880690501373695684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8481058004063830698} + - component: {fileID: 1285283790433398916} + m_Layer: 0 + m_Name: Menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8481058004063830698 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3880690501373695684} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1285283790433398916 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3880690501373695684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9db8191e011349b7a3866de665e9c85, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIDocument: {fileID: 436460152536684898} + m_IngameMenuAsset: {fileID: 9197481963319205126, guid: 2f4e12e43d45445fc821ef11fac71cbb, type: 3} +--- !u!1 &4442235778373555955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8617889547341104717} + m_Layer: 0 + m_Name: IngameUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8617889547341104717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4442235778373555955} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 53.903156, y: -3.0556173, z: 5.721881} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8260601768609746557} + - {fileID: 3336661237540986728} + - {fileID: 1441329406051364446} + - {fileID: 2256034313796960807} + - {fileID: 7559383771208540613} + - {fileID: 8481058004063830698} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5231826839060252271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3336661237540986728} + - component: {fileID: 436460152536684898} + m_Layer: 0 + m_Name: ScreenspaceUIContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3336661237540986728 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5231826839060252271} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &436460152536684898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5231826839060252271} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PanelSettings: {fileID: 11400000, guid: f87c14ce92c804cf2a078e05e3ee2019, type: 2} + m_ParentUI: {fileID: 0} + sourceAsset: {fileID: 9197481963319205126, guid: e289958644d344faca163735e9292679, type: 3} + m_SortingOrder: 0 + m_WorldSpaceSizeMode: 1 + m_WorldSpaceWidth: 1920 + m_WorldSpaceHeight: 1080 +--- !u!1 &6990578997068127384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1441329406051364446} + - component: {fileID: 2976577740237118850} + m_Layer: 0 + m_Name: PickupUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1441329406051364446 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6990578997068127384} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2976577740237118850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6990578997068127384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0f7b04d1430b4e5489e47c65f7cff27, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PickupAsset: {fileID: 9197481963319205126, guid: 8fdf32eb7f5054f7c905e967bb97622a, type: 3} + m_Camera: {fileID: 0} + m_VerticalOffset: 0.75 + m_WorldspaceUI: {fileID: 2624134516453966882} +--- !u!1 &7898239706649082948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7559383771208540613} + - component: {fileID: 2293873620935712837} + m_Layer: 0 + m_Name: PlayersTopDisplayUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7559383771208540613 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7898239706649082948} + serializedVersion: 2 + 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: 8617889547341104717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2293873620935712837 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7898239706649082948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbdf040e93bb04f3eb914539db5ed09e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIDocument: {fileID: 436460152536684898} + m_NameplateAsset: {fileID: 9197481963319205126, guid: 024b9614e5611458f99c56be0e3a02e2, type: 3} + m_NameplateScale: {x: 0, y: 0} + m_PanelMinSize: 0.4 + m_PanelMaxSize: 1 + m_DisplayYOffset: 1.6 + m_Camera: {fileID: 0} + m_TrackingTarget: [] diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab.meta b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab.meta new file mode 100644 index 000000000..61dc37080 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/UI/IngameUI.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 518a390d1a3b34df4810b14940708492 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity b/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity index 0b4c7e72f..1b6ca686d 100644 --- a/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity +++ b/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity @@ -42,7 +42,8 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -1137,6 +1138,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 3424233303973944120, guid: 6012ed8aa831c4adda345f473e72c4e3, type: 3} + propertyPath: k__BackingField.m_PositionLeftToRight + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6290292887620514864, guid: 6012ed8aa831c4adda345f473e72c4e3, type: 3} propertyPath: m_Name value: Runtime Network Stats Monitor @@ -1202,7 +1207,7 @@ LightingSettings: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: New Lighting Settings - serializedVersion: 8 + serializedVersion: 9 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_RealtimeEnvironmentLighting: 1 @@ -1381,6 +1386,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 36b3ee75677a1544191c0ddaaadd8140, type: 3} +--- !u!20 &1062256792 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 203267159508449519, guid: 36b3ee75677a1544191c0ddaaadd8140, type: 3} + m_PrefabInstance: {fileID: 1062256791} + m_PrefabAsset: {fileID: 0} --- !u!1 &1069305774 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1250008963122337650, guid: 4353311a03fb2472fbb8f97f805bd1bd, type: 3} @@ -110423,6 +110433,75 @@ Transform: m_CorrespondingSourceObject: {fileID: 2825403755275319640, guid: 21672c7e164aa3442b72d68e88a06db6, type: 3} m_PrefabInstance: {fileID: 1917529608159063297} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1967187539028999328 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2293873620935712837, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 1062256792} + - target: {fileID: 2976577740237118850, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 1062256792} + - target: {fileID: 4442235778373555955, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_Name + value: IngameUI + objectReference: {fileID: 0} + - target: {fileID: 6819266640017766453, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 1062256792} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalPosition.x + value: 53.903156 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalPosition.y + value: -3.0556173 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalPosition.z + value: 5.721881 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8617889547341104717, guid: 518a390d1a3b34df4810b14940708492, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 518a390d1a3b34df4810b14940708492, type: 3} --- !u!4 &2035680768038172055 Transform: m_ObjectHideFlags: 0 @@ -302081,3 +302160,4 @@ SceneRoots: - {fileID: 629562854} - {fileID: 520179744} - {fileID: 1097611882} + - {fileID: 1967187539028999328} diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarInteractions.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarInteractions.cs index a638118b9..b86d7c0a1 100644 --- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarInteractions.cs +++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarInteractions.cs @@ -2,6 +2,7 @@ using System.Collections; using Unity.Multiplayer.Samples.SocialHub.Gameplay; using Unity.Multiplayer.Samples.SocialHub.Input; +using Unity.Multiplayer.Samples.SocialHub.UI; using Unity.Netcode; using UnityEngine; @@ -47,6 +48,10 @@ class AvatarInteractions : NetworkBehaviour, INetworkUpdateSystem TransferableObject m_TransferableObject; + PickUpIndicator m_PickUpIndicator; + + CarryBoxIndicator m_CarryBoxIndicator; + const float k_MinDurationHeld = 0f; const float k_MaxDurationHeld = 2f; @@ -60,10 +65,18 @@ void Awake() m_PickupableLayerMask = 1 << LayerMask.NameToLayer("Pickupable"); } + void Update() + { + CheckForPickupsInRange(); + } + public override void OnNetworkSpawn() { base.OnNetworkSpawn(); + m_PickUpIndicator = FindFirstObjectByType(); + m_CarryBoxIndicator = FindFirstObjectByType(); + m_InteractCollider.enabled = HasAuthority; this.RegisterNetworkUpdate(updateStage: NetworkUpdateStage.PreLateUpdate); @@ -184,6 +197,27 @@ void OnHoldReleased(double holdDuration) } } + void CheckForPickupsInRange() + { + if(m_TransferableObject != null) + { + m_PickUpIndicator.ClearPickup(); + return; + } + + m_CarryBoxIndicator.HideCarry(); + + if (UnityEngine.Physics.OverlapBoxNonAlloc(m_InteractCollider.transform.position, m_InteractCollider.bounds.extents, m_Results, Quaternion.identity, mask: m_PickupableLayerMask) > 0) + { + if(m_Results[0].TryGetComponent(out NetworkObject otherNetworkObject)) + { + m_PickUpIndicator.ShowPickup(otherNetworkObject.transform); + return; + } + } + m_PickUpIndicator.ClearPickup(); + } + void PickUp() { if (UnityEngine.Physics.OverlapBoxNonAlloc(m_InteractCollider.transform.position, m_InteractCollider.bounds.extents, m_Results, Quaternion.identity, mask: m_PickupableLayerMask) > 0) @@ -269,6 +303,9 @@ IEnumerator SmoothLookAt(Transform target) yield return null; } + // show indicator for carry + m_CarryBoxIndicator.ShowCarry(transform); + // Ensure the final rotation is exactly towards the target transform.rotation = Quaternion.Euler(0, targetRotation.eulerAngles.y, 0); // Keep only the y-axis rotation } diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/Unity.Multiplayer.Samples.SocialHub.Player.asmdef b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/Unity.Multiplayer.Samples.SocialHub.Player.asmdef index 0b6eb0768..77cb81f65 100644 --- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/Unity.Multiplayer.Samples.SocialHub.Player.asmdef +++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/Unity.Multiplayer.Samples.SocialHub.Player.asmdef @@ -7,7 +7,8 @@ "GUID:9ff2150ce7d7c415a8af1fbff3dc3e6c", "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:ae1323dabfa6440b3956d4cc5239e361", - "GUID:4307f53044263cf4b835bd812fc161a4" + "GUID:4307f53044263cf4b835bd812fc161a4", + "GUID:86923d8926a1f4aca9fcdd3f0097bfd7" ], "includePlatforms": [], "excludePlatforms": [], @@ -18,4 +19,4 @@ "defineConstraints": [], "versionDefines": [], "noEngineReferences": false -} +} \ No newline at end of file diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI.meta b/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI.meta new file mode 100644 index 000000000..bd7c74be3 --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b9bab18c22ac4418b935dc4ce3cf3a2a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/CarryBoxIndicator.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/CarryBoxIndicator.cs new file mode 100644 index 000000000..cf4191e6e --- /dev/null +++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/UI/IngameUI/CarryBoxIndicator.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections; +using System.Linq; +using UnityEngine; +using UnityEngine.UIElements; + +namespace Unity.Multiplayer.Samples.SocialHub.UI +{ + public class CarryBoxIndicator : MonoBehaviour + { + [SerializeField] + VisualTreeAsset m_CarryBoxIndicatorAsset; + + [SerializeField] + Camera m_Camera; + + [SerializeField] + float m_VerticalOffset = 1.5f; + + [SerializeField] + UIDocument m_ScreenspaceUI; + + VisualElement m_CarryUI; + + Transform m_CarryTransform; + + const string k_ActiveUSSClass = "show"; + const string k_InactiveUSSClass = "hide"; + + void OnEnable() + { + // pick first child to avoid adding the root element + m_CarryUI = m_CarryBoxIndicatorAsset.CloneTree().Children().ToArray()[0]; + m_CarryUI.AddToClassList(k_InactiveUSSClass); + m_ScreenspaceUI.rootVisualElement.Q("player-carry-container").Add(m_CarryUI); + m_CarryUI.Q