Skip to content

Integrations

Goal

건축을 “단독 기능”이 아니라 성장 루프(재료/퀘스트/세이브)와 연결한다.

Key Idea

  • 레시피 기반 재료 검증/소모로 설치 UX를 일관되게 유지한다.
  • 설치 완료 시 QuestManager에 통지해 퀘스트 진행과 즉시 연결한다.
  • 설치/이동/삭제 시 AutoSaveService.RequestSave()로 진행 보존을 자동화한다.

Snippet A — TryBuild 재료 체크/소모

if (!recipeDB.TryGetRecipe(arcId, out var recipe))
    return Spawn(arc, pos, rot);

if (!debugBuildingMode)
{
    if (!HasMaterials(recipe))
    {
        ToastMessageUI.Instance.Show("재료가 부족합니다.");
        return false;
    }
    Remove(recipe);
}

return Spawn(arc, pos, rot);

Snippet B — Spawn 마무리(퀘스트 + 저장)

QuestManager.I?.NotifyBuildingBuilt(arc.arcId);
AutoSaveService.I?.RequestSave("Build");
return true;