added helpers

This commit is contained in:
MasterGordon 2024-10-18 17:13:36 +02:00
parent 1296848339
commit 87e9238923
2 changed files with 19 additions and 11 deletions

View File

@ -41,6 +41,20 @@ export type LoadedTheme = Record<
size: number;
};
export const even = (...sprites: LazySprite[]): WeightedLazySprites[] => {
return sprites.map((sprite) => ({ weight: 0.5, sprite }));
};
export const mainWithSpecials = (
...sprites: LazySprite[]
): WeightedLazySprites[] => {
const [main, ...specials] = sprites;
return [
{ weight: 1, sprite: main },
...specials.map((sprite) => ({ weight: 0.05, sprite })),
];
};
export const useTheme = (theme: Theme) => {
const [loadedTheme, setLoadedTheme] = useState<LoadedTheme | undefined>(
undefined,

View File

@ -1,17 +1,11 @@
import type { Theme } from "./Theme";
import { even, type Theme } from "./Theme";
export const techiesDireTheme: Theme = {
size: 32,
mine: [
{
weight: 0.5,
sprite: () => import("../assets/themes/techies/dire/mine-1.png"),
},
{
weight: 0.5,
sprite: () => import("../assets/themes/techies/dire/mine-2.png"),
},
],
mine: even(
() => import("../assets/themes/techies/dire/mine-1.png"),
() => import("../assets/themes/techies/dire/mine-2.png"),
),
tile: () => import("../assets/themes/techies/dire/tile-1.png"),
revealed: () => import("../assets/themes/techies/dire/revealed.png"),
flag: () => import("../assets/themes/techies/flag.png"),