2023-04-28 14:02:53 +03:00
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class InputDisplay : MonoBehaviour
|
|
|
|
|
{
|
2023-07-02 23:17:37 +03:00
|
|
|
[SerializeField] private Image _sequenceImage = default;
|
|
|
|
|
[SerializeField] private Sprite[] _sequenceSprites = default;
|
|
|
|
|
[SerializeField] private Color _activedTrigger = default;
|
|
|
|
|
[SerializeField] private Color _disabledTrigger = default;
|
2023-07-01 23:48:47 +03:00
|
|
|
[SerializeField] private Image[] _triggers = default;
|
2023-04-28 14:02:53 +03:00
|
|
|
|
2023-07-01 23:48:47 +03:00
|
|
|
public void UpdateDisplay(InputList inputList)
|
2023-04-28 14:02:53 +03:00
|
|
|
{
|
2023-07-02 23:17:37 +03:00
|
|
|
SetSequenceDisplay(inputList.inputSequence.inputDirectionEnum);
|
2023-07-01 23:48:47 +03:00
|
|
|
for (int i = 0; i < _triggers.Length; i++)
|
|
|
|
|
SetTriggerDisplay(_triggers[i], inputList.inputTriggers[i].held);
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-02 23:17:37 +03:00
|
|
|
private void SetTriggerDisplay(Image triggerImage, bool triggerHeld) => triggerImage.color = triggerHeld ? _activedTrigger : _disabledTrigger;
|
2023-04-28 14:02:53 +03:00
|
|
|
|
2023-07-02 23:17:37 +03:00
|
|
|
private void SetSequenceDisplay(InputDirectionEnum inputDirectionEnum) => _sequenceImage.sprite = _sequenceSprites[(int)inputDirectionEnum];
|
2023-04-28 14:02:53 +03:00
|
|
|
}
|