entity_spell_system/entities/stats/complex_level_stat_data.h

55 lines
1.1 KiB
C
Raw Normal View History

2019-09-16 03:13:52 +02:00
#ifndef COMPLEX_LEVEL_STAT_DATA_H
2019-09-24 02:04:41 +02:00
#define COMPLEX_LEVEL_STAT_DATA_H
2019-09-16 03:13:52 +02:00
#include "core/resource.h"
#include "../../entity_enums.h"
#include "level_stat_data.h"
class ComplexLevelStatData : public LevelStatData {
GDCLASS(ComplexLevelStatData, LevelStatData);
public:
int get_agility_for_level(int level);
void set_agility_for_level(int level, int value);
int get_strength_for_level(int level);
void set_strength_for_level(int level, int value);
int get_stamina_for_level(int level);
void set_stamina_for_level(int level, int value);
int get_intellect_for_level(int level);
void set_intellect_for_level(int level, int value);
int get_luck_for_level(int level);
void set_luck_for_level(int level, int value);
int _get_stat_diff(int stat, int old_level, int new_level);
public:
struct ComplexLevelStatsEntry {
int agility;
int strength;
int stamina;
int intellect;
int luck;
ComplexLevelStatsEntry() {
agility = 0;
strength = 0;
stamina = 0;
intellect = 0;
luck = 0;
}
};
protected:
static void _bind_methods();
private:
ComplexLevelStatsEntry _entries[EntityEnums::MAX_LEVEL];
};
#endif