feat: NanumGothic font + SongSelect UI fixes

- Add NanumGothic.ttf and NanumGothic SDF.asset for Korean text support
- SongSelectManager: cardFont SerializeField for card title/artist rendering
- SongDetailPanel: difficulty selected color changed from blue to green

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-22 10:42:04 +09:00
parent 58c88dafff
commit 1f1100bbd8
6 changed files with 258163 additions and 1 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ public class SongDetailPanel : MonoBehaviour
[Header("씬 이름")] [Header("씬 이름")]
[SerializeField] private string gameSceneName = "Game"; [SerializeField] private string gameSceneName = "Game";
private static readonly Color SelectedColor = new Color(0.4f, 0.8f, 1f); private static readonly Color SelectedColor = new Color(0.2f, 0.78f, 0.4f);
private static readonly Color DeselectedColor = Color.white; private static readonly Color DeselectedColor = Color.white;
private SongInfo currentSong; private SongInfo currentSong;
+3
View File
@@ -14,6 +14,7 @@ public class SongSelectManager : MonoBehaviour
[SerializeField] private GameObject loadingOverlay; [SerializeField] private GameObject loadingOverlay;
[SerializeField] private GameObject errorOverlay; [SerializeField] private GameObject errorOverlay;
[SerializeField] private TMP_Text errorText; [SerializeField] private TMP_Text errorText;
[SerializeField] private TMP_FontAsset cardFont;
private static readonly Color TabActive = Color.white; private static readonly Color TabActive = Color.white;
private static readonly Color TabInactive = new Color(0.6f, 0.6f, 0.6f); private static readonly Color TabInactive = new Color(0.6f, 0.6f, 0.6f);
@@ -129,6 +130,7 @@ public class SongSelectManager : MonoBehaviour
tr.offsetMin = new Vector2(5f, 0f); tr.offsetMin = new Vector2(5f, 0f);
tr.offsetMax = new Vector2(downloaded ? -18f : -3f, -1f); tr.offsetMax = new Vector2(downloaded ? -18f : -3f, -1f);
var tTmp = titleGO.AddComponent<TextMeshProUGUI>(); var tTmp = titleGO.AddComponent<TextMeshProUGUI>();
if (cardFont != null) tTmp.font = cardFont;
tTmp.text = song.title; tTmp.text = song.title;
tTmp.fontSize = 5f; tTmp.fontSize = 5f;
tTmp.color = Color.white; tTmp.color = Color.white;
@@ -144,6 +146,7 @@ public class SongSelectManager : MonoBehaviour
ar.offsetMin = new Vector2(5f, 1f); ar.offsetMin = new Vector2(5f, 1f);
ar.offsetMax = new Vector2(-3f, 0f); ar.offsetMax = new Vector2(-3f, 0f);
var aTmp = artistGO.AddComponent<TextMeshProUGUI>(); var aTmp = artistGO.AddComponent<TextMeshProUGUI>();
if (cardFont != null) aTmp.font = cardFont;
aTmp.text = song.artist; aTmp.text = song.artist;
aTmp.fontSize = 4f; aTmp.fontSize = 4f;
aTmp.color = new Color(1f, 1f, 1f, 0.6f); aTmp.color = new Color(1f, 1f, 1f, 0.6f);
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f6c6fe0f3c5912a43a8a6707e336d2ea
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: d2abafb75e12afe48bb523e2ac30b43b
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- NanumGothic
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant: