Skip to content

Commit 46e92dd

Browse files
Adjust the map area indicator for taking a map screenshot
1 parent eb19e68 commit 46e92dd

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

Assets/Project/Scripts/Game Objects/Indicators/MapAreaIndicator.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,34 @@
22
using UnityEngine;
33

44
[RequireComponent(typeof(SpriteRenderer))]
5-
public class MapAreaIndicator : MonoBehaviour
5+
public class MapAreaIndicator : MonoBehaviour, IMapScreenshotTakerElement
66
{
77
[SerializeField][Range(0f, 1f)] private float minimumAlphaWhileFading;
88
[SerializeField][Min(0f)] private float fadeDuration = 5f;
99

1010
private SpriteRenderer spriteRenderer;
1111
private MapAreaManager mapAreaManager;
1212
private Tween fadeTween;
13+
private float lastAlpha;
14+
15+
private static readonly float ALPHA_WHILE_TAKING_MAP_SCREENSHOT = 1f;
16+
17+
public void AdjustForTakingMapScreenshot(bool started)
18+
{
19+
if(started)
20+
{
21+
fadeTween?.Pause();
22+
23+
lastAlpha = spriteRenderer.color.a;
24+
25+
SetAlpha(ALPHA_WHILE_TAKING_MAP_SCREENSHOT);
26+
}
27+
else
28+
{
29+
SetAlpha(lastAlpha);
30+
fadeTween?.Play();
31+
}
32+
}
1333

1434
public void SetActive(bool active)
1535
{
@@ -64,4 +84,9 @@ private void StartFading()
6484
fadeTween = spriteRenderer.DOFade(minimumAlphaWhileFading, fadeDuration).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InOutSine);
6585
}
6686
}
87+
88+
private void SetAlpha(float alpha)
89+
{
90+
spriteRenderer.color = ColorMethods.GetColorWithSetAlpha(spriteRenderer.color, alpha);
91+
}
6792
}

Assets/Project/Scripts/Game Objects/Managers/MapScreenshotTakerElementsManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ private void Awake()
1414
mapScreenshotTaker = ObjectMethods.FindComponentOfType<MapScreenshotTaker>();
1515
mapTilesPathTrailManager = ObjectMethods.FindComponentOfType<MapTilesPathTrailManager>();
1616

17+
mapScreenshotTakerElements.AddRange(ObjectMethods.FindInterfacesOfType<IMapScreenshotTakerElement>());
1718
RegisterToListeners(true);
1819
}
1920

0 commit comments

Comments
 (0)