Skip to content

Commit a6718d3

Browse files
committed
UI Arrow to display in what direction to move.
1 parent 947e956 commit a6718d3

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

Scripts/UI/DirectionalArrow.cs

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
using UnityEngine;
2+
3+
public class DirectionalArrow : MonoBehaviour
4+
{
5+
[SerializeField] private CameraLogic cameraLogic;
6+
[SerializeField] private GameObject leftPlayerArrow;
7+
[SerializeField] private GameObject rightPlayerArrow;
8+
9+
private float wiggleSpeed = 5f;
10+
private float wiggleAmount = 50.5f;
11+
12+
private Vector3 leftArrowOriginalPosition;
13+
private Vector3 rightArrowOriginalPosition;
14+
15+
private void Start()
16+
{
17+
leftPlayerArrow.SetActive(false);
18+
rightPlayerArrow.SetActive(false);
19+
20+
leftArrowOriginalPosition = leftPlayerArrow.transform.localPosition;
21+
rightArrowOriginalPosition = rightPlayerArrow.transform.localPosition;
22+
}
23+
24+
private void Update()
25+
{
26+
HandleArrowActivation();
27+
ApplyWiggleEffect();
28+
}
29+
30+
private void HandleArrowActivation()
31+
{
32+
if (cameraLogic == null) return;
33+
34+
bool isPlayer1Assigned = cameraLogic.player1 != null;
35+
bool isPlayer2Assigned = cameraLogic.player2 != null;
36+
37+
leftPlayerArrow.SetActive(isPlayer1Assigned && !isPlayer2Assigned);
38+
rightPlayerArrow.SetActive(isPlayer2Assigned && !isPlayer1Assigned);
39+
40+
if (!isPlayer1Assigned && !isPlayer2Assigned)
41+
{
42+
leftPlayerArrow.SetActive(false);
43+
rightPlayerArrow.SetActive(false);
44+
}
45+
}
46+
47+
private void ApplyWiggleEffect()
48+
{
49+
if (leftPlayerArrow.activeSelf)
50+
{
51+
leftPlayerArrow.transform.localPosition = leftArrowOriginalPosition + new Vector3(Mathf.Sin(Time.time * wiggleSpeed) * wiggleAmount, 0, 0);
52+
}
53+
54+
if (rightPlayerArrow.activeSelf)
55+
{
56+
rightPlayerArrow.transform.localPosition = rightArrowOriginalPosition + new Vector3(Mathf.Sin(Time.time * wiggleSpeed) * wiggleAmount, 0, 0);
57+
}
58+
}
59+
}

0 commit comments

Comments
 (0)