mirror of
https://github.com/trafficlunar/blockmatic.git
synced 2026-06-28 14:44:12 +00:00
feat: use programmer art textures when on versions 1.13 and below
This commit is contained in:
parent
dca9e43e99
commit
0bfe70809d
13 changed files with 97 additions and 53 deletions
|
|
@ -4,26 +4,26 @@ import * as PIXI from "pixi.js";
|
|||
|
||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
||||
|
||||
import { TexturesContext } from "@/context/Textures";
|
||||
import { ToolContext } from "@/context/Tool";
|
||||
|
||||
import _blockData from "@/data/blocks/data.json";
|
||||
import { useTextures } from "@/hooks/useTextures";
|
||||
import { CanvasContext } from "@/context/Canvas";
|
||||
const blockData: BlockData = _blockData;
|
||||
|
||||
function SelectedBlock() {
|
||||
const { missingTexture, textures } = useContext(TexturesContext);
|
||||
const { version } = useContext(CanvasContext);
|
||||
const { selectedBlock } = useContext(ToolContext);
|
||||
|
||||
const textures = useTextures(version);
|
||||
const divRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const [selectedBlockName, setSelectedBlockName] = useState("Stone");
|
||||
const [selectedBlockTexture, setSelectedBlockTexture] = useState<PIXI.Texture>();
|
||||
|
||||
useEffect(() => {
|
||||
const blockInfo = blockData[selectedBlock];
|
||||
setSelectedBlockName(blockInfo.name);
|
||||
setSelectedBlockTexture(textures[`${selectedBlock}.png`] ?? missingTexture);
|
||||
}, [textures, selectedBlock, missingTexture]);
|
||||
}, [textures, selectedBlock]);
|
||||
|
||||
return (
|
||||
<TooltipProvider>
|
||||
|
|
@ -32,7 +32,7 @@ function SelectedBlock() {
|
|||
<div ref={divRef} className="absolute bottom-1 w-8 h-8 outline outline-1 outline-zinc-800 dark:outline-zinc-200">
|
||||
<Stage width={divRef.current?.clientWidth} height={divRef.current?.clientHeight}>
|
||||
<Container>
|
||||
<Sprite texture={selectedBlockTexture} scale={2} />
|
||||
<Sprite texture={textures[selectedBlock]} scale={2} />
|
||||
</Container>
|
||||
</Stage>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue