COOPENOMICS  v1
Кооперативная Экономика
gamification.hpp
См. документацию.
1#pragma once
2
3#include <eosio/eosio.hpp>
4#include <eosio/asset.hpp>
5
6#include "../../entities/global_state.hpp"
7#include "../../entities/segments.hpp"
8
9namespace Capital::Gamification {
10
17 inline uint64_t calculate_level_requirement(uint32_t level, const Capital::config& config);
18
26 inline double calculate_energy_gain(eosio::asset contribution_amount, uint32_t current_level, const Capital::config& config);
27
33 inline void update_energy_with_decay(eosio::name coopname, uint64_t contributor_id);
34
41 inline void add_energy_and_check_levelup(eosio::name coopname, uint64_t contributor_id, double energy_gain);
42
49 inline void update_gamification_from_segment(eosio::name coopname, uint64_t contributor_id, const Capital::Segments::segment& segment);
50
51} // namespace Capital::Gamification
Definition: gamification.cpp:4
void add_energy_and_check_levelup(eosio::name coopname, uint64_t contributor_id, double energy_gain)
Добавляет энергию участнику и проверяет переход на новый уровень
Definition: gamification.cpp:55
double calculate_energy_gain(eosio::asset contribution_amount, uint32_t current_level, const Capital::config &config)
Рассчитывает прирост энергии от вклада
Definition: gamification.cpp:20
void update_energy_with_decay(eosio::name coopname, uint64_t contributor_id)
Обновляет энергию участника с учетом естественного снижения (decay)
Definition: gamification.cpp:32
void update_gamification_from_segment(eosio::name coopname, uint64_t contributor_id, const Capital::Segments::segment &segment)
Обновляет геймификацию (уровень и энергию) на основе вкладов из сегмента
Definition: gamification.cpp:95
uint64_t calculate_level_requirement(uint32_t level, const Capital::config &config)
Рассчитывает требуемую сумму вкладов для достижения указанного уровня
Definition: gamification.cpp:6
Таблица сегментов хранит данные о вкладах участника в проект.
Definition: segments.hpp:34
Конфигурация контракта, управляемая пользователем.
Definition: global_state.hpp:11