등급별로 캐릭터 백그라운드 색깔이 달라지는 UI 폴리싱 작업이 진행되었다.
등급별로 다른 백그라운드를 표시항 방식은 다음과 같다.
[Header("Data Input")]
private UnitStatus _status;
public UnitStatus Status => _status;
[SerializeField] UnitData _unitData;
[Header("UI")]
[SerializeField] private Image _cardImage;
[SerializeField] private Image _characterImg;
[SerializeField] private Image _roleSynergyImg;
[SerializeField] private TMP_Text _levelText;
[SerializeField] private TMP_Text _nameText;
[SerializeField] private Image _selectedImage;
[Header("Reference")]
[SerializeField] private Sprite[] _gradeSprite;
...
private void UIUpdate()
{
_cardImage.sprite = _gradeSprite[(int)_status.Data.Grade];
_characterImg.sprite = _status.Data.Icon;
if (Manager.Data.SynergyDB != null)
{
_roleSynergyImg.sprite = Manager.Data.SynergyDB.GetSynergy((int)_status.Data.ClassSynergy).Icon;
}
_levelText.text = $"Lv.{_status.Level}";
_nameText.text = _status.Data.Name;
SelectedUpdate();
}
캐릭터의 Grade는 Enum으로 되어 있으며, 이 Enum을 int로 변환한 다음 참조한 이미지 스프라이트의 등급에 따라 백그라운드 이미지 자체가 변경되도록 하였다.