/* ============================================================ hud.jsx — 全ページ共通「なかま図鑑」ステータスバー なかま X/8 + 各キャラのミニアイコン(解放=カラー / 未解放=?) 依存:mascots.jsx / mascots2.jsx / mascots3.jsx / unlock-utils.js 使い方:各ページの
の代わりに {window.HudBar ? React.createElement(window.HudBar, { tint }) : null} ============================================================ */ const HUD_CHARS = [ { id: "panda", comp: () => window.PixelPanda, scale: 0.16 }, { id: "pico", comp: () => window.Pixel, scale: 0.18 }, { id: "uni", comp: () => window.PixelUni, scale: 0.18 }, { id: "mole", comp: () => window.PixelMole, scale: 0.18 }, { id: "goat", comp: () => window.PixelGoat, scale: 0.17 }, { id: "ume", comp: () => window.PixelUme, scale: 0.18 }, { id: "unchi", comp: () => window.PixelUnchi, scale: 0.18 }, { id: "kuroto", comp: () => window.PixelKuro, scale: 0.17 }, ]; function HudBar({ tint }) { const isUn = (id) => (typeof window.isCharUnlocked === "function" ? window.isCharUnlocked(id) : (id === "panda" || id === "pico")); const unlockedCount = HUD_CHARS.filter((c) => isUn(c.id)).length; return (
なかま {unlockedCount}/{HUD_CHARS.length} {HUD_CHARS.map((c) => { const open = isUn(c.id); const C = c.comp && c.comp(); return ( {open && C ? : ?} ); })}
); } window.HUD_CHARS = HUD_CHARS; window.HudBar = HudBar;