5180 fichiers 38.5 Mo 0 téléchargements 344 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / inventory / views / bot / InventoryBotImageView.tsx
InventoryBotImageView.tsx 1.1 Ko Télécharger le fichier
import { AvatarScaleType, AvatarSetType, GetAvatarRenderManager } from '@octane/renderer';
import { FC, useEffect, useState } from 'react';

export const InventoryBotImageView: FC<{ figure: string; gender: string; preview?: boolean }> = ({ figure, gender, preview = false }) => {
    const [imageUrl, setImageUrl] = useState<string>(null);

    useEffect(() => {
        let disposed = false;

        const render = () => {
            if (disposed) return;

            const avatar = GetAvatarRenderManager().createAvatarImage(figure, AvatarScaleType.LARGE, gender, {
                resetFigure: render,
                dispose: null,
                disposed: false
            });

            avatar.setDirection(AvatarSetType.FULL, preview ? 4 : 3);
            setImageUrl(avatar.processAsCroppedImageUrl(preview ? AvatarSetType.FULL : AvatarSetType.HEAD, true));
            avatar.dispose();
        };

        render();

        return () => {
            disposed = true;
        };
    }, [figure, gender, preview]);

    return imageUrl ? <img src={imageUrl} alt="" draggable={false} /> : null;
};
15Sujets
1Dépôts
20Membres
3En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser