5180 fichiers 38.5 Mo 0 téléchargements 458 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / wired / views / triggers / WiredTriggerUserPerformsActionView.tsx
WiredTriggerUserPerformsActionView.tsx 1.4 Ko Télécharger le fichier
import { FC, useEffect, useState } from 'react';
import { readWiredUserAction, WiredFurniType, wiredUserActionExtra, WiredUserActionChoice } from '../../../../api';
import { useWired } from '../../../../hooks';
import { WiredUserActionSection } from '../WiredUserActionSection';
import { WiredTriggerBaseView } from './WiredTriggerBaseView';
import { NativeTextTree } from '../../../../common/native-text/NativeTextTree';

/** Official "user performs action" trigger: int params [action], the sign / dance extra in the string. */
export const WiredTriggerUserPerformsActionView: FC<{}> = () =>
{
    const { trigger = null, setIntParams = null, setStringParam = null } = useWired();
    const [ choice, setChoice ] = useState<WiredUserActionChoice>(() => readWiredUserAction([], ''));

    useEffect(() =>
    {
        setChoice(readWiredUserAction(trigger?.intData ?? [], trigger?.stringData ?? ''));
    }, [ trigger ]);

    const save = () =>
    {
        setIntParams([ choice.action ]);
        setStringParam(wiredUserActionExtra(choice));
    };

    return (
        <NativeTextTree>
            <WiredTriggerBaseView hasSpecialInput={ true } requiresFurni={ WiredFurniType.STUFF_SELECTION_OPTION_NONE } save={ save }>
                <WiredUserActionSection choice={ choice } onChange={ setChoice } />
            </WiredTriggerBaseView>
        </NativeTextTree>
    );
};
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