5180 fichiers 38.5 Mo 0 téléchargements 259 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / hooks / hotel-view / useBonusRareInfo.ts
useBonusRareInfo.ts 1.3 Ko Télécharger le fichier
import { BonusRareInfoMessageEvent, GetBonusRareInfoMessageComposer } from '@octane/renderer';
import { useEffect, useState } from 'react';
import { SendMessageComposer } from '../../api';
import { useMessageEvent } from '../events';

export interface BonusRareInfo {
    productType: string;
    productClassId: number;
    totalCoinsForBonus: number;
    coinsStillRequiredToBuy: number;
}

/**
 * BonusRarePromoWidget: the bonus rare of the credits bonus bag (GetBonusRareInfo 957 ->
 * BonusRareInfo 1533). The server also pushes it after a purchase or a wired reward, so the bar
 * follows without asking again.
 */
export const useBonusRareInfo = () => {
    const [info, setInfo] = useState<BonusRareInfo>(null);

    useMessageEvent<BonusRareInfoMessageEvent>(BonusRareInfoMessageEvent, (event) => {
        const parser = event.getParser();

        if (!parser) return;

        setInfo({
            productType: parser.productType ?? '',
            productClassId: parser.productClassId ?? -1,
            totalCoinsForBonus: parser.totalCoinsForBonus ?? 0,
            coinsStillRequiredToBuy: parser.coinsStillRequiredToBuy ?? 0
        });
    });

    useEffect(() => {
        SendMessageComposer(new GetBonusRareInfoMessageComposer());
    }, []);

    return { info };
};
15Sujets
1Dépôts
20Membres
2En 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