오늘은 유니티에서 버튼에 있는 Sprite Swap기능으로 스프라이트 교체가 되는것이 아닌 방법을 소개하겠습니다

이 방법을 사용하면 다른 곳을 누르면 바로 풀리는 문제가 있어서 제미나이한테 물어봐서 해결했습니당
일단 이 코드가 제일 중요한데 버튼의 interactable 기능을 이용했습니다!
private void Switch(JamoDefsType type)
{
_current = type;
// 선택된 탭은 클릭이 안 되게(interactable = false) 만들어서
// 인스펙터에서 설정한 'Disabled Sprite(흰 테두리)'가 보이도록 함
if (btnConsonant != null)
btnConsonant.interactable = (type != JamoDefsType.Consonant);
if (btnVowel != null)
btnVowel.interactable = (type != JamoDefsType.Vowel);
RebuildGrid(type == JamoDefsType.Consonant ? JamoDefs.Consonants : JamoDefs.Vowels);
}
interactable가 꺼져있으면 버튼 상호작용이 불가능하게 되고, 켜져있으면 버튼과 상호작용이 가능한 기능인데 버튼을 누르는 순간 interactable이 false가 되면서 Disabled Sprite를 보여주는 것임
