Statistic Plugin
The statistic plugin provides tracking for numeric statistics in two flavors: scalar and map.
Scalars are single numeric values, while Maps allows you to track multiple values indexed by a key.
Demo
Statistic Plugin
[scalar] Total of all currencies: 0 [map] Total per currency {}Currency Plugin
Usage
import { StatisticPlugin } from '@123ishatest/ludiek';
const statistic = new StatisticPlugin();
statistic.loadContent([
{ id: '/statistic/total-currency', type: 'scalar' },
{ id: '/statistic/currencies', type: 'map' },
]);
// Increment scalar total currency by 3
statistic.incrementStatistic('/statistic/total-currency', 3);
// Increment map statistic currencies money by 4
statistic.incrementMapStatistic('/statistic/currencies', '/currency/money', 4);
// And read them back
statistic.getStatistic('/statistic/total-currency'); // 3
statistic.getMapStatistic('/statistic/currencies', '/currency/money'); // 4
// Unset map keys return 0
statistic.getMapStatistic('/statistic/currencies', '/currency/gems'); // 0 Connect incrementing statistics to existing events.
currency.onCurrencyGain.subscribe(({ id, amount }) => {
// Track the global total
statistic.incrementStatistic('/statistic/total-currency', amount);
// Track total per currency
statistic.incrementMapStatistic('/statistic/currencies', id, amount);
});