using UnityEngine; using UnityEngine.UI; /// /// MapIndicatorController updates the UI to show the current map. /// [RequireComponent(typeof(Image))] public class MapIndicatorController : MonoBehaviour { [Header("Configuration")] public Color[] colors = { new(34f / 255, 139f / 255, 230f / 255), new(250f / 255, 82f / 255, 82f / 255), new(64f / 255, 192f / 255, 87f / 255) }; private Image _image; private void Start() { _image = GetComponent(); _image.color = colors[GameManager.Instance.currentMapIdx]; } private void OnEnable() { GameManager manager = GameManager.Instance; manager.onMapSwitch.AddListener(OnMapSwitch); } private void OnDisable() { GameManager manager = GameManager.Instance; manager.onMapSwitch.RemoveListener(OnMapSwitch); } private void OnMapSwitch(int idx, Vector3 o) { _image.color = colors[idx]; } }