d9404a31-1970-4e79-ac9a-f4f9db60350b

This commit is contained in:
2026-06-23 12:47:49 +00:00
parent e193530f24
commit f73b96026c
101 changed files with 12685 additions and 2 deletions
+36
View File
@@ -0,0 +1,36 @@
"use client";
// 回响星核 / Echo Nexus — 主循环 hook
import { useEffect, useRef } from "react";
import { useGameStore } from "@/store/gameStore";
/** 100ms tick:产能 + 自动产晶体 + 自动解码 */
export function useGameLoop() {
const tick = useGameStore((s) => s.tick);
const autoDecodeTick = useGameStore((s) => s.autoDecodeTick);
const init = useGameStore((s) => s.init);
const inited = useRef(false);
useEffect(() => {
if (!inited.current) {
init();
inited.current = true;
}
const id = setInterval(() => {
const now = Date.now();
tick(now);
autoDecodeTick();
}, 250);
return () => clearInterval(id);
}, [tick, autoDecodeTick, init]);
// 页面可见性:切回时补 tick
useEffect(() => {
const onVis = () => {
if (document.visibilityState === "visible") {
tick(Date.now());
}
};
document.addEventListener("visibilitychange", onVis);
return () => document.removeEventListener("visibilitychange", onVis);
}, [tick]);
}