pixi-fusion
Version:
This module offers a set of common components needed for playing games.
55 lines (54 loc) • 1.56 kB
JavaScript
import { useLayerContext } from "./useLayerContext";
import { useEffect } from "react";
export const useObject = ({ object, anchor, position, skew, scale, width, angle, alpha, visible = true }) => {
const { addObject, removeObject } = useLayerContext();
useEffect(() => {
if (!object) {
return;
}
addObject(object);
return () => {
removeObject(object);
};
}, [object, addObject, removeObject]);
useEffect(() => {
if (anchor !== undefined && object) {
object.anchor = anchor;
}
}, [anchor, object]);
useEffect(() => {
if (angle !== undefined && object) {
object.angle = angle;
}
}, [angle, object]);
useEffect(() => {
if (object && position !== undefined) {
object.position = position;
}
}, [position, object]);
useEffect(() => {
if (object && skew !== undefined) {
object.skew = skew;
}
}, [skew, object]);
useEffect(() => {
if (object && alpha !== undefined) {
object.alpha = alpha;
}
}, [alpha, object]);
useEffect(() => {
if (object && scale !== undefined) {
object.scale = scale;
}
}, [scale, object]);
useEffect(() => {
if (object) {
object.visible = visible;
}
}, [visible, object]);
useEffect(() => {
if (object && width !== undefined) {
object.width = width;
}
}, [width, object]);
};