added helpers
This commit is contained in:
parent
1296848339
commit
87e9238923
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue