@@ -375,16 +375,6 @@ export default function Game() {
|
|||||||
state={state}
|
state={state}
|
||||||
onUpgrade={() => run(() => engine.upgradeHall())}
|
onUpgrade={() => run(() => engine.upgradeHall())}
|
||||||
highlightUpgrade={tutTarget === "hall-upgrade"}
|
highlightUpgrade={tutTarget === "hall-upgrade"}
|
||||||
onReset={() => {
|
|
||||||
if (
|
|
||||||
window.confirm(
|
|
||||||
"정말 마을을 초기화할까요? 고양이·건물·자원이 모두 사라지고 처음부터 시작합니다.",
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
dispatch(() => engine.reset());
|
|
||||||
setPanel(null);
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
/>
|
/>
|
||||||
</SidePanel>
|
</SidePanel>
|
||||||
)}
|
)}
|
||||||
@@ -538,12 +528,10 @@ function HallPanel({
|
|||||||
state,
|
state,
|
||||||
onUpgrade,
|
onUpgrade,
|
||||||
highlightUpgrade,
|
highlightUpgrade,
|
||||||
onReset,
|
|
||||||
}: {
|
}: {
|
||||||
state: GameState;
|
state: GameState;
|
||||||
onUpgrade: () => void;
|
onUpgrade: () => void;
|
||||||
highlightUpgrade?: boolean;
|
highlightUpgrade?: boolean;
|
||||||
onReset: () => void;
|
|
||||||
}) {
|
}) {
|
||||||
const next = HALL_LEVELS[state.hall.level + 1];
|
const next = HALL_LEVELS[state.hall.level + 1];
|
||||||
return (
|
return (
|
||||||
@@ -615,15 +603,6 @@ function HallPanel({
|
|||||||
) : (
|
) : (
|
||||||
<p className="text-sm text-[#a3906c]">회관이 최고 레벨입니다.</p>
|
<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>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -323,12 +323,6 @@ export const engine = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 마을 완전 초기화 (새 게임 + 튜토리얼부터) */
|
|
||||||
reset() {
|
|
||||||
localStorage.removeItem(SAVE_KEY);
|
|
||||||
state = createInitialState();
|
|
||||||
offlineMinutes = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
tick(dt: number) {
|
tick(dt: number) {
|
||||||
if (!state) return;
|
if (!state) return;
|
||||||
|
|||||||
새 이슈에서 참조
사용자 차단