diff --git a/Assets/Scripts/Streamingle/StreamingleControl/Background/Editor/NotionBackgroundSync.cs b/Assets/Scripts/Streamingle/StreamingleControl/Background/Editor/NotionBackgroundSync.cs
index 4e708add..18c1da8e 100644
--- a/Assets/Scripts/Streamingle/StreamingleControl/Background/Editor/NotionBackgroundSync.cs
+++ b/Assets/Scripts/Streamingle/StreamingleControl/Background/Editor/NotionBackgroundSync.cs
@@ -157,6 +157,7 @@ namespace Streamingle.Background.Editor
{
// Title 속성은 이미 존재하므로 이름만 확인
["카테고리"] = new JObject { ["select"] = new JObject { ["options"] = new JArray() } },
+ ["태그"] = new JObject { ["multi_select"] = new JObject { ["options"] = new JArray() } },
["씬 경로"] = new JObject { ["rich_text"] = new JObject() },
["폴더 이름"] = new JObject { ["rich_text"] = new JObject() },
["썸네일"] = new JObject { ["url"] = new JObject() },
@@ -428,13 +429,28 @@ namespace Streamingle.Background.Editor
}
};
- // 카테고리 (Select)
+ // 카테고리 (Select) - 첫 번째 태그 사용
string category = ExtractCategory(sceneInfo.categoryName);
properties["카테고리"] = new JObject
{
["select"] = new JObject { ["name"] = category }
};
+ // 태그 (Multi-Select) - 대괄호 안의 모든 태그 추출
+ var tags = ExtractAllTags(sceneInfo.categoryName);
+ if (tags.Count > 0)
+ {
+ var tagArray = new JArray();
+ foreach (var tag in tags)
+ {
+ tagArray.Add(new JObject { ["name"] = tag });
+ }
+ properties["태그"] = new JObject
+ {
+ ["multi_select"] = tagArray
+ };
+ }
+
// 씬 경로 (Rich Text)
properties["씬 경로"] = new JObject
{
@@ -482,7 +498,7 @@ namespace Streamingle.Background.Editor
}
///
- /// 카테고리 이름에서 태그 부분 추출 (예: "[공용]농구장" → "공용")
+ /// 카테고리 이름에서 첫 번째 태그 부분 추출 (예: "[공용]농구장" → "공용")
///
private string ExtractCategory(string folderName)
{
@@ -499,6 +515,35 @@ namespace Streamingle.Background.Editor
return folderName;
}
+ ///
+ /// 카테고리 이름에서 모든 태그 추출 (예: "[공용][야외]농구장" → ["공용", "야외"])
+ ///
+ private List ExtractAllTags(string folderName)
+ {
+ var tags = new List();
+ if (string.IsNullOrEmpty(folderName)) return tags;
+
+ int searchStart = 0;
+ while (searchStart < folderName.Length)
+ {
+ int startBracket = folderName.IndexOf('[', searchStart);
+ if (startBracket < 0) break;
+
+ int endBracket = folderName.IndexOf(']', startBracket);
+ if (endBracket < 0) break;
+
+ string tag = folderName.Substring(startBracket + 1, endBracket - startBracket - 1);
+ if (!string.IsNullOrEmpty(tag) && !tags.Contains(tag))
+ {
+ tags.Add(tag);
+ }
+
+ searchStart = endBracket + 1;
+ }
+
+ return tags;
+ }
+
///
/// 파일이 Git에 커밋되어 있는지 확인
///