Added the new classes to the build. Also small fixes.

This commit is contained in:
Relintai 2019-10-13 19:39:11 +02:00
parent 21b8d432e0
commit 885504c864
4 changed files with 19 additions and 14 deletions

2
SCsub
View File

@ -20,6 +20,8 @@ module_env.add_source_files(env.modules_sources,"data/item_template_stat_modifie
module_env.add_source_files(env.modules_sources,"data/item_instance.cpp")
module_env.add_source_files(env.modules_sources,"data/item_template.cpp")
module_env.add_source_files(env.modules_sources,"data/spell_cooldown_manipulation_data.cpp")
module_env.add_source_files(env.modules_sources,"data/equipment_data.cpp")
module_env.add_source_files(env.modules_sources,"data/equipment_data_entry.cpp")
module_env.add_source_files(env.modules_sources,"entities/data/entity_data.cpp")
module_env.add_source_files(env.modules_sources,"entities/data/entity_class_data.cpp")

View File

@ -1,32 +1,30 @@
#include "equipment_data.h"
Ref<EquipmentDataEntry> EquipmentDataEntry::get_slot(int index) {
Ref<EquipmentDataEntry> EquipmentData::get_slot(int index) {
ERR_FAIL_INDEX_V(index, ItemEnums::EQUIP_SLOT_EQUIP_SLOT_MAX, Ref<EquipmentDataEntry>());
return _entries[index];
}
void EquipmentDataEntry::set_slot(int index, Ref<EquipmentDataEntry> entry) {
void EquipmentData::set_slot(int index, Ref<EquipmentDataEntry> entry) {
ERR_FAIL_INDEX(index, ItemEnums::EQUIP_SLOT_EQUIP_SLOT_MAX);
_entries[index] = entry;
}
EquipmentDataEntry::EquipmentDataEntry() {
EquipmentData::EquipmentData() {
}
EquipmentDataEntry::~EquipmentDataEntry() {
EquipmentData::~EquipmentData() {
for (int i = 0; i < ItemEnums::EQUIP_SLOT_EQUIP_SLOT_MAX; ++i)
_entries[i].unref();
}
void EquipmentDataEntry::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_slot", "index"), &EquipmentDataEntry::get_slot);
ClassDB::bind_method(D_METHOD("set_slot", "index", "entry"), &EquipmentDataEntry::set_slot);
void EquipmentData::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_slot", "index"), &EquipmentData::get_slot);
ClassDB::bind_method(D_METHOD("set_slot", "index", "entry"), &EquipmentData::set_slot);
ADD_GROUP("Slots", "slot");
for (int i = 0; i < ItemEnums::EQUIP_SLOT_EQUIP_SLOT_MAX; ++i) {
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "slot_" + ItemEnums::get_equip_slot_string(i), PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "sets_entity_data", "gets_entity_data", i);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "slot_" + ItemEnums::get_equip_slot_string(i), PROPERTY_HINT_RESOURCE_TYPE, "EquipmentDataEntry"), "set_slot", "get_slot", i);
}
}

View File

@ -6,15 +6,15 @@
#include "../item_enums.h"
#include "equipment_data_entry.h"
class EquipmentDataEntry : public Resource {
GDCLASS(EquipmentDataEntry, Resource);
class EquipmentData : public Resource {
GDCLASS(EquipmentData, Resource);
public:
Ref<EquipmentDataEntry> get_slot(int index);
void set_slot(int index, Ref<EquipmentDataEntry> entry);
EquipmentDataEntry();
~EquipmentDataEntry();
EquipmentData();
~EquipmentData();
protected:
static void _bind_methods();

View File

@ -10,6 +10,8 @@
#include "data/item_stat_modifier.h"
#include "data/item_template_stat_modifier.h"
#include "data/spell_cooldown_manipulation_data.h"
#include "data/equipment_data.h"
#include "data/equipment_data_entry.h"
#include "entities/data/entity_data.h"
#include "entities/data/entity_class_data.h"
@ -138,6 +140,9 @@ void register_entity_spell_system_types() {
ClassDB::register_class<SpellCooldownManipulationData>();
ClassDB::register_class<TalentRowData>();
ClassDB::register_class<EquipmentData>();
ClassDB::register_class<EquipmentDataEntry>();
ClassDB::register_class<EntitySkill>();
ClassDB::register_class<CharacterSkeletonVisualEntry>();