entity_spell_system/data/talent.h

42 lines
725 B
C
Raw Normal View History

2019-04-20 14:02:55 +02:00
#ifndef TALENT_H
#define TALENT_H
#include "core/resource.h"
#include "core/ustring.h"
#include "aura.h"
2019-10-06 17:04:28 +02:00
class Spell;
class Talent : public Aura {
GDCLASS(Talent, Aura);
2019-04-20 14:02:55 +02:00
public:
2019-10-06 17:04:28 +02:00
Ref<Talent> get_required_talent() const;
void set_required_talent(const Ref<Talent> rank);
Ref<Spell> get_required_spell() const;
void set_required_spell(const Ref<Spell> spell);
Ref<Spell> get_teaches_spell() const;
void set_teaches_spell(const Ref<Spell> spell);
2019-04-20 14:02:55 +02:00
2019-10-06 17:04:28 +02:00
Ref<Aura> get_apply_aura() const;
void set_apply_aura(Ref<Aura> aura);
2019-04-20 14:02:55 +02:00
Talent();
~Talent();
protected:
static void _bind_methods();
private:
2019-10-06 17:04:28 +02:00
Ref<Talent> _required_talent;
Ref<Spell> _required_spell;
Ref<Spell> _teaches_spell;
2019-04-20 14:02:55 +02:00
Ref<Aura> _aura;
2019-04-20 14:02:55 +02:00
};
#endif