fix: reimplement missing texture

This commit is contained in:
trafficlunar 2024-12-29 23:27:16 +00:00
parent f401ef3cfa
commit 258f1d332a
3 changed files with 12 additions and 5 deletions

View file

@ -2,6 +2,7 @@ import { useContext, useState } from "react";
import * as PIXI from "pixi.js";
import { CanvasContext } from "@/context/Canvas";
import { TexturesContext } from "@/context/Textures";
import { Button } from "@/components/ui/button";
import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
@ -11,6 +12,7 @@ import { useTextures } from "@/hooks/useTextures";
function SaveImage({ close }: DialogProps) {
const { blocks, canvasSize, version } = useContext(CanvasContext);
const { missingTexture } = useContext(TexturesContext);
const [fileName, setFileName] = useState("blockmatic");
const textures = useTextures(version);
@ -27,7 +29,7 @@ function SaveImage({ close }: DialogProps) {
const container = new PIXI.Container();
blocks.forEach((block) => {
const sprite = new PIXI.Sprite(textures[block.name]);
const sprite = new PIXI.Sprite(textures[block.name] ?? missingTexture);
sprite.x = block.x * 16;
sprite.y = block.y * 16;
container.addChild(sprite);

View file

@ -3,6 +3,7 @@ import { Container, Graphics, Sprite, Stage } from "@pixi/react";
import { CanvasContext } from "@/context/Canvas";
import { ThemeContext } from "@/context/Theme";
import { TexturesContext } from "@/context/Textures";
import { useBlockData } from "@/hooks/useBlockData";
import { useTextures } from "@/hooks/useTextures";
@ -17,6 +18,7 @@ interface Props {
function BlockSelector({ stageWidth, searchInput, selectedBlocks, setSelectedBlocks, userModifiedBlocks }: Props) {
const { version } = useContext(CanvasContext);
const { missingTexture } = useContext(TexturesContext);
const { isDark } = useContext(ThemeContext);
const blockData = useBlockData(version);
@ -53,7 +55,7 @@ function BlockSelector({ stageWidth, searchInput, selectedBlocks, setSelectedBlo
<>
<Sprite
key={block}
texture={textures[block]}
texture={textures[block] ?? missingTexture}
x={x}
y={y}
scale={2}