From b846bb454026d0a193e44d854e9267fb4ee9b7aa Mon Sep 17 00:00:00 2001 From: davidejensen Date: Tue, 27 Aug 2024 13:34:25 +0200 Subject: [PATCH 1/2] fix: minor fixes to map pins (#1871) * Fix: fixed set destination pin icon * Improved map pins positions * Moved map pin tooltip on top --- .../ExplorePanel/Assets/ExplorePanelUI.prefab | 48 +++++----- .../Addressables/PinMarkerObject.prefab | 2 +- .../MapRenderer/MapLayers/Pins/PinMarker.cs | 2 +- .../MapLayers/Pins/PinMarkerObject.cs | 3 + .../Assets/DestinationInfoElement.prefab | 95 ++++++++++++++++++- .../Assets/DCL/Navmap/Assets/Navmap.prefab | 54 +++++------ 6 files changed, 148 insertions(+), 56 deletions(-) diff --git a/Explorer/Assets/DCL/ExplorePanel/Assets/ExplorePanelUI.prefab b/Explorer/Assets/DCL/ExplorePanel/Assets/ExplorePanelUI.prefab index bbdc72897f..4fd3798942 100644 --- a/Explorer/Assets/DCL/ExplorePanel/Assets/ExplorePanelUI.prefab +++ b/Explorer/Assets/DCL/ExplorePanel/Assets/ExplorePanelUI.prefab @@ -1699,23 +1699,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 267759340061970864, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 267759340061970864, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 267759340061970864, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 267759340061970864, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 85.770004 objectReference: {fileID: 0} - target: {fileID: 267759340061970864, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 452888844655872247, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y @@ -2383,19 +2383,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4355553488569849823, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4355553488569849823, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4355553488569849823, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 24 objectReference: {fileID: 0} - target: {fileID: 4355553488569849823, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 4392543827313620798, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_PresetInfoIsWorld @@ -2623,23 +2623,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6131980454684310232, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6131980454684310232, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6131980454684310232, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 32.11 objectReference: {fileID: 0} - target: {fileID: 6131980454684310232, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 113.825005 objectReference: {fileID: 0} - target: {fileID: 6131980454684310232, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 6206568137154906387, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y @@ -2839,23 +2839,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7820116009902200831, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7820116009902200831, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7820116009902200831, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 7820116009902200831, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 68.770004 objectReference: {fileID: 0} - target: {fileID: 7820116009902200831, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 7879708898242044120, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y @@ -2971,23 +2971,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8963147552032789253, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8963147552032789253, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8963147552032789253, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 35.77 objectReference: {fileID: 0} - target: {fileID: 8963147552032789253, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 26 objectReference: {fileID: 0} - target: {fileID: 8963147552032789253, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 9086857670890158988, guid: ad0eada9babef44e5bb3f06b080eef83, type: 3} propertyPath: m_AnchorMax.x diff --git a/Explorer/Assets/DCL/MapRenderer/Addressables/PinMarkerObject.prefab b/Explorer/Assets/DCL/MapRenderer/Addressables/PinMarkerObject.prefab index f6841fd665..e237898fe3 100644 --- a/Explorer/Assets/DCL/MapRenderer/Addressables/PinMarkerObject.prefab +++ b/Explorer/Assets/DCL/MapRenderer/Addressables/PinMarkerObject.prefab @@ -193,7 +193,7 @@ Transform: m_GameObject: {fileID: 3043011415193787519} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.6, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarker.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarker.cs index 01bf925abb..4c61a9db3d 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarker.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarker.cs @@ -18,7 +18,7 @@ internal class PinMarker : IPinMarker private readonly IMapCullingController cullingController; private MapMarkerPoolableBehavior poolableBehavior; - private float currentNewScale; + private float currentNewScale = MINIMAP_MIN_SIZE_FOR_PIN; private CancellationTokenSource pulseCancellationTokenSource; private CancellationTokenSource selectionCancellationTokenSource; diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarkerObject.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarkerObject.cs index bb96077fb7..4f59c88345 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarkerObject.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/Pins/PinMarkerObject.cs @@ -8,6 +8,7 @@ namespace DCL.MapRenderer.MapLayers.Pins public class PinMarkerObject : MapRendererMarkerBase { private const int SPRITE_SIZE = 36; + private static readonly Vector3 setAsDestinationPosition = new (0,0.6f,0); [field: SerializeField] internal SpriteRenderer mapPinIcon { get; private set; } [field: SerializeField] internal SpriteRenderer mapPinIconOutline { get; private set; } [field: SerializeField] internal SpriteRenderer[] renderers { get; private set; } @@ -16,6 +17,7 @@ public class PinMarkerObject : MapRendererMarkerBase [field: SerializeField] internal Transform selectionScalingParent { get; private set; } [field: SerializeField] internal Transform pulseScalingParent { get; private set; } + public void SetScale(float newScale) { transform.localScale = new Vector3(newScale, newScale, 1f); @@ -28,6 +30,7 @@ public void SetTexture(Texture2D texture) public void SetAsDestination(bool isDestination) { + pulseScalingParent.localPosition = isDestination ? setAsDestinationPosition : Vector3.zero; destinationBackground.SetActive(isDestination); destinationAnimationElipse.SetActive(isDestination); } diff --git a/Explorer/Assets/DCL/Navmap/Assets/DestinationInfoElement.prefab b/Explorer/Assets/DCL/Navmap/Assets/DestinationInfoElement.prefab index f4a31c9fc6..c90282c2be 100644 --- a/Explorer/Assets/DCL/Navmap/Assets/DestinationInfoElement.prefab +++ b/Explorer/Assets/DCL/Navmap/Assets/DestinationInfoElement.prefab @@ -107,7 +107,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: k__BackingField: {fileID: 4125819755117044877} - k__BackingField: {fileID: 0} + k__BackingField: {fileID: 7293302873017058572} k__BackingField: {fileID: 1892149973350214017} k__BackingField: {fileID: 6166036654044292692} k__BackingField: {fileID: 348836738526587184} @@ -124,7 +124,7 @@ GameObject: - component: {fileID: 1500555207764581069} - component: {fileID: 2050555787163703458} m_Layer: 5 - m_Name: MapPinIcon + m_Name: MapPinIconMask m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -141,7 +141,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 584517571306363022} m_Father: {fileID: 2799947150074536173} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} @@ -933,3 +934,91 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &9185557787842887889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 584517571306363022} + - component: {fileID: 7510354311571325674} + - component: {fileID: 7293302873017058572} + - component: {fileID: 7816679968006529060} + m_Layer: 5 + m_Name: MapPinIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &584517571306363022 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9185557787842887889} + 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: 113753565512829668} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 34, y: 34} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &7510354311571325674 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9185557787842887889} + m_CullTransparentMesh: 1 +--- !u!114 &7293302873017058572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9185557787842887889} + 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: 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!114 &7816679968006529060 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9185557787842887889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eddc1fbd4bd796345832996a9560b9bd, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Explorer/Assets/DCL/Navmap/Assets/Navmap.prefab b/Explorer/Assets/DCL/Navmap/Assets/Navmap.prefab index 9d9d6c3ac1..86b90ffccd 100644 --- a/Explorer/Assets/DCL/Navmap/Assets/Navmap.prefab +++ b/Explorer/Assets/DCL/Navmap/Assets/Navmap.prefab @@ -1002,7 +1002,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 + m_PresetInfoIsWorld: 1 --- !u!114 &8235211841819826033 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1906,23 +1906,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1377024132364785987, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1377024132364785987, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1377024132364785987, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_SizeDelta.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1377024132364785987, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.x - value: 85.770004 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1377024132364785987, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1999866565430665447, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y @@ -2018,19 +2018,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3231721162425425708, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3231721162425425708, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3231721162425425708, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_SizeDelta.x - value: 24 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3231721162425425708, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3431429538192924972, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y @@ -2122,23 +2122,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5022149275346874923, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5022149275346874923, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5022149275346874923, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_SizeDelta.x - value: 32.11 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5022149275346874923, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.x - value: 113.825005 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5022149275346874923, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5059492403272567976, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.x @@ -2242,43 +2242,43 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7838540035828882422, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7838540035828882422, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7838540035828882422, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_SizeDelta.x - value: 35.77 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7838540035828882422, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.x - value: 26 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7838540035828882422, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8948031786974273292, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8948031786974273292, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8948031786974273292, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_SizeDelta.x - value: 10 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8948031786974273292, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.x - value: 68.770004 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8948031786974273292, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9003756089467195253, guid: dc095fdc2631c4557bb7133c59237bee, type: 3} propertyPath: m_AnchorMax.y @@ -4199,7 +4199,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1001436015316186579, guid: d3b1c0d4cb6ff45f2a76af7807b296a3, type: 3} propertyPath: m_Pivot.y - value: -0.15 + value: -0.35 objectReference: {fileID: 0} - target: {fileID: 1001436015316186579, guid: d3b1c0d4cb6ff45f2a76af7807b296a3, type: 3} propertyPath: m_AnchorMax.x @@ -4259,7 +4259,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1001436015316186579, guid: d3b1c0d4cb6ff45f2a76af7807b296a3, type: 3} propertyPath: m_AnchoredPosition.y - value: -95.664795 + value: -120.26477 objectReference: {fileID: 0} - target: {fileID: 1001436015316186579, guid: d3b1c0d4cb6ff45f2a76af7807b296a3, type: 3} propertyPath: m_LocalEulerAnglesHint.x From 5446349f3ed38ebfbc07793567d1c531013d2f08 Mon Sep 17 00:00:00 2001 From: Nick Khalow <71646502+NickKhalow@users.noreply.github.com> Date: Tue, 27 Aug 2024 15:38:56 +0300 Subject: [PATCH 2/2] fix: map avatar points (#1893) * MinimapPlugin AsUniTaskResult, remove unnecessary state machine creation * nullables * HotUserMarkerObject internal initialize * fix points and avatar instantiation after clean-up --- .../Systems/InstantiateRandomAvatarsSystem.cs | 4 ++- .../Addressables/HotUserMarkerObject.prefab | 10 +++--- .../HotUsersMarkersInstaller.cs | 6 ++-- .../DCL/MapRenderer/ConsumerUtils/csc.rsp | 1 + .../MapRenderer/ConsumerUtils/csc.rsp.meta | 3 ++ .../DCL/MapRenderer/IMapRendererSettings.cs | 1 + .../MapLayers/UsersMarker/HotUserMarker.cs | 6 ++-- .../UsersMarker/HotUserMarkerObject.cs | 13 +++++-- .../UsersMarkersHotAreaController.cs | 11 +++--- .../DCL/PluginSystem/Global/MinimapPlugin.cs | 35 +++++++++++++------ 10 files changed, 58 insertions(+), 32 deletions(-) create mode 100644 Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp create mode 100644 Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp.meta diff --git a/Explorer/Assets/DCL/AvatarRendering/DemoScripts/Systems/InstantiateRandomAvatarsSystem.cs b/Explorer/Assets/DCL/AvatarRendering/DemoScripts/Systems/InstantiateRandomAvatarsSystem.cs index c540e2440b..8693315637 100644 --- a/Explorer/Assets/DCL/AvatarRendering/DemoScripts/Systems/InstantiateRandomAvatarsSystem.cs +++ b/Explorer/Assets/DCL/AvatarRendering/DemoScripts/Systems/InstantiateRandomAvatarsSystem.cs @@ -299,7 +299,9 @@ private void CreateAvatar(ICharacterControllerSettings characterControllerSettin transformComp.Transform.name = $"RANDOM_AVATAR_{avatarIndex}"; - CharacterController characterController = transformComp.Transform.gameObject.AddComponent<CharacterController>(); + CharacterController characterController = transformComp.Transform.TryGetComponent<CharacterController>(out var component) + ? component + : transformComp.Transform.gameObject.AddComponent<CharacterController>(); characterController.radius = 0.4f; characterController.height = 2; characterController.center = Vector3.up; diff --git a/Explorer/Assets/DCL/MapRenderer/Addressables/HotUserMarkerObject.prefab b/Explorer/Assets/DCL/MapRenderer/Addressables/HotUserMarkerObject.prefab index 61788f7073..817a1f5bfb 100644 --- a/Explorer/Assets/DCL/MapRenderer/Addressables/HotUserMarkerObject.prefab +++ b/Explorer/Assets/DCL/MapRenderer/Addressables/HotUserMarkerObject.prefab @@ -23,6 +23,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4175020263976144273} + 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} @@ -31,7 +32,6 @@ Transform: - {fileID: 3972535992487305214} - {fileID: 1882238951119396974} m_Father: {fileID: 6490643975463183000} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6634102564137692517 GameObject: @@ -57,6 +57,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6634102564137692517} + 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} @@ -64,7 +65,6 @@ Transform: m_Children: - {fileID: 8293322612040113748} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6723780352267149330 MonoBehaviour: @@ -79,7 +79,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: <pivot>k__BackingField: {x: 0.5, y: 0.5} - <spriteRenderers>k__BackingField: + spriteRenderers: - {fileID: 6574531059262994368} - {fileID: 6527134346746202169} --- !u!1 &8549977302113203150 @@ -106,13 +106,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8549977302113203150} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.45, y: 0.45, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8293322612040113748} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6574531059262994368 SpriteRenderer: @@ -190,13 +190,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9041844299909259778} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -0.026} m_LocalScale: {x: 0.38, y: 0.38, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8293322612040113748} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6527134346746202169 SpriteRenderer: diff --git a/Explorer/Assets/DCL/MapRenderer/ComponentsFactory/HotUsersMarkersInstaller.cs b/Explorer/Assets/DCL/MapRenderer/ComponentsFactory/HotUsersMarkersInstaller.cs index 8fd89652f2..dfef3ffd86 100644 --- a/Explorer/Assets/DCL/MapRenderer/ComponentsFactory/HotUsersMarkersInstaller.cs +++ b/Explorer/Assets/DCL/MapRenderer/ComponentsFactory/HotUsersMarkersInstaller.cs @@ -4,6 +4,7 @@ using DCL.MapRenderer.Culling; using DCL.MapRenderer.MapLayers; using DCL.MapRenderer.MapLayers.Users; +using DCL.MapRenderer.MapLayers.UsersMarker; using System.Collections.Generic; using System.Threading; using UnityEngine; @@ -50,10 +51,7 @@ IHotUserMarker CreateWrap() => private static HotUserMarkerObject CreatePoolMethod(MapRendererConfiguration configuration, HotUserMarkerObject prefab, ICoordsUtils coordsUtils) { HotUserMarkerObject markerObject = Object.Instantiate(prefab, configuration.HotUserMarkersRoot); - - for (var i = 0; i < markerObject.spriteRenderers.Length; i++) - markerObject.spriteRenderers[i].sortingOrder = MapRendererDrawOrder.HOT_USER_MARKERS; - + markerObject.UpdateSortOrder(MapRendererDrawOrder.HOT_USER_MARKERS); coordsUtils.SetObjectScale(markerObject); return markerObject; } diff --git a/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp b/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp new file mode 100644 index 0000000000..dcc377f897 --- /dev/null +++ b/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp @@ -0,0 +1 @@ +-nullable:enable \ No newline at end of file diff --git a/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp.meta b/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp.meta new file mode 100644 index 0000000000..e8caa72002 --- /dev/null +++ b/Explorer/Assets/DCL/MapRenderer/ConsumerUtils/csc.rsp.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5dc895e01d674698ba299902a4a74996 +timeCreated: 1724678923 \ No newline at end of file diff --git a/Explorer/Assets/DCL/MapRenderer/IMapRendererSettings.cs b/Explorer/Assets/DCL/MapRenderer/IMapRendererSettings.cs index 9c75af1f5a..771be1f4e7 100644 --- a/Explorer/Assets/DCL/MapRenderer/IMapRendererSettings.cs +++ b/Explorer/Assets/DCL/MapRenderer/IMapRendererSettings.cs @@ -7,6 +7,7 @@ using DCL.MapRenderer.MapLayers.PlayerMarker; using DCL.MapRenderer.MapLayers.PointsOfInterest; using DCL.MapRenderer.MapLayers.Users; +using DCL.MapRenderer.MapLayers.UsersMarker; using System; using UnityEngine; diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarker.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarker.cs index 0e3f152b27..fc80393996 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarker.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarker.cs @@ -1,8 +1,6 @@ -using Cysharp.Threading.Tasks; -using DCL.MapRenderer.CommonBehavior; +using DCL.MapRenderer.CommonBehavior; using DCL.MapRenderer.CoordsUtils; -using DCL.MapRenderer.Culling; -using System.Threading; +using DCL.MapRenderer.MapLayers.UsersMarker; using UnityEngine; using UnityEngine.Pool; using Utility; diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarkerObject.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarkerObject.cs index ac41128773..453eec9002 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarkerObject.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/HotUserMarkerObject.cs @@ -1,10 +1,17 @@ -using UnityEngine; +using System; +using UnityEngine; -namespace DCL.MapRenderer.MapLayers.Users +namespace DCL.MapRenderer.MapLayers.UsersMarker { public class HotUserMarkerObject : MapRendererMarkerBase { [field: SerializeField] - internal SpriteRenderer[] spriteRenderers { get; private set; } + private SpriteRenderer[] spriteRenderers = Array.Empty<SpriteRenderer>(); + + public void UpdateSortOrder(int sortingOrder) + { + for (var i = 0; i < spriteRenderers.Length; i++) + spriteRenderers[i].sortingOrder = sortingOrder; + } } } diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/UsersMarkersHotAreaController.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/UsersMarkersHotAreaController.cs index 649b67dfee..d92dc99333 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/UsersMarkersHotAreaController.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/UsersMarker/UsersMarkersHotAreaController.cs @@ -8,6 +8,8 @@ using DCL.CharacterPreview.Components; using DCL.MapRenderer.CoordsUtils; using DCL.MapRenderer.Culling; +using DCL.MapRenderer.MapLayers.UsersMarker; +using ECS.Groups; using ECS.LifeCycle.Components; using MVC; using System.Collections.Generic; @@ -55,15 +57,14 @@ public void CreateSystems(ref ArchSystemsWorldBuilder<World> builder) untrackSystem.Activate(); } - [All(typeof(CharacterTransform))] - [None(typeof(PlayerComponent), typeof(CharacterPreviewComponent))] [Query] + [None(typeof(PlayerComponent), typeof(CharacterPreviewComponent), typeof(DeleteEntityIntention))] private void SetPlayerMarker(in CharacterTransform transformComponent, in AvatarShapeComponent avatarShape) { if (!isEnabled) return; - if(markers.TryGetValue(avatarShape.ID, out var marker)) + if (markers.TryGetValue(avatarShape.ID, out var marker)) { marker.UpdateMarkerPosition(avatarShape.ID, transformComponent.Transform.position); mapCullingController.SetTrackedObjectPositionDirty(marker); @@ -77,7 +78,8 @@ private void SetPlayerMarker(in CharacterTransform transformComponent, in Avatar } [Query] - private void RemoveMarker(in AvatarShapeComponent avatarShape, in DeleteEntityIntention deleteEntityIntention) + [All(typeof(DeleteEntityIntention))] + private void RemoveMarker(in AvatarShapeComponent avatarShape) { if (markers.TryGetValue(avatarShape.ID, out var marker)) { @@ -115,6 +117,7 @@ public partial class TrackPlayersPositionSystem : ControllerECSBridgeSystem internal TrackPlayersPositionSystem(World world) : base(world) { } } + [UpdateAfter(typeof(TrackPlayersPositionSystem))] [UpdateInGroup(typeof(PresentationSystemGroup))] public partial class RemovedTrackedPlayersPositionSystem : ControllerECSBridgeSystem { diff --git a/Explorer/Assets/DCL/PluginSystem/Global/MinimapPlugin.cs b/Explorer/Assets/DCL/PluginSystem/Global/MinimapPlugin.cs index 99f71501e8..2a45e62db2 100644 --- a/Explorer/Assets/DCL/PluginSystem/Global/MinimapPlugin.cs +++ b/Explorer/Assets/DCL/PluginSystem/Global/MinimapPlugin.cs @@ -11,6 +11,7 @@ using System.Threading; using ECS.SceneLifeCycle; using ECS.SceneLifeCycle.Realm; +using Utility.Tasks; namespace DCL.PluginSystem.Global { @@ -41,20 +42,32 @@ public MinimapPlugin(IMVCManager mvcManager, MapRendererContainer mapRendererCon this.mainUIView = mainUIView; } - protected override async UniTask<ContinueInitialization?> InitializeInternalAsync(MinimapSettings settings, CancellationToken ct) + protected override UniTask<ContinueInitialization?> InitializeInternalAsync(MinimapSettings settings, CancellationToken ct) { - return (ref ArchSystemsWorldBuilder<Arch.Core.World> world, in GlobalPluginArguments _) => + ContinueInitialization initialization = (ref ArchSystemsWorldBuilder<Arch.Core.World> world, in GlobalPluginArguments _) => { - mvcManager.RegisterController(new MinimapController( - () => - { - MinimapView? view = mainUIView.MinimapView; - view.gameObject.SetActive(true); - return view; - }, - mapRendererContainer.MapRenderer, mvcManager, placesAPIService, TrackPlayerPositionSystem.InjectToWorld(ref world), - realmData, chatMessagesBus, realmNavigator, scenesCache, mapPathEventBus)); + mvcManager.RegisterController( + new MinimapController( + () => + { + MinimapView? view = mainUIView.MinimapView; + view.gameObject.SetActive(true); + return view; + }, + mapRendererContainer.MapRenderer, + mvcManager, + placesAPIService, + TrackPlayerPositionSystem.InjectToWorld(ref world), + realmData, + chatMessagesBus, + realmNavigator, + scenesCache, + mapPathEventBus + ) + ); }; + + return initialization.AsUniTaskResult<ContinueInitialization?>(); } protected override void InjectSystems(ref ArchSystemsWorldBuilder<Arch.Core.World> builder, in GlobalPluginArguments arguments) { }