물품들 상호작용 달기

This commit is contained in:
2026-07-17 12:45:12 +09:00
parent ad6ccadc8e
commit fc06825972
23 changed files with 229 additions and 26 deletions

View File

@@ -11,6 +11,7 @@ public class StoryState
public readonly HashSet<string> CompletedDialogs = new(); // 완료한 DialogGroup 이름
public readonly HashSet<string> ChosenCodes = new(); // 골랐던 선택지 Code
public readonly HashSet<string> TriggeredZones = new(); // 밟았던 이벤트 존(Timeline/Trigger) Id
public readonly HashSet<string> CompletedMissions = new(); // 완료한 미션 Id
public void Clear()
{
@@ -19,6 +20,7 @@ public void Clear()
CompletedDialogs.Clear();
ChosenCodes.Clear();
TriggeredZones.Clear();
CompletedMissions.Clear();
}
// ── JSON 변환 ────────────────────────────────────────────────
@@ -32,6 +34,7 @@ private class JsonData
public List<string> CompletedDialogs = new();
public List<string> ChosenCodes = new();
public List<string> TriggeredZones = new();
public List<string> CompletedMissions = new();
}
public string ToJson()
@@ -45,6 +48,7 @@ public string ToJson()
data.CompletedDialogs.AddRange(CompletedDialogs);
data.ChosenCodes.AddRange(ChosenCodes);
data.TriggeredZones.AddRange(TriggeredZones);
data.CompletedMissions.AddRange(CompletedMissions);
return JsonUtility.ToJson(data, prettyPrint: true);
}
@@ -60,6 +64,7 @@ public static StoryState FromJson(string json)
state.CompletedDialogs.UnionWith(data.CompletedDialogs);
state.ChosenCodes.UnionWith(data.ChosenCodes);
state.TriggeredZones.UnionWith(data.TriggeredZones);
state.CompletedMissions.UnionWith(data.CompletedMissions);
return state;
}
}