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; 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) => { export const useTheme = (theme: Theme) => {
const [loadedTheme, setLoadedTheme] = useState<LoadedTheme | undefined>( const [loadedTheme, setLoadedTheme] = useState<LoadedTheme | undefined>(
undefined, undefined,

View File

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