@@ -375,16 +375,6 @@ export default function Game() {
|
||||
state={state}
|
||||
onUpgrade={() => run(() => engine.upgradeHall())}
|
||||
highlightUpgrade={tutTarget === "hall-upgrade"}
|
||||
onReset={() => {
|
||||
if (
|
||||
window.confirm(
|
||||
"정말 마을을 초기화할까요? 고양이·건물·자원이 모두 사라지고 처음부터 시작합니다.",
|
||||
)
|
||||
) {
|
||||
dispatch(() => engine.reset());
|
||||
setPanel(null);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</SidePanel>
|
||||
)}
|
||||
@@ -538,12 +528,10 @@ function HallPanel({
|
||||
state,
|
||||
onUpgrade,
|
||||
highlightUpgrade,
|
||||
onReset,
|
||||
}: {
|
||||
state: GameState;
|
||||
onUpgrade: () => void;
|
||||
highlightUpgrade?: boolean;
|
||||
onReset: () => void;
|
||||
}) {
|
||||
const next = HALL_LEVELS[state.hall.level + 1];
|
||||
return (
|
||||
@@ -615,15 +603,6 @@ function HallPanel({
|
||||
) : (
|
||||
<p className="text-sm text-[#a3906c]">회관이 최고 레벨입니다.</p>
|
||||
)}
|
||||
|
||||
<div className="border-t border-dashed border-[rgba(126,95,48,.3)] pt-3">
|
||||
<button
|
||||
onClick={onReset}
|
||||
className="w-full rounded-lg border border-[rgba(176,71,42,.4)] bg-[rgba(214,106,74,.08)] py-2 text-xs text-[#b0472a] hover:bg-[rgba(214,106,74,.16)]"
|
||||
>
|
||||
🗑 마을 초기화 (새 게임 시작 — 되돌릴 수 없어요)
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -323,12 +323,6 @@ export const engine = {
|
||||
}
|
||||
},
|
||||
|
||||
/** 마을 완전 초기화 (새 게임 + 튜토리얼부터) */
|
||||
reset() {
|
||||
localStorage.removeItem(SAVE_KEY);
|
||||
state = createInitialState();
|
||||
offlineMinutes = null;
|
||||
},
|
||||
|
||||
tick(dt: number) {
|
||||
if (!state) return;
|
||||
|
||||
새 이슈에서 참조
사용자 차단