mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-22 17:18:12 +01:00
Renamed CharacterClass to EntityData. Also moved it around, with a few related classes.
This commit is contained in:
parent
2b45d35cf7
commit
ca2fe9a6c4
33
SCsub
33
SCsub
@ -12,11 +12,8 @@ module_env.add_source_files(env.modules_sources,"spell_enums.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"item_enums.cpp")
|
||||
|
||||
module_env.add_source_files(env.modules_sources,"data/aura.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/character_class.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/talent.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/talent_rank_data.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/talent_row_data.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/character_spec.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/data_manager.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/xp_data.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/item_stat_modifier.cpp")
|
||||
@ -25,6 +22,13 @@ 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,"entities/data/entity_data.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"entities/data/mob_data.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"entities/data/player_character_data.cpp")
|
||||
|
||||
module_env.add_source_files(env.modules_sources,"entities/data/character_spec.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"entities/data/talent_row_data.cpp")
|
||||
|
||||
module_env.add_source_files(env.modules_sources,"data/item_visual.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"data/item_visual_entry.cpp")
|
||||
|
||||
@ -80,20 +84,17 @@ module_env.add_source_files(env.modules_sources,"utility/entity_create_info.cpp"
|
||||
module_env.add_source_files(env.modules_sources,"utility/cooldown.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"utility/category_cooldown.cpp")
|
||||
|
||||
env.add_source_files(env.modules_sources,"meshes/mesh_data_resource.cpp")
|
||||
env.add_source_files(env.modules_sources,"meshes/editor_import_collada_mdr.cpp")
|
||||
env.add_source_files(env.modules_sources,"meshes/editor_plugin_collada_mdr.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"meshes/mesh_data_resource.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"meshes/editor_import_collada_mdr.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"meshes/editor_plugin_collada_mdr.cpp")
|
||||
|
||||
env.add_source_files(env.modules_sources,"skeleton/entity_equipset.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"skeleton/entity_equipset.cpp")
|
||||
|
||||
env.add_source_files(env.modules_sources,"loot/loot_data_base.cpp")
|
||||
env.add_source_files(env.modules_sources,"loot/loot_data_container.cpp")
|
||||
env.add_source_files(env.modules_sources,"loot/loot_data_item.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"loot/loot_data_base.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"loot/loot_data_container.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"loot/loot_data_item.cpp")
|
||||
|
||||
env.add_source_files(env.modules_sources,"data/mob_data.cpp")
|
||||
env.add_source_files(env.modules_sources,"data/player_character_data.cpp")
|
||||
|
||||
env.add_source_files(env.modules_sources,"ai/ai_action.cpp")
|
||||
env.add_source_files(env.modules_sources,"ai/ai_spell_action.cpp")
|
||||
env.add_source_files(env.modules_sources,"ai/ai_action_container.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"ai/ai_action.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"ai/ai_spell_action.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"ai/ai_action_container.cpp")
|
||||
|
||||
|
@ -1,52 +0,0 @@
|
||||
#include "MobSpellData.h"
|
||||
|
||||
bool MobSpellData::getRanged() {
|
||||
return this->ranged;
|
||||
}
|
||||
|
||||
void MobSpellData::setRanged(bool value) {
|
||||
this->ranged = value;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getAttackSpells() {
|
||||
return this->attackSpells;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getChargeSpells() {
|
||||
return this->chargeSpells;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getCcSpells() {
|
||||
return this->ccSpells;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getDpsSpells() {
|
||||
return this->dpsSpells;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getRegenerationSpells() {
|
||||
return this->regenerationSpells;
|
||||
}
|
||||
|
||||
List<MobSpellDataEntry> *MobSpellData::getStunBreakSpells() {
|
||||
return this->stunBreakSpells;
|
||||
}
|
||||
|
||||
void MobSpellData::Sort() {
|
||||
/*
|
||||
this->attackSpells->Sort();
|
||||
this->chargeSpells->Sort();
|
||||
this->ccSpells->Sort();
|
||||
this->dpsSpells->Sort();
|
||||
this->regenerationSpells->Sort();
|
||||
this->stunBreakSpells->Sort();*/
|
||||
}
|
||||
|
||||
MobSpellData::MobSpellData() {
|
||||
attackSpells = new List<MobSpellDataEntry>();
|
||||
chargeSpells = new List<MobSpellDataEntry>();
|
||||
ccSpells = new List<MobSpellDataEntry>();
|
||||
dpsSpells = new List<MobSpellDataEntry>();
|
||||
regenerationSpells = new List<MobSpellDataEntry>();
|
||||
stunBreakSpells = new List<MobSpellDataEntry>();
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
#ifndef MOB_SPELL_DATA_H
|
||||
#define MOB_SPELL_DATA_H
|
||||
|
||||
#include "MobSpellDataEntry.h"
|
||||
|
||||
class MobSpellData : public Object {
|
||||
public:
|
||||
bool ranged;
|
||||
List<MobSpellDataEntry>* attackSpells;
|
||||
List<MobSpellDataEntry>* chargeSpells;
|
||||
List<MobSpellDataEntry>* ccSpells;
|
||||
List<MobSpellDataEntry>* dpsSpells;
|
||||
List<MobSpellDataEntry>* regenerationSpells;
|
||||
List<MobSpellDataEntry>* stunBreakSpells;
|
||||
|
||||
public:
|
||||
bool getRanged();
|
||||
void setRanged(bool value);
|
||||
List<MobSpellDataEntry>* getAttackSpells();
|
||||
List<MobSpellDataEntry>* getChargeSpells();
|
||||
List<MobSpellDataEntry>* getCcSpells();
|
||||
List<MobSpellDataEntry>* getDpsSpells();
|
||||
List<MobSpellDataEntry>* getRegenerationSpells();
|
||||
List<MobSpellDataEntry>* getStunBreakSpells();
|
||||
void Sort();
|
||||
|
||||
MobSpellData();
|
||||
};
|
||||
|
||||
#endif
|
@ -1,34 +0,0 @@
|
||||
#include "MobSpellDataEntry.h"
|
||||
|
||||
MobSpellDataType MobSpellDataEntry::getType(){
|
||||
return this->type;
|
||||
}
|
||||
|
||||
int MobSpellDataEntry::getSpellId()
|
||||
{
|
||||
return this->spellId;
|
||||
}
|
||||
|
||||
int MobSpellDataEntry::getPriority()
|
||||
{
|
||||
return this->priority;
|
||||
}
|
||||
|
||||
bool MobSpellDataEntry::getMoveWhileCasting()
|
||||
{
|
||||
return this->moveWhileCasting;
|
||||
}
|
||||
|
||||
MobSpellDataEntry::MobSpellDataEntry()
|
||||
{
|
||||
}
|
||||
|
||||
MobSpellDataEntry::MobSpellDataEntry(MobSpellDataType type, int spellId, int priority, bool moveWhileCasting)
|
||||
{
|
||||
this->type = type;
|
||||
this->spellId = spellId;
|
||||
this->priority = priority;
|
||||
this->moveWhileCasting = moveWhileCasting;
|
||||
}
|
||||
|
||||
|
@ -1,48 +0,0 @@
|
||||
#ifndef MOB_SPELL_DATA_ENTRY_H
|
||||
#define MOB_SPELL_DATA_ENTRY_H
|
||||
|
||||
#include "core/object.h"
|
||||
|
||||
//bind, att to charclass, add virtual _should use, add should_use
|
||||
//keep type, and prio
|
||||
//foeach all keep all, should use, use highest prio
|
||||
//use one per frame
|
||||
//basic setup script all types into a class, then have the ability to customize
|
||||
//can have other classes too, this could work like util ai
|
||||
|
||||
//AIAction is a resource
|
||||
//AIAction base have the virtuals, and c++ stuff to call them
|
||||
//this inheroths ai action
|
||||
|
||||
//AIMoveAction -> kiter classes have higher prio
|
||||
|
||||
//this is attach only (for now)
|
||||
|
||||
|
||||
enum class MobSpellDataType{
|
||||
ATTACK,
|
||||
CHARGE,
|
||||
CC,
|
||||
DPS,
|
||||
REGENERATION,
|
||||
STUNBREAK
|
||||
};
|
||||
|
||||
class MobSpellDataEntry : public Object {
|
||||
private:
|
||||
MobSpellDataType type;
|
||||
int spellId;
|
||||
int priority;
|
||||
|
||||
public:
|
||||
bool moveWhileCasting;
|
||||
MobSpellDataType getType();
|
||||
int getSpellId();
|
||||
int getPriority();
|
||||
bool getMoveWhileCasting();
|
||||
MobSpellDataEntry();
|
||||
MobSpellDataEntry(MobSpellDataType type, int spellId, int priority, bool moveWhileCasting);
|
||||
int CompareTo(Object* other);
|
||||
};
|
||||
|
||||
#endif
|
@ -1,12 +1,12 @@
|
||||
#include "data_manager.h"
|
||||
|
||||
#include "aura.h"
|
||||
#include "character_class.h"
|
||||
#include "../entities/data/entity_data.h"
|
||||
#include "craft_data_attribute.h"
|
||||
#include "spell.h"
|
||||
#include "talent.h"
|
||||
#include "mob_data.h"
|
||||
#include "player_character_data.h"
|
||||
#include "../entities/data/mob_data.h"
|
||||
#include "../entities/data/player_character_data.h"
|
||||
|
||||
DataManager *DataManager::instance;
|
||||
|
||||
@ -29,39 +29,39 @@ void DataManager::_notification(int p_what) {
|
||||
}
|
||||
}
|
||||
|
||||
String DataManager::get_character_classes_folder() {
|
||||
return _character_classes_folder;
|
||||
String DataManager::get_entity_dataes_folder() {
|
||||
return _entity_dataes_folder;
|
||||
}
|
||||
|
||||
void DataManager::set_character_classes_folder(String folder) {
|
||||
_character_classes_folder = folder;
|
||||
void DataManager::set_entity_dataes_folder(String folder) {
|
||||
_entity_dataes_folder = folder;
|
||||
}
|
||||
|
||||
Vector<Ref<CharacterClass> > *DataManager::get_character_classes() {
|
||||
return &_character_classes;
|
||||
Vector<Ref<EntityData> > *DataManager::get_entity_dataes() {
|
||||
return &_entity_dataes;
|
||||
}
|
||||
|
||||
Ref<CharacterClass> DataManager::get_character_class(int class_id) {
|
||||
ERR_FAIL_COND_V(!_character_class_map.has(class_id), Ref<CharacterClass>(NULL));
|
||||
Ref<EntityData> DataManager::get_entity_data(int class_id) {
|
||||
ERR_FAIL_COND_V(!_entity_data_map.has(class_id), Ref<EntityData>(NULL));
|
||||
|
||||
return _character_class_map.get(class_id);
|
||||
return _entity_data_map.get(class_id);
|
||||
}
|
||||
|
||||
Ref<CharacterClass> DataManager::get_character_class_index(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _character_classes.size(), Ref<CharacterClass>(NULL));
|
||||
Ref<EntityData> DataManager::get_entity_data_index(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _entity_dataes.size(), Ref<EntityData>(NULL));
|
||||
|
||||
return _character_classes.get(index);
|
||||
return _entity_dataes.get(index);
|
||||
}
|
||||
|
||||
int DataManager::get_character_class_count() {
|
||||
return _character_classes.size();
|
||||
int DataManager::get_entity_data_count() {
|
||||
return _entity_dataes.size();
|
||||
}
|
||||
|
||||
void DataManager::add_character_class(Ref<CharacterClass> cls) {
|
||||
void DataManager::add_entity_data(Ref<EntityData> cls) {
|
||||
ERR_FAIL_COND(!cls.is_valid());
|
||||
|
||||
_character_classes.push_back(cls);
|
||||
_character_class_map.set(cls->get_id(), cls);
|
||||
_entity_dataes.push_back(cls);
|
||||
_entity_data_map.set(cls->get_id(), cls);
|
||||
}
|
||||
|
||||
String DataManager::get_spells_folder() {
|
||||
@ -431,9 +431,9 @@ void DataManager::load_talents() {
|
||||
void DataManager::load_characters() {
|
||||
_Directory dir;
|
||||
|
||||
ERR_FAIL_COND(_character_classes_folder.ends_with("/"));
|
||||
ERR_FAIL_COND(_entity_dataes_folder.ends_with("/"));
|
||||
|
||||
if (dir.open(_character_classes_folder) == OK) {
|
||||
if (dir.open(_entity_dataes_folder) == OK) {
|
||||
|
||||
dir.list_dir_begin();
|
||||
|
||||
@ -441,11 +441,11 @@ void DataManager::load_characters() {
|
||||
|
||||
while (filename != "") {
|
||||
if (!dir.current_is_dir()) {
|
||||
String path = _character_classes_folder + "/" + filename;
|
||||
String path = _entity_dataes_folder + "/" + filename;
|
||||
|
||||
_ResourceLoader *rl = _ResourceLoader::get_singleton();
|
||||
|
||||
Ref<ResourceInteractiveLoader> resl = rl->load_interactive(path, "CharacterClass");
|
||||
Ref<ResourceInteractiveLoader> resl = rl->load_interactive(path, "EntityData");
|
||||
|
||||
resl->wait();
|
||||
|
||||
@ -453,11 +453,11 @@ void DataManager::load_characters() {
|
||||
|
||||
ERR_CONTINUE(!s.is_valid());
|
||||
|
||||
Ref<CharacterClass> cls = s;
|
||||
Ref<EntityData> cls = s;
|
||||
|
||||
ERR_CONTINUE(!cls.is_valid());
|
||||
|
||||
add_character_class(cls);
|
||||
add_entity_data(cls);
|
||||
}
|
||||
|
||||
filename = dir.get_next();
|
||||
@ -624,8 +624,8 @@ void DataManager::load_player_character_datas() {
|
||||
}
|
||||
|
||||
void DataManager::list_characters() {
|
||||
for (int i = 0; i < _character_classes.size(); ++i) {
|
||||
print_error(itos(i) + ": " + _character_classes.get(i)->get_character_class_name());
|
||||
for (int i = 0; i < _entity_dataes.size(); ++i) {
|
||||
print_error(itos(i) + ": " + _entity_dataes.get(i)->get_entity_data_name());
|
||||
}
|
||||
}
|
||||
|
||||
@ -676,15 +676,15 @@ void DataManager::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_automatic_load", "load"), &DataManager::set_automatic_load);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "automatic_load"), "set_automatic_load", "get_automatic_load");
|
||||
|
||||
//CharacterClass
|
||||
ClassDB::bind_method(D_METHOD("get_character_classes_folder"), &DataManager::get_character_classes_folder);
|
||||
ClassDB::bind_method(D_METHOD("set_character_classes_folder", "folder"), &DataManager::set_character_classes_folder);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "character_classes_folder"), "set_character_classes_folder", "get_character_classes_folder");
|
||||
//EntityData
|
||||
ClassDB::bind_method(D_METHOD("get_entity_dataes_folder"), &DataManager::get_entity_dataes_folder);
|
||||
ClassDB::bind_method(D_METHOD("set_entity_dataes_folder", "folder"), &DataManager::set_entity_dataes_folder);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "entity_dataes_folder"), "set_entity_dataes_folder", "get_entity_dataes_folder");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("add_character_class", "cls"), &DataManager::add_character_class);
|
||||
ClassDB::bind_method(D_METHOD("get_character_class", "class_id"), &DataManager::get_character_class);
|
||||
ClassDB::bind_method(D_METHOD("get_character_class_index", "index"), &DataManager::get_character_class_index);
|
||||
ClassDB::bind_method(D_METHOD("get_character_class_count"), &DataManager::get_character_class_count);
|
||||
ClassDB::bind_method(D_METHOD("add_entity_data", "cls"), &DataManager::add_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data", "class_id"), &DataManager::get_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data_index", "index"), &DataManager::get_entity_data_index);
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data_count"), &DataManager::get_entity_data_count);
|
||||
|
||||
//Spell
|
||||
ClassDB::bind_method(D_METHOD("get_spells_folder"), &DataManager::get_spells_folder);
|
||||
@ -787,8 +787,8 @@ DataManager::DataManager() {
|
||||
DataManager::~DataManager() {
|
||||
instance = NULL;
|
||||
|
||||
_character_classes.clear();
|
||||
_character_class_map.clear();
|
||||
_entity_dataes.clear();
|
||||
_entity_data_map.clear();
|
||||
|
||||
_spells.clear();
|
||||
_spell_map.clear();
|
||||
|
@ -16,7 +16,7 @@
|
||||
class Aura;
|
||||
class Spell;
|
||||
class Talent;
|
||||
class CharacterClass;
|
||||
class EntityData;
|
||||
class CraftDataAttribute;
|
||||
class ItemTemplate;
|
||||
class MobData;
|
||||
@ -28,13 +28,13 @@ class DataManager : public Node {
|
||||
public:
|
||||
static DataManager *get_instance();
|
||||
|
||||
String get_character_classes_folder();
|
||||
void set_character_classes_folder(String folder);
|
||||
Vector<Ref<CharacterClass> > *get_character_classes();
|
||||
Ref<CharacterClass> get_character_class(int class_id);
|
||||
Ref<CharacterClass> get_character_class_index(int index);
|
||||
int get_character_class_count();
|
||||
void add_character_class(Ref<CharacterClass> cls);
|
||||
String get_entity_dataes_folder();
|
||||
void set_entity_dataes_folder(String folder);
|
||||
Vector<Ref<EntityData> > *get_entity_dataes();
|
||||
Ref<EntityData> get_entity_data(int class_id);
|
||||
Ref<EntityData> get_entity_data_index(int index);
|
||||
int get_entity_data_count();
|
||||
void add_entity_data(Ref<EntityData> cls);
|
||||
|
||||
String get_spells_folder();
|
||||
void set_spells_folder(String folder);
|
||||
@ -122,9 +122,9 @@ protected:
|
||||
void _notification(int p_what);
|
||||
|
||||
private:
|
||||
String _character_classes_folder;
|
||||
Vector<Ref<CharacterClass> > _character_classes;
|
||||
HashMap<int, Ref<CharacterClass> > _character_class_map;
|
||||
String _entity_dataes_folder;
|
||||
Vector<Ref<EntityData> > _entity_dataes;
|
||||
HashMap<int, Ref<EntityData> > _entity_data_map;
|
||||
|
||||
String _spells_folder;
|
||||
Vector<Ref<Spell> > _spells;
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "character_spec.h"
|
||||
|
||||
#include "talent.h"
|
||||
#include "../../data/talent.h"
|
||||
|
||||
int CharacterSpec::get_spec_id() {
|
||||
return _spec_id;
|
@ -1,80 +1,80 @@
|
||||
#include "character_class.h"
|
||||
#include "entity_data.h"
|
||||
|
||||
#include "../data/spell.h"
|
||||
#include "../data/aura.h"
|
||||
#include "../entities/entity.h"
|
||||
#include "../../data/spell.h"
|
||||
#include "../../data/aura.h"
|
||||
#include "../entity.h"
|
||||
#include "character_spec.h"
|
||||
#include "../infos/spell_cast_info.h"
|
||||
#include "../ai/ai_action.h"
|
||||
#include "../../infos/spell_cast_info.h"
|
||||
#include "../../ai/ai_action.h"
|
||||
|
||||
int CharacterClass::get_id() {
|
||||
int EntityData::get_id() {
|
||||
return _id;
|
||||
}
|
||||
|
||||
void CharacterClass::set_id(int value) {
|
||||
void EntityData::set_id(int value) {
|
||||
_id = value;
|
||||
}
|
||||
|
||||
String CharacterClass::get_character_class_name() {
|
||||
return _character_class_name;
|
||||
String EntityData::get_entity_data_name() {
|
||||
return _entity_data_name;
|
||||
}
|
||||
|
||||
void CharacterClass::set_character_class_name(String value) {
|
||||
_character_class_name = value;
|
||||
void EntityData::set_entity_data_name(String value) {
|
||||
_entity_data_name = value;
|
||||
}
|
||||
|
||||
Ref<Texture> CharacterClass::get_icon() {
|
||||
Ref<Texture> EntityData::get_icon() {
|
||||
return _icon;
|
||||
}
|
||||
|
||||
void CharacterClass::set_icon(Ref<Texture> value) {
|
||||
void EntityData::set_icon(Ref<Texture> value) {
|
||||
_icon = Ref<Texture>(value);
|
||||
}
|
||||
|
||||
int CharacterClass::get_player_resource_type() {
|
||||
int EntityData::get_player_resource_type() {
|
||||
return _player_resource_type;
|
||||
}
|
||||
|
||||
void CharacterClass::set_player_resource_type(int value) {
|
||||
void EntityData::set_player_resource_type(int value) {
|
||||
_player_resource_type = value;
|
||||
}
|
||||
|
||||
Ref<StatData> CharacterClass::get_stat_data() {
|
||||
Ref<StatData> EntityData::get_stat_data() {
|
||||
return _stat_data;
|
||||
}
|
||||
|
||||
void CharacterClass::set_stat_data(Ref<StatData> value) {
|
||||
void EntityData::set_stat_data(Ref<StatData> value) {
|
||||
_stat_data = value;
|
||||
}
|
||||
|
||||
//// SPECS ////
|
||||
|
||||
int CharacterClass::get_num_specs() {
|
||||
int EntityData::get_num_specs() {
|
||||
return _specs.size();
|
||||
}
|
||||
void CharacterClass::set_num_specs(int value) {
|
||||
void EntityData::set_num_specs(int value) {
|
||||
_specs.resize(value);
|
||||
}
|
||||
|
||||
Ref<CharacterSpec> CharacterClass::get_spec(int index) const {
|
||||
Ref<CharacterSpec> EntityData::get_spec(int index) const {
|
||||
ERR_FAIL_INDEX_V(index, _specs.size(), Ref<CharacterSpec>());
|
||||
|
||||
return _specs[index];
|
||||
}
|
||||
void CharacterClass::set_spec(int index, Ref<CharacterSpec> spec) {
|
||||
void EntityData::set_spec(int index, Ref<CharacterSpec> spec) {
|
||||
ERR_FAIL_INDEX(index, _specs.size());
|
||||
|
||||
_specs.set(index, Ref<CharacterSpec>(spec));
|
||||
}
|
||||
|
||||
Vector<Variant> CharacterClass::get_specs() {
|
||||
Vector<Variant> EntityData::get_specs() {
|
||||
Vector<Variant> r;
|
||||
for (int i = 0; i < _specs.size(); i++) {
|
||||
r.push_back(_specs[i].get_ref_ptr());
|
||||
}
|
||||
return r;
|
||||
}
|
||||
void CharacterClass::set_specs(const Vector<Variant> &specs) {
|
||||
void EntityData::set_specs(const Vector<Variant> &specs) {
|
||||
_specs.clear();
|
||||
for (int i = 0; i < specs.size(); i++) {
|
||||
Ref<CharacterSpec> spec = Ref<CharacterSpec>(specs[i]);
|
||||
@ -85,32 +85,32 @@ void CharacterClass::set_specs(const Vector<Variant> &specs) {
|
||||
|
||||
//// SPELLS ////
|
||||
|
||||
int CharacterClass::get_num_spells() {
|
||||
int EntityData::get_num_spells() {
|
||||
return _spells.size();
|
||||
}
|
||||
void CharacterClass::set_num_spells(int value) {
|
||||
void EntityData::set_num_spells(int value) {
|
||||
_spells.resize(value);
|
||||
}
|
||||
|
||||
Ref<Spell> CharacterClass::get_spell(int index) {
|
||||
Ref<Spell> EntityData::get_spell(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _spells.size(), Ref<Spell>());
|
||||
|
||||
return _spells[index];
|
||||
}
|
||||
void CharacterClass::set_spell(int index, Ref<Spell> spell) {
|
||||
void EntityData::set_spell(int index, Ref<Spell> spell) {
|
||||
ERR_FAIL_INDEX(index, _spells.size());
|
||||
|
||||
_spells.set(index, Ref<Spell>(spell));
|
||||
}
|
||||
|
||||
Vector<Variant> CharacterClass::get_spells() {
|
||||
Vector<Variant> EntityData::get_spells() {
|
||||
Vector<Variant> r;
|
||||
for (int i = 0; i < _spells.size(); i++) {
|
||||
r.push_back(_spells[i].get_ref_ptr());
|
||||
}
|
||||
return r;
|
||||
}
|
||||
void CharacterClass::set_spells(const Vector<Variant> &spells) {
|
||||
void EntityData::set_spells(const Vector<Variant> &spells) {
|
||||
_spells.clear();
|
||||
for (int i = 0; i < spells.size(); i++) {
|
||||
Ref<Spell> spell = Ref<Spell>(spells[i]);
|
||||
@ -121,32 +121,32 @@ void CharacterClass::set_spells(const Vector<Variant> &spells) {
|
||||
|
||||
//// AURAS ////
|
||||
|
||||
int CharacterClass::get_num_auras() {
|
||||
int EntityData::get_num_auras() {
|
||||
return _auras.size();
|
||||
}
|
||||
void CharacterClass::set_num_auras(int value) {
|
||||
void EntityData::set_num_auras(int value) {
|
||||
_auras.resize(value);
|
||||
}
|
||||
|
||||
Ref<Aura> CharacterClass::get_aura(int index) {
|
||||
Ref<Aura> EntityData::get_aura(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _auras.size(), Ref<Aura>());
|
||||
|
||||
return _auras[index];
|
||||
}
|
||||
void CharacterClass::set_aura(int index, Ref<Aura> aura) {
|
||||
void EntityData::set_aura(int index, Ref<Aura> aura) {
|
||||
ERR_FAIL_INDEX(index, _auras.size());
|
||||
|
||||
_auras.set(index, aura);
|
||||
}
|
||||
|
||||
Vector<Variant> CharacterClass::get_auras() {
|
||||
Vector<Variant> EntityData::get_auras() {
|
||||
Vector<Variant> r;
|
||||
for (int i = 0; i < _auras.size(); i++) {
|
||||
r.push_back(_auras[i].get_ref_ptr());
|
||||
}
|
||||
return r;
|
||||
}
|
||||
void CharacterClass::set_auras(const Vector<Variant> &auras) {
|
||||
void EntityData::set_auras(const Vector<Variant> &auras) {
|
||||
_auras.clear();
|
||||
for (int i = 0; i < auras.size(); i++) {
|
||||
Ref<Aura> aura = Ref<Aura>(auras[i]);
|
||||
@ -157,32 +157,32 @@ void CharacterClass::set_auras(const Vector<Variant> &auras) {
|
||||
|
||||
//// AI ACTIONS ////
|
||||
|
||||
int CharacterClass::get_num_ai_actions() {
|
||||
int EntityData::get_num_ai_actions() {
|
||||
return _ai_actions.size();
|
||||
}
|
||||
void CharacterClass::set_num_ai_actions(int value) {
|
||||
void EntityData::set_num_ai_actions(int value) {
|
||||
_ai_actions.resize(value);
|
||||
}
|
||||
|
||||
Ref<AIAction> CharacterClass::get_ai_action(int index) {
|
||||
Ref<AIAction> EntityData::get_ai_action(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _ai_actions.size(), Ref<AIAction>());
|
||||
|
||||
return _ai_actions[index];
|
||||
}
|
||||
void CharacterClass::set_ai_action(int index, Ref<AIAction> ai_action) {
|
||||
void EntityData::set_ai_action(int index, Ref<AIAction> ai_action) {
|
||||
ERR_FAIL_INDEX(index, _ai_actions.size());
|
||||
|
||||
_ai_actions.set(index, ai_action);
|
||||
}
|
||||
|
||||
Vector<Variant> CharacterClass::get_ai_actions() {
|
||||
Vector<Variant> EntityData::get_ai_actions() {
|
||||
Vector<Variant> r;
|
||||
for (int i = 0; i < _ai_actions.size(); i++) {
|
||||
r.push_back(_ai_actions[i].get_ref_ptr());
|
||||
}
|
||||
return r;
|
||||
}
|
||||
void CharacterClass::set_ai_actions(const Vector<Variant> &ai_actions) {
|
||||
void EntityData::set_ai_actions(const Vector<Variant> &ai_actions) {
|
||||
_ai_actions.clear();
|
||||
for (int i = 0; i < ai_actions.size(); i++) {
|
||||
Ref<AIAction> ai_action = Ref<AIAction>(ai_actions[i]);
|
||||
@ -193,40 +193,40 @@ void CharacterClass::set_ai_actions(const Vector<Variant> &ai_actions) {
|
||||
|
||||
//// SETUP ////
|
||||
|
||||
void CharacterClass::setup_resources(Entity *entity) {
|
||||
void EntityData::setup_resources(Entity *entity) {
|
||||
if (has_method("_setup_resources"))
|
||||
call("_setup_resources", entity);
|
||||
}
|
||||
//void CharacterClass::_setup_resources(Entity *entity) {
|
||||
//void EntityData::_setup_resources(Entity *entity) {
|
||||
//}
|
||||
|
||||
/*
|
||||
Vector<int> CharacterClass::get_mob_party_ids() {
|
||||
Vector<int> EntityData::get_mob_party_ids() {
|
||||
return _mob_party_ids;
|
||||
}
|
||||
|
||||
void CharacterClass::set_mob_party_ids(Vector<int> ids) {
|
||||
void EntityData::set_mob_party_ids(Vector<int> ids) {
|
||||
//specs;
|
||||
}
|
||||
|
||||
Vector<int> CharacterClass::get_mob_dislike_ids() {
|
||||
Vector<int> EntityData::get_mob_dislike_ids() {
|
||||
return _mob_dislike_ids;
|
||||
}
|
||||
|
||||
void CharacterClass::set_mob_dislike_ids(Vector<int> ids) {
|
||||
void EntityData::set_mob_dislike_ids(Vector<int> ids) {
|
||||
//specs;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
int CharacterClass::get_inspector_max_spells() {
|
||||
int EntityData::get_inspector_max_spells() {
|
||||
return _inspector_max_spells;
|
||||
}
|
||||
|
||||
void CharacterClass::set_inspector_max_spells(int value) {
|
||||
void EntityData::set_inspector_max_spells(int value) {
|
||||
_inspector_max_spells = value;
|
||||
}*/
|
||||
|
||||
void CharacterClass::start_casting(int spell_id, Entity *caster, float spellScale) {
|
||||
void EntityData::start_casting(int spell_id, Entity *caster, float spellScale) {
|
||||
for (int i = 0; i < _spells.size(); i++) {
|
||||
Ref<Spell> s = _spells[i];
|
||||
|
||||
@ -243,131 +243,131 @@ void CharacterClass::start_casting(int spell_id, Entity *caster, float spellScal
|
||||
}
|
||||
|
||||
|
||||
void CharacterClass::son_before_cast(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_before_cast(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_before_cast"))
|
||||
call("_son_before_cast", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_before_cast_target(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_before_cast_target(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_before_cast_target"))
|
||||
call("_son_before_cast_target", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_cast_finished(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_cast_finished(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_cast_finished"))
|
||||
call("_son_cast_finished", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_cast_started(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_cast_started(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_cast_started"))
|
||||
call("_son_cast_started", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_cast_failed(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_cast_failed(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_cast_failed"))
|
||||
call("_son_cast_failed", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_cast_finished_target(Ref<SpellCastInfo> info) {
|
||||
void EntityData::son_cast_finished_target(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_son_cast_finished_target"))
|
||||
call("_son_cast_finished_target", info);
|
||||
}
|
||||
|
||||
void CharacterClass::son_hit(Ref<SpellDamageInfo> data) {
|
||||
void EntityData::son_hit(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_hit"))
|
||||
call("_son_hit", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_before_damage(Ref<SpellDamageInfo> data) {
|
||||
void EntityData::son_before_damage(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_damage"))
|
||||
call("_son_before_damage", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_damage_receive(Ref<SpellDamageInfo> data) {
|
||||
void EntityData::son_damage_receive(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_damage_receive"))
|
||||
call("_son_damage_receive", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_dealt_damage(Ref<SpellDamageInfo> data) {
|
||||
void EntityData::son_dealt_damage(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_dealt_damage"))
|
||||
call("_son_dealt_damage", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_damage_dealt(Ref<SpellDamageInfo> data) {
|
||||
void EntityData::son_damage_dealt(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_damage_dealt"))
|
||||
call("_son_damage_dealt", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_before_heal(Ref<SpellHealInfo> data) {
|
||||
void EntityData::son_before_heal(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_heal"))
|
||||
call("_son_before_heal", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_heal_receive(Ref<SpellHealInfo> data) {
|
||||
void EntityData::son_heal_receive(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_heal_receive"))
|
||||
call("_son_heal_receive", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_dealt_heal(Ref<SpellHealInfo> data) {
|
||||
void EntityData::son_dealt_heal(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_dealt_heal"))
|
||||
call("_son_dealt_heal", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_heal_dealt(Ref<SpellHealInfo> data) {
|
||||
void EntityData::son_heal_dealt(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_heal_dealt"))
|
||||
call("_son_heal_dealt", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_before_aura_applied(Ref<AuraData> data) {
|
||||
void EntityData::son_before_aura_applied(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_aura_applied"))
|
||||
call("_son_before_aura_applied", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_after_aura_applied(Ref<AuraData> data) {
|
||||
void EntityData::son_after_aura_applied(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_after_aura_applied"))
|
||||
call("_son_after_aura_applied", data);
|
||||
}
|
||||
|
||||
void CharacterClass::son_death(Entity *entity) {
|
||||
void EntityData::son_death(Entity *entity) {
|
||||
if (has_method("_son_death"))
|
||||
call("_son_death", entity);
|
||||
}
|
||||
|
||||
void CharacterClass::son_death_bind(Node *entity) {
|
||||
void EntityData::son_death_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -377,33 +377,33 @@ void CharacterClass::son_death_bind(Node *entity) {
|
||||
son_death(e);
|
||||
}
|
||||
|
||||
void CharacterClass::son_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
void EntityData::son_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
if (has_method("_son_cooldown_added"))
|
||||
call("_son_cooldown_added", cooldown);
|
||||
}
|
||||
void CharacterClass::son_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
void EntityData::son_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
if (has_method("_son_cooldown_removed"))
|
||||
call("_son_cooldown_removed", cooldown);
|
||||
}
|
||||
|
||||
void CharacterClass::son_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
void EntityData::son_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
if (has_method("_son_category_cooldown_added"))
|
||||
call("_son_category_cooldown_added", category_cooldown);
|
||||
}
|
||||
void CharacterClass::son_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
void EntityData::son_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
if (has_method("_son_category_cooldown_removed"))
|
||||
call("_son_category_cooldown_removed", category_cooldown);
|
||||
}
|
||||
|
||||
void CharacterClass::son_gcd_started(Entity *entity, float gcd) {
|
||||
void EntityData::son_gcd_started(Entity *entity, float gcd) {
|
||||
if (has_method("_son_gcd_started"))
|
||||
call("_son_gcd_started", entity, gcd);
|
||||
}
|
||||
void CharacterClass::son_gcd_finished(Entity *entity) {
|
||||
void EntityData::son_gcd_finished(Entity *entity) {
|
||||
if (has_method("_son_gcd_finished"))
|
||||
call("_son_gcd_finished", entity);
|
||||
}
|
||||
void CharacterClass::son_gcd_started_bind(Node *entity, float gcd) {
|
||||
void EntityData::son_gcd_started_bind(Node *entity, float gcd) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -412,7 +412,7 @@ void CharacterClass::son_gcd_started_bind(Node *entity, float gcd) {
|
||||
|
||||
son_gcd_started(e, gcd);
|
||||
}
|
||||
void CharacterClass::son_gcd_finished_bind(Node *entity) {
|
||||
void EntityData::son_gcd_finished_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -423,45 +423,45 @@ void CharacterClass::son_gcd_finished_bind(Node *entity) {
|
||||
}
|
||||
|
||||
//Clientside Event Handlers
|
||||
void CharacterClass::con_cast_failed(Ref<SpellCastInfo> info) {
|
||||
void EntityData::con_cast_failed(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_cast_failed"))
|
||||
call("_con_cast_failed", info);
|
||||
}
|
||||
void CharacterClass::con_cast_started(Ref<SpellCastInfo> info) {
|
||||
void EntityData::con_cast_started(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_cast_started"))
|
||||
call("_con_cast_started", info);
|
||||
}
|
||||
void CharacterClass::con_cast_state_changed(Ref<SpellCastInfo> info) {
|
||||
void EntityData::con_cast_state_changed(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_cast_state_changed"))
|
||||
call("_con_cast_state_changed", info);
|
||||
}
|
||||
void CharacterClass::con_cast_finished(Ref<SpellCastInfo> info) {
|
||||
void EntityData::con_cast_finished(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_cast_finished"))
|
||||
call("_con_cast_finished", info);
|
||||
}
|
||||
void CharacterClass::con_spell_cast_success(Ref<SpellCastInfo> info) {
|
||||
void EntityData::con_spell_cast_success(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_spell_cast_success"))
|
||||
call("_con_spell_cast_success", info);
|
||||
}
|
||||
|
||||
void CharacterClass::con_death(Entity *entity) {
|
||||
void EntityData::con_death(Entity *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
if (has_method("_con_death"))
|
||||
call("_con_death", entity);
|
||||
}
|
||||
|
||||
void CharacterClass::con_death_bind(Node *entity) {
|
||||
void EntityData::con_death_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -471,89 +471,89 @@ void CharacterClass::con_death_bind(Node *entity) {
|
||||
con_death(e);
|
||||
}
|
||||
|
||||
void CharacterClass::con_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
void EntityData::con_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (has_method("_con_cooldown_added"))
|
||||
call("_con_cooldown_added", cooldown);
|
||||
}
|
||||
void CharacterClass::con_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
void EntityData::con_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (has_method("_con_cooldown_removed"))
|
||||
call("_con_cooldown_removed", cooldown);
|
||||
}
|
||||
void CharacterClass::con_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
void EntityData::con_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (has_method("_con_category_cooldown_added"))
|
||||
call("_con_category_cooldown_added", category_cooldown);
|
||||
}
|
||||
void CharacterClass::con_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
void EntityData::con_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (has_method("_con_category_cooldown_removed"))
|
||||
call("_con_category_cooldown_removed", category_cooldown);
|
||||
}
|
||||
|
||||
void CharacterClass::con_aura_added(Ref<AuraData> data) {
|
||||
void EntityData::con_aura_added(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_con_aura_added"))
|
||||
call("_con_aura_added", data);
|
||||
}
|
||||
|
||||
void CharacterClass::con_aura_removed(Ref<AuraData> data) {
|
||||
void EntityData::con_aura_removed(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_con_aura_removed"))
|
||||
call("_con_aura_removed", data);
|
||||
}
|
||||
|
||||
void CharacterClass::con_aura_refresh(Ref<AuraData> data) {
|
||||
void EntityData::con_aura_refresh(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_con_aura_refresh"))
|
||||
call("_con_aura_refresh", data);
|
||||
}
|
||||
|
||||
void CharacterClass::con_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
void EntityData::con_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_damage_dealt"))
|
||||
call("_con_damage_dealt", info);
|
||||
}
|
||||
|
||||
void CharacterClass::con_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
void EntityData::con_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_dealt_damage"))
|
||||
call("_con_dealt_damage", info);
|
||||
}
|
||||
|
||||
void CharacterClass::con_heal_dealt(Ref<SpellHealInfo> info) {
|
||||
void EntityData::con_heal_dealt(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_heal_dealt"))
|
||||
call("_con_heal_dealt", info);
|
||||
}
|
||||
|
||||
void CharacterClass::con_dealt_heal(Ref<SpellHealInfo> info) {
|
||||
void EntityData::con_dealt_heal(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (has_method("_con_dealt_heal"))
|
||||
call("_con_dealt_heal", info);
|
||||
}
|
||||
|
||||
void CharacterClass::con_gcd_started(Entity *entity, float gcd) {
|
||||
void EntityData::con_gcd_started(Entity *entity, float gcd) {
|
||||
if (has_method("_con_gcd_started"))
|
||||
call("_con_gcd_started", entity, gcd);
|
||||
}
|
||||
void CharacterClass::con_gcd_finished(Entity *entity) {
|
||||
void EntityData::con_gcd_finished(Entity *entity) {
|
||||
if (has_method("_con_gcd_finished"))
|
||||
call("_con_gcd_finished", entity);
|
||||
}
|
||||
void CharacterClass::con_gcd_started_bind(Node *entity, float gcd) {
|
||||
void EntityData::con_gcd_started_bind(Node *entity, float gcd) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -562,7 +562,7 @@ void CharacterClass::con_gcd_started_bind(Node *entity, float gcd) {
|
||||
|
||||
con_gcd_started(e, gcd);
|
||||
}
|
||||
void CharacterClass::con_gcd_finished_bind(Node *entity) {
|
||||
void EntityData::con_gcd_finished_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -573,28 +573,28 @@ void CharacterClass::con_gcd_finished_bind(Node *entity) {
|
||||
}
|
||||
|
||||
|
||||
void CharacterClass::sai_follow(Entity *entity) {
|
||||
void EntityData::sai_follow(Entity *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
if (has_method("_sai_follow")) {
|
||||
call("_sai_follow", entity);
|
||||
}
|
||||
}
|
||||
void CharacterClass::sai_rest(Entity *entity) {
|
||||
void EntityData::sai_rest(Entity *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
if (has_method("_sai_rest")) {
|
||||
call("_sai_rest", entity);
|
||||
}
|
||||
}
|
||||
void CharacterClass::sai_regenerate(Entity *entity) {
|
||||
void EntityData::sai_regenerate(Entity *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
if (has_method("_sai_regenerate")) {
|
||||
call("_sai_regenerate", entity);
|
||||
}
|
||||
}
|
||||
void CharacterClass::sai_attack(Entity *entity) {
|
||||
void EntityData::sai_attack(Entity *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
if (has_method("_sai_attack")) {
|
||||
@ -602,7 +602,7 @@ void CharacterClass::sai_attack(Entity *entity) {
|
||||
}
|
||||
}
|
||||
|
||||
void CharacterClass::sai_follow_bind(Node *entity) {
|
||||
void EntityData::sai_follow_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -611,7 +611,7 @@ void CharacterClass::sai_follow_bind(Node *entity) {
|
||||
|
||||
sai_follow(e);
|
||||
}
|
||||
void CharacterClass::sai_rest_bind(Node *entity) {
|
||||
void EntityData::sai_rest_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -620,7 +620,7 @@ void CharacterClass::sai_rest_bind(Node *entity) {
|
||||
|
||||
sai_rest(e);
|
||||
}
|
||||
void CharacterClass::sai_regenerate_bind(Node *entity) {
|
||||
void EntityData::sai_regenerate_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -629,7 +629,7 @@ void CharacterClass::sai_regenerate_bind(Node *entity) {
|
||||
|
||||
sai_regenerate(e);
|
||||
}
|
||||
void CharacterClass::sai_attack_bind(Node *entity) {
|
||||
void EntityData::sai_attack_bind(Node *entity) {
|
||||
ERR_FAIL_COND(entity == NULL);
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
@ -639,40 +639,40 @@ void CharacterClass::sai_attack_bind(Node *entity) {
|
||||
sai_attack(e);
|
||||
}
|
||||
|
||||
void CharacterClass::_bind_methods() {
|
||||
void EntityData::_bind_methods() {
|
||||
//EventHandlers
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast", "info"), &CharacterClass::son_before_cast);
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast_target", "info"), &CharacterClass::son_before_cast_target);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_started", "info"), &CharacterClass::son_cast_started);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_failed", "info"), &CharacterClass::son_cast_failed);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished", "info"), &CharacterClass::son_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished_target", "info"), &CharacterClass::son_cast_finished_target);
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast", "info"), &EntityData::son_before_cast);
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast_target", "info"), &EntityData::son_before_cast_target);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_started", "info"), &EntityData::son_cast_started);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_failed", "info"), &EntityData::son_cast_failed);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished", "info"), &EntityData::son_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished_target", "info"), &EntityData::son_cast_finished_target);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_hit", "data"), &CharacterClass::son_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_hit", "data"), &EntityData::son_hit);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage", "data"), &CharacterClass::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_receive", "data"), &CharacterClass::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_damage", "data"), &CharacterClass::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_dealt", "data"), &CharacterClass::son_damage_dealt);
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage", "data"), &EntityData::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_receive", "data"), &EntityData::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_damage", "data"), &EntityData::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_dealt", "data"), &EntityData::son_damage_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "data"), &CharacterClass::son_before_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "data"), &CharacterClass::son_heal_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "data"), &CharacterClass::son_dealt_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_dealt", "data"), &CharacterClass::son_heal_dealt);
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "data"), &EntityData::son_before_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "data"), &EntityData::son_heal_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "data"), &EntityData::son_dealt_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_dealt", "data"), &EntityData::son_heal_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_aura_applied", "data"), &CharacterClass::son_before_aura_applied);
|
||||
ClassDB::bind_method(D_METHOD("son_after_aura_applied", "data"), &CharacterClass::son_after_aura_applied);
|
||||
ClassDB::bind_method(D_METHOD("son_before_aura_applied", "data"), &EntityData::son_before_aura_applied);
|
||||
ClassDB::bind_method(D_METHOD("son_after_aura_applied", "data"), &EntityData::son_after_aura_applied);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_death", "data"), &CharacterClass::son_death_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_death", "data"), &EntityData::son_death_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_cooldown_added", "cooldown"), &CharacterClass::son_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("son_cooldown_removed", "cooldown"), &CharacterClass::son_cooldown_removed);
|
||||
ClassDB::bind_method(D_METHOD("son_cooldown_added", "cooldown"), &EntityData::son_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("son_cooldown_removed", "cooldown"), &EntityData::son_cooldown_removed);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_category_cooldown_added", "category_cooldown"), &CharacterClass::son_category_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("son_category_cooldown_removed", "category_cooldown"), &CharacterClass::son_category_cooldown_removed);
|
||||
ClassDB::bind_method(D_METHOD("son_category_cooldown_added", "category_cooldown"), &EntityData::son_category_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("son_category_cooldown_removed", "category_cooldown"), &EntityData::son_category_cooldown_removed);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_started", "entity", "gcd"), &CharacterClass::son_gcd_started_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_finished", "entity"), &CharacterClass::son_gcd_finished_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_started", "entity", "gcd"), &EntityData::son_gcd_started_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_finished", "entity"), &EntityData::son_gcd_finished_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast_target", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -715,25 +715,25 @@ void CharacterClass::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_setup_resources", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
//Clientside Event Handlers
|
||||
ClassDB::bind_method(D_METHOD("con_cast_failed", "info"), &CharacterClass::con_cast_failed);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_started", "info"), &CharacterClass::con_cast_started);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_state_changed", "info"), &CharacterClass::con_cast_state_changed);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_finished", "info"), &CharacterClass::con_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("con_spell_cast_success", "info"), &CharacterClass::con_spell_cast_success);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_failed", "info"), &EntityData::con_cast_failed);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_started", "info"), &EntityData::con_cast_started);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_state_changed", "info"), &EntityData::con_cast_state_changed);
|
||||
ClassDB::bind_method(D_METHOD("con_cast_finished", "info"), &EntityData::con_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("con_spell_cast_success", "info"), &EntityData::con_spell_cast_success);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_death", "data"), &CharacterClass::con_death_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_death", "data"), &EntityData::con_death_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_cooldown_added", "cooldown"), &CharacterClass::con_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("con_cooldown_removed", "cooldown"), &CharacterClass::con_cooldown_removed);
|
||||
ClassDB::bind_method(D_METHOD("con_category_cooldown_added", "cooldown"), &CharacterClass::con_category_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("con_category_cooldown_removed", "cooldown"), &CharacterClass::con_category_cooldown_removed);
|
||||
ClassDB::bind_method(D_METHOD("con_cooldown_added", "cooldown"), &EntityData::con_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("con_cooldown_removed", "cooldown"), &EntityData::con_cooldown_removed);
|
||||
ClassDB::bind_method(D_METHOD("con_category_cooldown_added", "cooldown"), &EntityData::con_category_cooldown_added);
|
||||
ClassDB::bind_method(D_METHOD("con_category_cooldown_removed", "cooldown"), &EntityData::con_category_cooldown_removed);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_aura_added", "data"), &CharacterClass::con_aura_added);
|
||||
ClassDB::bind_method(D_METHOD("con_aura_removed", "data"), &CharacterClass::con_aura_removed);
|
||||
ClassDB::bind_method(D_METHOD("con_aura_refresh", "data"), &CharacterClass::con_aura_refresh);
|
||||
ClassDB::bind_method(D_METHOD("con_aura_added", "data"), &EntityData::con_aura_added);
|
||||
ClassDB::bind_method(D_METHOD("con_aura_removed", "data"), &EntityData::con_aura_removed);
|
||||
ClassDB::bind_method(D_METHOD("con_aura_refresh", "data"), &EntityData::con_aura_refresh);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_started", "entity", "gcd"), &CharacterClass::con_gcd_started_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished", "entity"), &CharacterClass::con_gcd_finished_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_started", "entity", "gcd"), &EntityData::con_gcd_started_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished", "entity"), &EntityData::con_gcd_finished_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_failed", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_started", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -755,82 +755,83 @@ void CharacterClass::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_started", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::REAL, "gcd")));
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_finished", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
ClassDB::bind_method(D_METHOD("sai_follow", "entity"), &CharacterClass::sai_follow_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_rest", "entity"), &CharacterClass::sai_rest_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_regenerate", "entity"), &CharacterClass::sai_regenerate_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_attack", "entity"), &CharacterClass::sai_attack_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_follow", "entity"), &EntityData::sai_follow_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_rest", "entity"), &EntityData::sai_rest_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_regenerate", "entity"), &EntityData::sai_regenerate_bind);
|
||||
ClassDB::bind_method(D_METHOD("sai_attack", "entity"), &EntityData::sai_attack_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_id"), &CharacterClass::get_id);
|
||||
ClassDB::bind_method(D_METHOD("set_id", "value"), &CharacterClass::set_id);
|
||||
ClassDB::bind_method(D_METHOD("get_id"), &EntityData::get_id);
|
||||
ClassDB::bind_method(D_METHOD("set_id", "value"), &EntityData::set_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "id"), "set_id", "get_id");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_character_class_name"), &CharacterClass::get_character_class_name);
|
||||
ClassDB::bind_method(D_METHOD("set_character_class_name", "value"), &CharacterClass::set_character_class_name);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "character_class_name"), "set_character_class_name", "get_character_class_name");
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data_name"), &EntityData::get_entity_data_name);
|
||||
ClassDB::bind_method(D_METHOD("set_entity_data_name", "value"), &EntityData::set_entity_data_name);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "entity_data_name"), "set_entity_data_name", "get_entity_data_name");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_icon"), &CharacterClass::get_icon);
|
||||
ClassDB::bind_method(D_METHOD("set_icon", "value"), &CharacterClass::set_icon);
|
||||
ClassDB::bind_method(D_METHOD("get_icon"), &EntityData::get_icon);
|
||||
ClassDB::bind_method(D_METHOD("set_icon", "value"), &EntityData::set_icon);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "icon", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_icon", "get_icon");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_stat_data"), &CharacterClass::get_stat_data);
|
||||
ClassDB::bind_method(D_METHOD("set_stat_data", "value"), &CharacterClass::set_stat_data);
|
||||
ClassDB::bind_method(D_METHOD("get_stat_data"), &EntityData::get_stat_data);
|
||||
ClassDB::bind_method(D_METHOD("set_stat_data", "value"), &EntityData::set_stat_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "stat_data", PROPERTY_HINT_RESOURCE_TYPE, "StatData"), "set_stat_data", "get_stat_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_player_resource_type"), &CharacterClass::get_player_resource_type);
|
||||
ClassDB::bind_method(D_METHOD("set_player_resource_type", "value"), &CharacterClass::set_player_resource_type);
|
||||
ClassDB::bind_method(D_METHOD("get_player_resource_type"), &EntityData::get_player_resource_type);
|
||||
ClassDB::bind_method(D_METHOD("set_player_resource_type", "value"), &EntityData::set_player_resource_type);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "player_resource_type", PROPERTY_HINT_ENUM, "None, Rage, Mana, Energy, Time Anomaly"), "set_player_resource_type", "get_player_resource_type");
|
||||
|
||||
//// Specs ////
|
||||
ClassDB::bind_method(D_METHOD("get_num_specs"), &CharacterClass::get_num_specs);
|
||||
ClassDB::bind_method(D_METHOD("set_num_specs", "value"), &CharacterClass::set_num_specs);
|
||||
ClassDB::bind_method(D_METHOD("get_num_specs"), &EntityData::get_num_specs);
|
||||
ClassDB::bind_method(D_METHOD("set_num_specs", "value"), &EntityData::set_num_specs);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_spec", "index"), &CharacterClass::get_spec);
|
||||
ClassDB::bind_method(D_METHOD("set_spec", "index", "spec"), &CharacterClass::set_spec);
|
||||
ClassDB::bind_method(D_METHOD("get_spec", "index"), &EntityData::get_spec);
|
||||
ClassDB::bind_method(D_METHOD("set_spec", "index", "spec"), &EntityData::set_spec);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_specs"), &CharacterClass::get_specs);
|
||||
ClassDB::bind_method(D_METHOD("set_specs", "specs"), &CharacterClass::set_specs);
|
||||
ClassDB::bind_method(D_METHOD("get_specs"), &EntityData::get_specs);
|
||||
ClassDB::bind_method(D_METHOD("set_specs", "specs"), &EntityData::set_specs);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "specs", PROPERTY_HINT_NONE, "17/17:CharacterSpec", PROPERTY_USAGE_DEFAULT, "CharacterSpec"), "set_specs", "get_specs");
|
||||
|
||||
//// Spell ////
|
||||
ClassDB::bind_method(D_METHOD("get_num_spells"), &CharacterClass::get_num_spells);
|
||||
ClassDB::bind_method(D_METHOD("set_num_spells", "value"), &CharacterClass::set_num_spells);
|
||||
ClassDB::bind_method(D_METHOD("get_num_spells"), &EntityData::get_num_spells);
|
||||
ClassDB::bind_method(D_METHOD("set_num_spells", "value"), &EntityData::set_num_spells);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_spell", "index"), &CharacterClass::get_spell);
|
||||
ClassDB::bind_method(D_METHOD("set_spell", "index", "spell"), &CharacterClass::set_spell);
|
||||
ClassDB::bind_method(D_METHOD("get_spell", "index"), &EntityData::get_spell);
|
||||
ClassDB::bind_method(D_METHOD("set_spell", "index", "spell"), &EntityData::set_spell);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_spells"), &CharacterClass::get_spells);
|
||||
ClassDB::bind_method(D_METHOD("set_spells", "spells"), &CharacterClass::set_spells);
|
||||
ClassDB::bind_method(D_METHOD("get_spells"), &EntityData::get_spells);
|
||||
ClassDB::bind_method(D_METHOD("set_spells", "spells"), &EntityData::set_spells);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "spells", PROPERTY_HINT_NONE, "17/17:Spell", PROPERTY_USAGE_DEFAULT, "Spell"), "set_spells", "get_spells");
|
||||
|
||||
//// AURAS ////
|
||||
ClassDB::bind_method(D_METHOD("get_num_auras"), &CharacterClass::get_num_auras);
|
||||
ClassDB::bind_method(D_METHOD("set_num_auras", "value"), &CharacterClass::set_num_auras);
|
||||
ClassDB::bind_method(D_METHOD("get_num_auras"), &EntityData::get_num_auras);
|
||||
ClassDB::bind_method(D_METHOD("set_num_auras", "value"), &EntityData::set_num_auras);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_aura", "index"), &CharacterClass::get_aura);
|
||||
ClassDB::bind_method(D_METHOD("set_aura", "index", "aura"), &CharacterClass::set_aura);
|
||||
ClassDB::bind_method(D_METHOD("get_aura", "index"), &EntityData::get_aura);
|
||||
ClassDB::bind_method(D_METHOD("set_aura", "index", "aura"), &EntityData::set_aura);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_auras"), &CharacterClass::get_auras);
|
||||
ClassDB::bind_method(D_METHOD("set_auras", "auras"), &CharacterClass::set_auras);
|
||||
ClassDB::bind_method(D_METHOD("get_auras"), &EntityData::get_auras);
|
||||
ClassDB::bind_method(D_METHOD("set_auras", "auras"), &EntityData::set_auras);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "auras", PROPERTY_HINT_NONE, "17/17:Aura", PROPERTY_USAGE_DEFAULT, "Aura"), "set_auras", "get_auras");
|
||||
|
||||
//// AI ACTIONS ////
|
||||
ClassDB::bind_method(D_METHOD("get_num_ai_actions"), &CharacterClass::get_num_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("set_num_ai_actions", "value"), &CharacterClass::set_num_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("get_num_ai_actions"), &EntityData::get_num_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("set_num_ai_actions", "value"), &EntityData::set_num_ai_actions);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_ai_action", "index"), &CharacterClass::get_ai_action);
|
||||
ClassDB::bind_method(D_METHOD("set_ai_action", "index", "action"), &CharacterClass::set_ai_action);
|
||||
ClassDB::bind_method(D_METHOD("get_ai_action", "index"), &EntityData::get_ai_action);
|
||||
ClassDB::bind_method(D_METHOD("set_ai_action", "index", "action"), &EntityData::set_ai_action);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_ai_actions"), &CharacterClass::get_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("set_ai_actions", "auras"), &CharacterClass::set_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("get_ai_actions"), &EntityData::get_ai_actions);
|
||||
ClassDB::bind_method(D_METHOD("set_ai_actions", "auras"), &EntityData::set_ai_actions);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "ai_actions", PROPERTY_HINT_NONE, "17/17:AIAction", PROPERTY_USAGE_DEFAULT, "AIAction"), "set_ai_actions", "get_ai_actions");
|
||||
}
|
||||
|
||||
CharacterClass::CharacterClass() {
|
||||
EntityData::EntityData() {
|
||||
//_spells = memnew(Vector<Ref<Spell> >());
|
||||
_id = 0;
|
||||
_player_resource_type = 0;
|
||||
}
|
||||
|
||||
CharacterClass::~CharacterClass() {
|
||||
EntityData::~EntityData() {
|
||||
_spells.clear();
|
||||
_specs.clear();
|
||||
_auras.clear();
|
@ -1,19 +1,19 @@
|
||||
#ifndef CHARACTER_CLASS_H
|
||||
#define CHARACTER_CLASS_H
|
||||
#ifndef ENTITY_DATA_H
|
||||
#define ENTITY_DATA_H
|
||||
|
||||
#include "core/resource.h"
|
||||
#include "core/vector.h"
|
||||
#include "scene/resources/texture.h"
|
||||
|
||||
#include "../entities/stats/stat_data.h"
|
||||
#include "../entity_enums.h"
|
||||
#include "../../entities/stats/stat_data.h"
|
||||
#include "../../entity_enums.h"
|
||||
|
||||
#include "../entities/auras/aura_data.h"
|
||||
#include "../pipelines/spell_damage_info.h"
|
||||
#include "../pipelines/spell_heal_info.h"
|
||||
#include "../../entities/auras/aura_data.h"
|
||||
#include "../../pipelines/spell_damage_info.h"
|
||||
#include "../../pipelines/spell_heal_info.h"
|
||||
|
||||
#include "../utility/cooldown.h"
|
||||
#include "../utility/category_cooldown.h"
|
||||
#include "../../utility/cooldown.h"
|
||||
#include "../../utility/category_cooldown.h"
|
||||
|
||||
class Aura;
|
||||
class Spell;
|
||||
@ -31,15 +31,15 @@ enum CharacterWeaponDataTypes {
|
||||
|
||||
VARIANT_ENUM_CAST(CharacterWeaponDataTypes)
|
||||
|
||||
class CharacterClass : public Resource {
|
||||
GDCLASS(CharacterClass, Resource);
|
||||
class EntityData : public Resource {
|
||||
GDCLASS(EntityData, Resource);
|
||||
|
||||
public:
|
||||
int get_id();
|
||||
void set_id(int value);
|
||||
|
||||
String get_character_class_name();
|
||||
void set_character_class_name(String value);
|
||||
String get_entity_data_name();
|
||||
void set_entity_data_name(String value);
|
||||
|
||||
Ref<Texture> get_icon();
|
||||
void set_icon(Ref<Texture> value);
|
||||
@ -186,15 +186,15 @@ public:
|
||||
void sai_regenerate_bind(Node *entity);
|
||||
void sai_attack_bind(Node *entity);
|
||||
|
||||
CharacterClass();
|
||||
~CharacterClass();
|
||||
EntityData();
|
||||
~EntityData();
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
private:
|
||||
int _id;
|
||||
String _character_class_name;
|
||||
String _entity_data_name;
|
||||
Ref<Texture> _icon;
|
||||
|
||||
int _player_resource_type;
|
@ -14,11 +14,11 @@ void MobData::set_loot_db(const Ref<LootDataBase> lootdb) {
|
||||
_lootdb = lootdb;
|
||||
}
|
||||
|
||||
Ref<CharacterClass> MobData::get_character_class() const {
|
||||
return _character_class;
|
||||
Ref<EntityData> MobData::get_entity_data() const {
|
||||
return _entity_data;
|
||||
}
|
||||
void MobData::set_character_class(const Ref<CharacterClass> character_class) {
|
||||
_character_class = character_class;
|
||||
void MobData::set_entity_data(const Ref<EntityData> entity_data) {
|
||||
_entity_data = entity_data;
|
||||
}
|
||||
|
||||
String MobData::get_player_name() {
|
||||
@ -41,7 +41,7 @@ MobData::MobData() {
|
||||
}
|
||||
MobData::~MobData() {
|
||||
_lootdb.unref();
|
||||
_character_class.unref();
|
||||
_entity_data.unref();
|
||||
}
|
||||
|
||||
void MobData::_bind_methods() {
|
||||
@ -55,9 +55,9 @@ void MobData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_loot_db", "value"), &MobData::set_loot_db);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "loot_db", PROPERTY_HINT_RESOURCE_TYPE, "LootDataBase"), "set_loot_db", "get_loot_db");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_character_class"), &MobData::get_character_class);
|
||||
ClassDB::bind_method(D_METHOD("set_character_class", "value"), &MobData::set_character_class);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "character_class", PROPERTY_HINT_RESOURCE_TYPE, "CharacterClass"), "set_character_class", "get_character_class");
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data"), &MobData::get_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("set_entity_data", "value"), &MobData::set_entity_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "set_entity_data", "get_entity_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_static_player_name"), &MobData::get_static_player_name);
|
||||
ClassDB::bind_method(D_METHOD("set_static_player_name", "value"), &MobData::set_static_player_name);
|
@ -4,8 +4,8 @@
|
||||
#include "core/resource.h"
|
||||
#include "core/ustring.h"
|
||||
|
||||
#include "../data/character_class.h"
|
||||
#include "../loot/loot_data_base.h"
|
||||
#include "entity_data.h"
|
||||
#include "../../loot/loot_data_base.h"
|
||||
|
||||
//Add it to the data manager too.
|
||||
|
||||
@ -19,8 +19,8 @@ public:
|
||||
Ref<LootDataBase> get_loot_db() const;
|
||||
void set_loot_db(const Ref<LootDataBase> lootdb);
|
||||
|
||||
Ref<CharacterClass> get_character_class() const;
|
||||
void set_character_class(const Ref<CharacterClass> character_class);
|
||||
Ref<EntityData> get_entity_data() const;
|
||||
void set_entity_data(const Ref<EntityData> entity_data);
|
||||
|
||||
String get_player_name();
|
||||
|
||||
@ -36,7 +36,7 @@ protected:
|
||||
private:
|
||||
int _id;
|
||||
Ref<LootDataBase> _lootdb;
|
||||
Ref<CharacterClass> _character_class;
|
||||
Ref<EntityData> _entity_data;
|
||||
String _static_player_name;
|
||||
//Skeleton -> basic gear
|
||||
};
|
@ -8,11 +8,11 @@ void PlayerCharacterData::set_id(const int id) {
|
||||
_id = id;
|
||||
}
|
||||
|
||||
Ref<CharacterClass> PlayerCharacterData::get_character_class() const {
|
||||
return _character_class;
|
||||
Ref<EntityData> PlayerCharacterData::get_entity_data() const {
|
||||
return _entity_data;
|
||||
}
|
||||
void PlayerCharacterData::set_character_class(const Ref<CharacterClass> character_class) {
|
||||
_character_class = character_class;
|
||||
void PlayerCharacterData::set_entity_data(const Ref<EntityData> entity_data) {
|
||||
_entity_data = entity_data;
|
||||
}
|
||||
|
||||
String PlayerCharacterData::get_player_name() {
|
||||
@ -34,7 +34,7 @@ PlayerCharacterData::PlayerCharacterData() {
|
||||
_id = 0;
|
||||
}
|
||||
PlayerCharacterData::~PlayerCharacterData() {
|
||||
_character_class.unref();
|
||||
_entity_data.unref();
|
||||
}
|
||||
|
||||
void PlayerCharacterData::_bind_methods() {
|
||||
@ -44,9 +44,9 @@ void PlayerCharacterData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_id", "value"), &PlayerCharacterData::set_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "id"), "set_id", "get_id");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_character_class"), &PlayerCharacterData::get_character_class);
|
||||
ClassDB::bind_method(D_METHOD("set_character_class", "value"), &PlayerCharacterData::set_character_class);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "character_class", PROPERTY_HINT_RESOURCE_TYPE, "CharacterClass"), "set_character_class", "get_character_class");
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data"), &PlayerCharacterData::get_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("set_entity_data", "value"), &PlayerCharacterData::set_entity_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "set_entity_data", "get_entity_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_static_player_name"), &PlayerCharacterData::get_static_player_name);
|
||||
ClassDB::bind_method(D_METHOD("set_static_player_name", "value"), &PlayerCharacterData::set_static_player_name);
|
@ -4,8 +4,8 @@
|
||||
#include "core/resource.h"
|
||||
#include "core/ustring.h"
|
||||
|
||||
#include "../data/character_class.h"
|
||||
#include "../loot/loot_data_base.h"
|
||||
#include "entity_data.h"
|
||||
#include "../../loot/loot_data_base.h"
|
||||
|
||||
//same as mob data
|
||||
//name generator, or name -> probably an overrideable get_name
|
||||
@ -20,8 +20,8 @@ public:
|
||||
int get_id() const;
|
||||
void set_id(const int id);
|
||||
|
||||
Ref<CharacterClass> get_character_class() const;
|
||||
void set_character_class(const Ref<CharacterClass> character_class);
|
||||
Ref<EntityData> get_entity_data() const;
|
||||
void set_entity_data(const Ref<EntityData> entity_data);
|
||||
|
||||
String get_player_name();
|
||||
|
||||
@ -36,7 +36,7 @@ protected:
|
||||
|
||||
private:
|
||||
int _id;
|
||||
Ref<CharacterClass> _character_class;
|
||||
Ref<EntityData> _entity_data;
|
||||
String _static_player_name;
|
||||
//Skeleton -> basic gear
|
||||
};
|
@ -4,7 +4,7 @@
|
||||
#include "core/reference.h"
|
||||
#include "core/ustring.h"
|
||||
|
||||
#include "talent.h"
|
||||
#include "../../data/talent.h"
|
||||
|
||||
class Talent;
|
||||
|
@ -1,460 +0,0 @@
|
||||
#include "Entity.h"
|
||||
namespace BS {
|
||||
namespace Player {
|
||||
//Delegate declaration moved to header file
|
||||
//Delegate declaration moved to header file
|
||||
//Delegate declaration moved to header file
|
||||
//Delegate declaration moved to header file
|
||||
uint Entity::nextEntityGUID;
|
||||
Entity* Entity::localPlayer;
|
||||
List_T<Entity>* Entity::sNetworkedPlayers;
|
||||
List_T<Entity>* Entity::sPlayers;
|
||||
List_T<Entity>* Entity::sAis;
|
||||
Dictionary_T<uint, Entity>* Entity::sPlayerGUIDS;
|
||||
List_T<Entity>* Entity::cNetworkedPlayers;
|
||||
List_T<Entity>* Entity::cPlayers;
|
||||
List_T<Entity>* Entity::cAis;
|
||||
Dictionary_T<uint, Entity>* Entity::cPlayerGUIDS;
|
||||
Entity::SSpawnDelegate* Entity::SSpawn;
|
||||
Entity::CSpawnDelegate* Entity::CSpawn;
|
||||
Entity* Entity::self;
|
||||
void Entity::addOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* value){
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnLocalPlayerChange;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do{
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnLocalPlayerChange, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnLocalPlayerChange;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnLocalPlayerChange, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnSNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSNetworkedPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSNetworkedPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnSNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSNetworkedPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSNetworkedPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnSNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSNetworkedPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSNetworkedPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnSNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSNetworkedPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSNetworkedPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnSAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSAiPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSAiPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnSAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSAiPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSAiPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnSAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSAiPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSAiPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnSAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSAiPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSAiPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnSPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnSPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnSPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnSPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnCNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCNetworkedPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCNetworkedPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnCNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCNetworkedPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCNetworkedPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnCNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCNetworkedPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCNetworkedPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnCNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCNetworkedPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCNetworkedPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnCAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCAiPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCAiPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnCAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCAiPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCAiPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnCAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCAiPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCAiPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnCAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCAiPlayerRemoved;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCAiPlayerRemoved, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
void Entity::addOnCPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Combine(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
void Entity::removeOnCPlayerAdded(Entity::OnLocalPlayerChangedAction* value)
|
||||
{
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction = Entity::OnCPlayerAdded;
|
||||
Entity::OnLocalPlayerChangedAction* onLocalPlayerChangedAction2;
|
||||
do {
|
||||
onLocalPlayerChangedAction2 = onLocalPlayerChangedAction;
|
||||
Entity::OnLocalPlayerChangedAction* value2 = (Entity::OnLocalPlayerChangedAction*)(Delegate::Remove(onLocalPlayerChangedAction2, value));
|
||||
onLocalPlayerChangedAction = Interlocked::CompareExchange<Entity::OnLocalPlayerChangedAction*>(Entity::OnCPlayerAdded, value2, onLocalPlayerChangedAction2);
|
||||
}
|
||||
while (*onLocalPlayerChangedAction != *onLocalPlayerChangedAction2);
|
||||
}
|
||||
|
||||
Entity* Entity::getLocalPlayer()
|
||||
{
|
||||
return Entity::localPlayer;
|
||||
}
|
||||
List_T<Entity>* Entity::getSNetworkedPlayers()
|
||||
{
|
||||
return Entity::sNetworkedPlayers;
|
||||
}
|
||||
List_T<Entity>* Entity::getSPlayers()
|
||||
{
|
||||
return Entity::sPlayers;
|
||||
}
|
||||
List_T<Entity>* Entity::getSAis()
|
||||
{
|
||||
return Entity::sAis;
|
||||
}
|
||||
Dictionary_T<uint, Entity>* Entity::getSPlayerGUIDS()
|
||||
{
|
||||
return Entity::sPlayerGUIDS;
|
||||
}
|
||||
List_T<Entity>* Entity::getCNetworkedPlayers()
|
||||
{
|
||||
return Entity::cNetworkedPlayers;
|
||||
}
|
||||
List_T<Entity>* Entity::getCPlayers()
|
||||
{
|
||||
return Entity::cPlayers;
|
||||
}
|
||||
List_T<Entity>* Entity::getCAis()
|
||||
{
|
||||
return Entity::cAis;
|
||||
}
|
||||
Dictionary_T<uint, Entity>* Entity::getCPlayerGUIDS()
|
||||
{
|
||||
return Entity::cPlayerGUIDS;
|
||||
}
|
||||
Entity::Entity()
|
||||
{
|
||||
Entity::nextEntityGUID = 1u;
|
||||
Entity::sPlayers = new List_T<Entity>();
|
||||
Entity::sAis = new List_T<Entity>();
|
||||
Entity::sNetworkedPlayers = new List_T<Entity>();
|
||||
Entity::sPlayerGUIDS = new Dictionary_T<uint, Entity>();
|
||||
Entity::cPlayers = new List_T<Entity>();
|
||||
Entity::cAis = new List_T<Entity>();
|
||||
Entity::cNetworkedPlayers = new List_T<Entity>();
|
||||
Entity::cPlayerGUIDS = new Dictionary_T<uint, Entity>();
|
||||
}
|
||||
void Entity::RegisterLocalPlayer(uint playerGUID, Entity* lp)
|
||||
{
|
||||
Entity::localPlayer = lp;
|
||||
Entity::SRegisterPlayer(playerGUID, lp);
|
||||
Entity::CRegisterPlayer(playerGUID, lp);
|
||||
if (Entity::OnLocalPlayerChange != null) {
|
||||
DELEGATE_INVOKE(Entity::OnLocalPlayerChange, lp);
|
||||
}
|
||||
}
|
||||
void Entity::SRegisterAIPlayer(uint playerGUID, Entity* lp)
|
||||
{
|
||||
Entity::sAis->Add(lp);
|
||||
Entity::SRegisterPlayer(playerGUID, lp);
|
||||
if (Entity::OnSAiPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnSAiPlayerAdded, lp);
|
||||
}
|
||||
}
|
||||
void Entity::SRegisterNetworkedPlayer(uint playerGUID, Entity* lp)
|
||||
{
|
||||
Entity::sNetworkedPlayers->Add(lp);
|
||||
Entity::SRegisterPlayer(playerGUID, lp);
|
||||
if (Entity::OnSNetworkedPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnSNetworkedPlayerAdded, lp);
|
||||
}
|
||||
}
|
||||
void Entity::SRegisterPlayer(uint PlayerGUID, Entity* player)
|
||||
{
|
||||
if (Entity::sPlayerGUIDS->ContainsKey(PlayerGUID)) {
|
||||
Debug::LogWarning(new String("SRegisterPlayer already containt player! FIX"));
|
||||
return;
|
||||
}
|
||||
Entity::sPlayers->Add(player);
|
||||
Entity::sPlayerGUIDS->Add(PlayerGUID, player);
|
||||
if (Entity::OnSPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnSPlayerAdded, player);
|
||||
}
|
||||
}
|
||||
void Entity::CRegisterAIPlayer(uint playerGUID, Entity* lp)
|
||||
{
|
||||
Entity::cAis->Add(lp);
|
||||
Entity::CRegisterPlayer(playerGUID, lp);
|
||||
if (Entity::OnCAiPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnCAiPlayerAdded, lp);
|
||||
}
|
||||
}
|
||||
void Entity::CRegisterNetworkedPlayer(uint playerGUID, Entity* lp)
|
||||
{
|
||||
Entity::cNetworkedPlayers->Add(lp);
|
||||
Entity::CRegisterPlayer(playerGUID, lp);
|
||||
if (Entity::OnCNetworkedPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnCNetworkedPlayerAdded, lp);
|
||||
}
|
||||
}
|
||||
void Entity::CRegisterPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::cPlayers->Add(player);
|
||||
Entity::cPlayerGUIDS->Add(playerGUID, player);
|
||||
if (Entity::OnCPlayerAdded != null) {
|
||||
DELEGATE_INVOKE(Entity::OnCPlayerAdded, player);
|
||||
}
|
||||
}
|
||||
void Entity::UnRegisterLocalPlayer(uint playerGUID)
|
||||
{
|
||||
Entity::SUnRegisterPlayer(playerGUID, Entity::getLocalPlayer());
|
||||
Entity::CUnRegisterPlayer(playerGUID, Entity::getLocalPlayer());
|
||||
Entity::localPlayer = null;
|
||||
if (Entity::OnLocalPlayerChange != null) {
|
||||
DELEGATE_INVOKE(Entity::OnLocalPlayerChange, null);
|
||||
}
|
||||
}
|
||||
void Entity::SUnregisterNetworkedPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::sNetworkedPlayers->Remove(player);
|
||||
Entity::SUnRegisterPlayer(playerGUID, player);
|
||||
if (Entity::OnSNetworkedPlayerRemoved != null) {
|
||||
DELEGATE_INVOKE(Entity::OnSNetworkedPlayerRemoved, player);
|
||||
}
|
||||
}
|
||||
void Entity::SUnregisterAIPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::sAis->Remove(player);
|
||||
Entity::SUnRegisterPlayer(playerGUID, player);
|
||||
if (Entity::OnSAiPlayerRemoved != null) {
|
||||
DELEGATE_INVOKE(Entity::OnSAiPlayerRemoved, player);
|
||||
}
|
||||
}
|
||||
void Entity::SUnRegisterPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::sPlayers->Remove(player);
|
||||
Entity::sPlayerGUIDS->Remove(playerGUID);
|
||||
}
|
||||
void Entity::CUnregisterNetworkedPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::cNetworkedPlayers->Remove(player);
|
||||
Entity::CUnRegisterPlayer(playerGUID, player);
|
||||
if (Entity::OnCNetworkedPlayerRemoved != null) {
|
||||
DELEGATE_INVOKE(Entity::OnCNetworkedPlayerRemoved, player);
|
||||
}
|
||||
}
|
||||
void Entity::CUnregisterAIPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::cAis->Remove(player);
|
||||
Entity::CUnRegisterPlayer(playerGUID, player);
|
||||
if (Entity::OnCAiPlayerRemoved != null) {
|
||||
DELEGATE_INVOKE(Entity::OnCAiPlayerRemoved, player);
|
||||
}
|
||||
}
|
||||
void Entity::CUnRegisterPlayer(uint playerGUID, Entity* player)
|
||||
{
|
||||
Entity::cPlayers->Remove(player);
|
||||
Entity::cPlayerGUIDS->Remove(playerGUID);
|
||||
}
|
||||
void Entity::RegisterOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* action)
|
||||
{
|
||||
if (Entity::localPlayer != null) {
|
||||
action(Entity::localPlayer);
|
||||
}
|
||||
Entity::OnLocalPlayerChange += action;
|
||||
}
|
||||
Entity* Entity::SGetPLayerWithGUID(uint guid)
|
||||
{
|
||||
if (Entity::sPlayerGUIDS->ContainsKey(guid)) {
|
||||
return Entity::sPlayerGUIDS->GetData(guid);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
Entity* Entity::CGetPLayerWithGUID(uint guid)
|
||||
{
|
||||
if (Entity::cPlayerGUIDS->ContainsKey(guid)) {
|
||||
return Entity::cPlayerGUIDS->GetData(guid);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
uint Entity::GetNextEntityGUID()
|
||||
{
|
||||
return Entity::nextEntityGUID++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,169 +0,0 @@
|
||||
#pragma once
|
||||
#include <System/System.h>
|
||||
#include "MonoBehaviour.h"
|
||||
#include <System/Delegate.h>
|
||||
#include "EntityType.h"
|
||||
#include "CxConnection.h"
|
||||
#include "Vector3.h"
|
||||
#include "Quaternion.h"
|
||||
#include "GameObject.h"
|
||||
#include <System/Collections/Generic/List.h>
|
||||
#include <System/Collections/Generic/Dictionary.h>
|
||||
#include "Interlocked.h"
|
||||
#include "Debug.h"
|
||||
|
||||
using namespace UnityEngine;
|
||||
using namespace CxNetworking::Sockets;
|
||||
using namespace System::Collections::Generic;
|
||||
using namespace System;
|
||||
using namespace System::Threading;
|
||||
namespace BS {
|
||||
namespace Player {
|
||||
class Entity : public abstract virtual MonoBehaviour, public abstract virtual Object
|
||||
{
|
||||
public:
|
||||
DELEGATE(void, Entity*) OnLocalPlayerChangedAction;
|
||||
public:
|
||||
DELEGATE(void, Entity*) OnPlayerChangedAction;
|
||||
public:
|
||||
DELEGATE(GameObject*, EntityType, int, int, String*, uint, CxConnection*, bool, Vector3*, Quaternion*) SSpawnDelegate;
|
||||
public:
|
||||
DELEGATE(GameObject*, uint, EntityType, int, int, String*, CxConnection*, bool, Vector3*, Quaternion*) CSpawnDelegate;
|
||||
public:
|
||||
static uint nextEntityGUID;
|
||||
private:
|
||||
static Entity* localPlayer;
|
||||
private:
|
||||
static List_T<Entity>* sNetworkedPlayers;
|
||||
private:
|
||||
static List_T<Entity>* sPlayers;
|
||||
private:
|
||||
static List_T<Entity>* sAis;
|
||||
private:
|
||||
static Dictionary_T<uint, Entity>* sPlayerGUIDS;
|
||||
private:
|
||||
static List_T<Entity>* cNetworkedPlayers;
|
||||
private:
|
||||
static List_T<Entity>* cPlayers;
|
||||
private:
|
||||
static List_T<Entity>* cAis;
|
||||
private:
|
||||
static Dictionary_T<uint, Entity>* cPlayerGUIDS;
|
||||
public:
|
||||
static Entity::SSpawnDelegate* SSpawn;
|
||||
public:
|
||||
static Entity::CSpawnDelegate* CSpawn;
|
||||
public:
|
||||
static Entity* self;
|
||||
public:
|
||||
static void addOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnSNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnSNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnSNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnSNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnSAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnSAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnSAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnSAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnSPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnSPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnCNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnCNetworkedPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnCNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnCNetworkedPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnCAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnCAiPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnCAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnCAiPlayerRemoved(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void addOnCPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static void removeOnCPlayerAdded(Entity::OnLocalPlayerChangedAction* value);
|
||||
public:
|
||||
static Entity* getLocalPlayer();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getSNetworkedPlayers();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getSPlayers();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getSAis();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static Dictionary_T<uint, Entity>* getSPlayerGUIDS();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getCNetworkedPlayers();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getCPlayers();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static List_T<Entity>* getCAis();
|
||||
//Ignored empty method declaration
|
||||
public:
|
||||
static Dictionary_T<uint, Entity>* getCPlayerGUIDS();
|
||||
//Ignored empty method declaration
|
||||
static:
|
||||
Entity();
|
||||
public:
|
||||
static void RegisterLocalPlayer(uint playerGUID, Entity* lp);
|
||||
public:
|
||||
static void SRegisterAIPlayer(uint playerGUID, Entity* lp);
|
||||
public:
|
||||
static void SRegisterNetworkedPlayer(uint playerGUID, Entity* lp);
|
||||
public:
|
||||
static void SRegisterPlayer(uint PlayerGUID, Entity* player);
|
||||
public:
|
||||
static void CRegisterAIPlayer(uint playerGUID, Entity* lp);
|
||||
public:
|
||||
static void CRegisterNetworkedPlayer(uint playerGUID, Entity* lp);
|
||||
public:
|
||||
static void CRegisterPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void UnRegisterLocalPlayer(uint playerGUID);
|
||||
public:
|
||||
static void SUnregisterNetworkedPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void SUnregisterAIPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void SUnRegisterPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void CUnregisterNetworkedPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void CUnregisterAIPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void CUnRegisterPlayer(uint playerGUID, Entity* player);
|
||||
public:
|
||||
static void RegisterOnLocalPlayerChange(Entity::OnLocalPlayerChangedAction* action);
|
||||
public:
|
||||
static Entity* SGetPLayerWithGUID(uint guid);
|
||||
public:
|
||||
static Entity* CGetPLayerWithGUID(uint guid);
|
||||
public:
|
||||
static uint GetNextEntityGUID();
|
||||
};
|
||||
}
|
||||
}
|
@ -43,23 +43,23 @@ void Entity::sets_guid(int value) {
|
||||
SEND_RPC(rpc("setc_guid", value), setc_guid(value));
|
||||
}
|
||||
|
||||
int Entity::gets_character_class_id() {
|
||||
int Entity::gets_entity_data_id() {
|
||||
return _s_class_id;
|
||||
}
|
||||
void Entity::sets_character_class_id(int value) {
|
||||
void Entity::sets_entity_data_id(int value) {
|
||||
_s_class_id = value;
|
||||
|
||||
SEND_RPC(rpc("setc_character_class_id", value), setc_character_class_id(value));
|
||||
SEND_RPC(rpc("setc_entity_data_id", value), setc_entity_data_id(value));
|
||||
}
|
||||
|
||||
int Entity::getc_character_class_id() {
|
||||
int Entity::getc_entity_data_id() {
|
||||
return _c_class_id;
|
||||
}
|
||||
void Entity::setc_character_class_id(int value) {
|
||||
void Entity::setc_entity_data_id(int value) {
|
||||
_c_class_id = value;
|
||||
|
||||
if (DataManager::get_instance() != NULL) {
|
||||
setc_character_class(DataManager::get_instance()->get_character_class(value));
|
||||
setc_entity_data(DataManager::get_instance()->get_entity_data(value));
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,35 +143,35 @@ void Entity::setc_xp(int value) {
|
||||
_c_xp = value;
|
||||
}
|
||||
|
||||
Ref<CharacterClass> Entity::getc_character_class() {
|
||||
return _c_character_class;
|
||||
Ref<EntityData> Entity::getc_entity_data() {
|
||||
return _c_entity_data;
|
||||
}
|
||||
|
||||
void Entity::setc_character_class(Ref<CharacterClass> value) {
|
||||
_c_character_class = value;
|
||||
void Entity::setc_entity_data(Ref<EntityData> value) {
|
||||
_c_entity_data = value;
|
||||
|
||||
emit_signal("ccharacter_class_changed", value);
|
||||
emit_signal("centity_data_changed", value);
|
||||
}
|
||||
|
||||
Ref<CharacterClass> Entity::gets_character_class() {
|
||||
return _s_character_class;
|
||||
Ref<EntityData> Entity::gets_entity_data() {
|
||||
return _s_entity_data;
|
||||
}
|
||||
|
||||
void Entity::sets_character_class(Ref<CharacterClass> value) {
|
||||
_s_character_class = value;
|
||||
void Entity::sets_entity_data(Ref<EntityData> value) {
|
||||
_s_entity_data = value;
|
||||
|
||||
if (value.is_valid()) {
|
||||
value->setup_resources(this);
|
||||
sinitialize_stats();
|
||||
sets_character_class_id(value->get_id());
|
||||
sets_entity_data_id(value->get_id());
|
||||
}
|
||||
|
||||
if (!Engine::get_singleton()->is_editor_hint())
|
||||
set_process(value.is_valid());
|
||||
|
||||
emit_signal("scharacter_class_changed", value);
|
||||
emit_signal("sentity_data_changed", value);
|
||||
|
||||
//SEND_RPC(rpc("setc_character_class", value), setc_character_class(value));
|
||||
//SEND_RPC(rpc("setc_entity_data", value), setc_entity_data(value));
|
||||
}
|
||||
|
||||
Entity::Entity() {
|
||||
@ -276,7 +276,7 @@ Entity::Entity() {
|
||||
SET_RPC_REMOTE("csend_request_rank_decrease");
|
||||
|
||||
SET_RPC_REMOTE("setc_guid");
|
||||
SET_RPC_REMOTE("setc_character_class_id");
|
||||
SET_RPC_REMOTE("setc_entity_data_id");
|
||||
SET_RPC_REMOTE("setc_entity_type");
|
||||
SET_RPC_REMOTE("setc_player_name");
|
||||
SET_RPC_REMOTE("setc_gender");
|
||||
@ -366,11 +366,11 @@ void Entity::initialize(Ref<EntityCreateInfo> info) {
|
||||
sets_xp(info->get_xp());
|
||||
setc_xp(info->get_xp());
|
||||
|
||||
sets_character_class(info->get_character_class());
|
||||
//setc_character_class(info->get_character_class());
|
||||
sets_entity_data(info->get_entity_data());
|
||||
//setc_entity_data(info->get_entity_data());
|
||||
/*
|
||||
if (gets_character_class() != NULL) {
|
||||
Ref<StatData> sd = gets_character_class()->get_stat_data();
|
||||
if (gets_entity_data() != NULL) {
|
||||
Ref<StatData> sd = gets_entity_data()->get_stat_data();
|
||||
|
||||
for (int i = 0; i < Stat::STAT_ID_TOTAL_STATS; ++i) {
|
||||
Ref<StatDataEntry> entry = sd->get_stat_data_int(i);
|
||||
@ -388,10 +388,10 @@ void Entity::initialize(Ref<EntityCreateInfo> info) {
|
||||
}
|
||||
|
||||
void Entity::sinitialize_stats() {
|
||||
//gets_character_class()->get_stat_data()->get_stats_for_stat(_health);
|
||||
//Ref<StatDataEntry> e = gets_character_class()->get_stat_data()->get_stat_data_enum(Stat::STAT_ID_HEALTH);
|
||||
//gets_entity_data()->get_stat_data()->get_stats_for_stat(_health);
|
||||
//Ref<StatDataEntry> e = gets_entity_data()->get_stat_data()->get_stat_data_enum(Stat::STAT_ID_HEALTH);
|
||||
|
||||
Ref<CharacterClass> cc = gets_character_class();
|
||||
Ref<EntityData> cc = gets_entity_data();
|
||||
|
||||
ERR_FAIL_COND(!cc.is_valid());
|
||||
|
||||
@ -788,8 +788,8 @@ void Entity::creceive_mana_changed(int amount) {
|
||||
void Entity::son_before_aura_applied(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_after_aura_applied(data);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_after_aura_applied(data);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_aura_applied"))
|
||||
@ -805,8 +805,8 @@ void Entity::son_before_aura_applied(Ref<AuraData> data) {
|
||||
void Entity::son_after_aura_applied(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_after_aura_applied(data);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_after_aura_applied(data);
|
||||
}
|
||||
|
||||
if (has_method("_son_after_aura_applied"))
|
||||
@ -826,7 +826,7 @@ void Entity::son_after_aura_applied(Ref<AuraData> data) {
|
||||
//// Spell System ////
|
||||
|
||||
void Entity::scast_spell(int spell_id) {
|
||||
Ref<CharacterClass> cc = gets_character_class();
|
||||
Ref<EntityData> cc = gets_entity_data();
|
||||
|
||||
if (cc == NULL)
|
||||
return;
|
||||
@ -849,8 +849,8 @@ void Entity::update_auras(float delta) {
|
||||
void Entity::son_before_cast(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_before_cast(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_before_cast(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_cast"))
|
||||
@ -866,8 +866,8 @@ void Entity::son_before_cast(Ref<SpellCastInfo> info) {
|
||||
void Entity::son_before_cast_target(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_after_aura_applied(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_after_aura_applied(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_cast_target"))
|
||||
@ -883,8 +883,8 @@ void Entity::son_before_cast_target(Ref<SpellCastInfo> info) {
|
||||
void Entity::son_hit(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_hit(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_hit(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_hit"))
|
||||
@ -900,8 +900,8 @@ void Entity::son_hit(Ref<SpellDamageInfo> info) {
|
||||
void Entity::son_before_damage(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_before_damage(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_before_damage(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_damage"))
|
||||
@ -917,8 +917,8 @@ void Entity::son_before_damage(Ref<SpellDamageInfo> info) {
|
||||
void Entity::son_damage_receive(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_damage_receive(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_damage_receive(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_damage_receive"))
|
||||
@ -934,8 +934,8 @@ void Entity::son_damage_receive(Ref<SpellDamageInfo> info) {
|
||||
void Entity::son_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_dealt_damage(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_dealt_damage(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_dealt_damage"))
|
||||
@ -951,8 +951,8 @@ void Entity::son_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
void Entity::son_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_damage_dealt(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_damage_dealt(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_damage_dealt"))
|
||||
@ -969,8 +969,8 @@ void Entity::son_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
void Entity::son_before_heal(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_before_heal(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_before_heal(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_heal"))
|
||||
@ -986,8 +986,8 @@ void Entity::son_before_heal(Ref<SpellHealInfo> info) {
|
||||
void Entity::son_heal_receive(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_heal_receive(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_heal_receive(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_heal_receive"))
|
||||
@ -1003,8 +1003,8 @@ void Entity::son_heal_receive(Ref<SpellHealInfo> info) {
|
||||
void Entity::son_dealt_heal(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_dealt_heal(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_dealt_heal(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_dealt_heal"))
|
||||
@ -1020,8 +1020,8 @@ void Entity::son_dealt_heal(Ref<SpellHealInfo> info) {
|
||||
void Entity::son_heal_dealt(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_heal_dealt(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_heal_dealt(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_heal_dealt"))
|
||||
@ -1078,8 +1078,8 @@ void Entity::sapply_passives_heal_deal(Ref<SpellHealInfo> info) {
|
||||
void Entity::son_cast_finished(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cast_finished(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cast_finished(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_cast_finished"))
|
||||
@ -1095,8 +1095,8 @@ void Entity::son_cast_finished(Ref<SpellCastInfo> info) {
|
||||
void Entity::son_cast_started(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cast_started(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cast_started(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_cast_started"))
|
||||
@ -1112,8 +1112,8 @@ void Entity::son_cast_started(Ref<SpellCastInfo> info) {
|
||||
void Entity::son_cast_failed(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cast_failed(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cast_failed(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_cast_failed"))
|
||||
@ -1129,8 +1129,8 @@ void Entity::son_cast_failed(Ref<SpellCastInfo> info) {
|
||||
void Entity::son_cast_finished_target(Ref<SpellCastInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cast_finished_target(info);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cast_finished_target(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_cast_finished_target"))
|
||||
@ -1144,8 +1144,8 @@ void Entity::son_cast_finished_target(Ref<SpellCastInfo> info) {
|
||||
}
|
||||
|
||||
void Entity::son_death() {
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_death(this);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_death(this);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
@ -1161,8 +1161,8 @@ void Entity::son_death() {
|
||||
void Entity::son_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cooldown_added(cooldown);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cooldown_added(cooldown);
|
||||
}
|
||||
|
||||
if (has_method("_son_cooldown_added"))
|
||||
@ -1177,8 +1177,8 @@ void Entity::son_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
void Entity::son_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_cooldown_removed(cooldown);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_cooldown_removed(cooldown);
|
||||
}
|
||||
|
||||
if (has_method("_son_cooldown_removed"))
|
||||
@ -1194,8 +1194,8 @@ void Entity::son_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
void Entity::son_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_category_cooldown_added(category_cooldown);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_category_cooldown_added(category_cooldown);
|
||||
}
|
||||
|
||||
if (has_method("_son_category_cooldown_added"))
|
||||
@ -1210,8 +1210,8 @@ void Entity::son_category_cooldown_added(Ref<CategoryCooldown> category_cooldown
|
||||
void Entity::son_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_category_cooldown_removed(category_cooldown);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_category_cooldown_removed(category_cooldown);
|
||||
}
|
||||
|
||||
if (has_method("_son_category_cooldown_removed"))
|
||||
@ -1225,8 +1225,8 @@ void Entity::son_category_cooldown_removed(Ref<CategoryCooldown> category_cooldo
|
||||
}
|
||||
|
||||
void Entity::son_gcd_started() {
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_gcd_started(this, _s_gcd);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_gcd_started(this, _s_gcd);
|
||||
}
|
||||
|
||||
if (has_method("_son_gcd_started"))
|
||||
@ -1239,8 +1239,8 @@ void Entity::son_gcd_started() {
|
||||
}
|
||||
}
|
||||
void Entity::son_gcd_finished() {
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->son_gcd_finished(this);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_gcd_finished(this);
|
||||
}
|
||||
|
||||
if (has_method("_son_gcd_finished"))
|
||||
@ -1253,8 +1253,8 @@ void Entity::son_gcd_finished() {
|
||||
}
|
||||
}
|
||||
void Entity::con_gcd_started() {
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_gcd_started(this, _c_gcd);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_gcd_started(this, _c_gcd);
|
||||
}
|
||||
|
||||
if (has_method("_con_gcd_started"))
|
||||
@ -1267,8 +1267,8 @@ void Entity::con_gcd_started() {
|
||||
}
|
||||
}
|
||||
void Entity::con_gcd_finished() {
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_gcd_finished(this);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_gcd_finished(this);
|
||||
}
|
||||
|
||||
if (has_method("_con_gcd_finished"))
|
||||
@ -1430,8 +1430,8 @@ void Entity::cremove_aura(Ref<AuraData> aura) {
|
||||
if (removed) {
|
||||
aura->get_aura()->con_aura_removed(aura);
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_aura_removed(aura);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_aura_removed(aura);
|
||||
}
|
||||
|
||||
if (has_method("_con_aura_removed"))
|
||||
@ -1453,8 +1453,8 @@ void Entity::cremove_aura_exact(Ref<AuraData> aura) {
|
||||
}
|
||||
}
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_aura_removed(aura);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_aura_removed(aura);
|
||||
}
|
||||
|
||||
if (has_method("_con_aura_removed"))
|
||||
@ -1475,8 +1475,8 @@ void Entity::cremove_aura_dispelled(Ref<AuraData> aura) {
|
||||
}
|
||||
}
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_aura_removed(aura);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_aura_removed(aura);
|
||||
}
|
||||
|
||||
if (has_method("_con_aura_removed"))
|
||||
@ -1506,8 +1506,8 @@ void Entity::cremove_aura_expired(Ref<AuraData> aura) {
|
||||
}
|
||||
}
|
||||
|
||||
if (_s_character_class.is_valid()) {
|
||||
_s_character_class->con_aura_removed(aura);
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_aura_removed(aura);
|
||||
}
|
||||
|
||||
if (has_method("_con_aura_removed"))
|
||||
@ -1571,8 +1571,8 @@ void Entity::con_cast_failed(Ref<SpellCastInfo> info) {
|
||||
|
||||
info->get_spell()->con_spell_cast_failed(info);
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cast_failed(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cast_failed(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1590,8 +1590,8 @@ void Entity::con_cast_started(Ref<SpellCastInfo> info) {
|
||||
|
||||
info->get_spell()->con_spell_cast_started(info);
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cast_started(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cast_started(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1609,8 +1609,8 @@ void Entity::con_cast_state_changed(Ref<SpellCastInfo> info) {
|
||||
|
||||
//info->get_spell()->con_spell_cast_(info);
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cast_state_changed(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cast_state_changed(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1628,8 +1628,8 @@ void Entity::con_cast_finished(Ref<SpellCastInfo> info) {
|
||||
|
||||
info->get_spell()->con_spell_cast_success(info);
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cast_finished(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cast_finished(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1647,8 +1647,8 @@ void Entity::con_spell_cast_success(Ref<SpellCastInfo> info) {
|
||||
|
||||
info->get_spell()->con_spell_cast_success(info);
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_spell_cast_success(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_spell_cast_success(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1662,8 +1662,8 @@ void Entity::con_spell_cast_success(Ref<SpellCastInfo> info) {
|
||||
}
|
||||
|
||||
void Entity::con_death() {
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_death(this);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_death(this);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1679,8 +1679,8 @@ void Entity::con_death() {
|
||||
void Entity::con_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cooldown_added(cooldown);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cooldown_added(cooldown);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1695,8 +1695,8 @@ void Entity::con_cooldown_added(Ref<Cooldown> cooldown) {
|
||||
void Entity::con_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
ERR_FAIL_COND(!cooldown.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_cooldown_removed(cooldown);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_cooldown_removed(cooldown);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1711,8 +1711,8 @@ void Entity::con_cooldown_removed(Ref<Cooldown> cooldown) {
|
||||
void Entity::con_category_cooldown_added(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_category_cooldown_added(category_cooldown);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_category_cooldown_added(category_cooldown);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1727,8 +1727,8 @@ void Entity::con_category_cooldown_added(Ref<CategoryCooldown> category_cooldown
|
||||
void Entity::con_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown) {
|
||||
ERR_FAIL_COND(!category_cooldown.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_category_cooldown_removed(category_cooldown);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_category_cooldown_removed(category_cooldown);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1744,8 +1744,8 @@ void Entity::con_category_cooldown_removed(Ref<CategoryCooldown> category_cooldo
|
||||
void Entity::con_aura_added(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_aura_added(data);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_aura_added(data);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1761,8 +1761,8 @@ void Entity::con_aura_added(Ref<AuraData> data) {
|
||||
void Entity::con_aura_removed(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_aura_removed(data);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_aura_removed(data);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1778,8 +1778,8 @@ void Entity::con_aura_removed(Ref<AuraData> data) {
|
||||
void Entity::con_aura_refresh(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_aura_refresh(data);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_aura_refresh(data);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1795,8 +1795,8 @@ void Entity::con_aura_refresh(Ref<AuraData> data) {
|
||||
void Entity::con_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_damage_dealt(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_damage_dealt(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1815,8 +1815,8 @@ void Entity::con_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
void Entity::con_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_dealt_damage(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_dealt_damage(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1835,8 +1835,8 @@ void Entity::con_dealt_damage(Ref<SpellDamageInfo> info) {
|
||||
void Entity::con_heal_dealt(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_heal_dealt(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_heal_dealt(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -1855,8 +1855,8 @@ void Entity::con_heal_dealt(Ref<SpellHealInfo> info) {
|
||||
void Entity::con_dealt_heal(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_c_character_class.is_valid()) {
|
||||
_c_character_class->con_dealt_heal(info);
|
||||
if (_c_entity_data.is_valid()) {
|
||||
_c_entity_data->con_dealt_heal(info);
|
||||
}
|
||||
|
||||
for (int i = 0; i < _c_auras.size(); ++i) {
|
||||
@ -2713,8 +2713,8 @@ void Entity::_bind_methods() {
|
||||
|
||||
ADD_SIGNAL(MethodInfo("con_heal_dealt", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("scharacter_class_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
ADD_SIGNAL(MethodInfo("ccharacter_class_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
ADD_SIGNAL(MethodInfo("sentity_data_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
ADD_SIGNAL(MethodInfo("centity_data_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("sdied", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
ADD_SIGNAL(MethodInfo("cdied", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
@ -2906,13 +2906,13 @@ void Entity::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_character_skeleton_path", "value"), &Entity::set_character_skeleton_path);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "character_skeleton_path"), "set_character_skeleton_path", "get_character_skeleton_path");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("gets_character_class_id"), &Entity::gets_character_class_id);
|
||||
ClassDB::bind_method(D_METHOD("sets_character_class_id", "value"), &Entity::sets_character_class_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "characterclass_id"), "sets_character_class_id", "gets_character_class_id");
|
||||
ClassDB::bind_method(D_METHOD("gets_entity_data_id"), &Entity::gets_entity_data_id);
|
||||
ClassDB::bind_method(D_METHOD("sets_entity_data_id", "value"), &Entity::sets_entity_data_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "characterclass_id"), "sets_entity_data_id", "gets_entity_data_id");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("getc_character_class_id"), &Entity::getc_character_class_id);
|
||||
ClassDB::bind_method(D_METHOD("setc_character_class_id", "value"), &Entity::setc_character_class_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "character_class_id"), "setc_character_class_id", "getc_character_class_id");
|
||||
ClassDB::bind_method(D_METHOD("getc_entity_data_id"), &Entity::getc_entity_data_id);
|
||||
ClassDB::bind_method(D_METHOD("setc_entity_data_id", "value"), &Entity::setc_entity_data_id);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "entity_data_id"), "setc_entity_data_id", "getc_entity_data_id");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("gets_entity_type"), &Entity::gets_entity_type);
|
||||
ClassDB::bind_method(D_METHOD("sets_entity_type", "value"), &Entity::sets_entity_type);
|
||||
@ -2946,13 +2946,13 @@ void Entity::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("setc_xp", "value"), &Entity::setc_xp);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "c_xp"), "setc_xp", "getc_xp");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("gets_character_class"), &Entity::gets_character_class);
|
||||
ClassDB::bind_method(D_METHOD("sets_character_class", "value"), &Entity::sets_character_class);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "s_character_class", PROPERTY_HINT_RESOURCE_TYPE, "CharacterClass"), "sets_character_class", "gets_character_class");
|
||||
ClassDB::bind_method(D_METHOD("gets_entity_data"), &Entity::gets_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("sets_entity_data", "value"), &Entity::sets_entity_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "s_entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "sets_entity_data", "gets_entity_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("getc_character_class"), &Entity::getc_character_class);
|
||||
ClassDB::bind_method(D_METHOD("setc_character_class", "value"), &Entity::setc_character_class);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "c_character_class", PROPERTY_HINT_RESOURCE_TYPE, "CharacterClass"), "setc_character_class", "getc_character_class");
|
||||
ClassDB::bind_method(D_METHOD("getc_entity_data"), &Entity::getc_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("setc_entity_data", "value"), &Entity::setc_entity_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "c_entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "setc_entity_data", "getc_entity_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("initialize", "entity_create_info"), &Entity::initialize);
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
#include "../data/character_class.h"
|
||||
#include "./data/entity_data.h"
|
||||
#include "../data/craft_data_attribute.h"
|
||||
#include "../data/spell.h"
|
||||
#include "../data/xp_data.h"
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
#include "../inventory/bag.h"
|
||||
|
||||
class CharacterClass;
|
||||
class EntityData;
|
||||
class AuraData;
|
||||
class Spell;
|
||||
class SpellDamageInfo;
|
||||
@ -132,11 +132,11 @@ public:
|
||||
int gets_guid();
|
||||
void sets_guid(int value);
|
||||
|
||||
int gets_character_class_id();
|
||||
void sets_character_class_id(int value);
|
||||
int gets_entity_data_id();
|
||||
void sets_entity_data_id(int value);
|
||||
|
||||
int getc_character_class_id();
|
||||
void setc_character_class_id(int value);
|
||||
int getc_entity_data_id();
|
||||
void setc_entity_data_id(int value);
|
||||
|
||||
EntityEnums::EntityType gets_entity_type();
|
||||
void sets_entity_type(EntityEnums::EntityType value);
|
||||
@ -168,11 +168,11 @@ public:
|
||||
int getc_xp();
|
||||
void setc_xp(int value);
|
||||
|
||||
Ref<CharacterClass> getc_character_class();
|
||||
void setc_character_class(Ref<CharacterClass> value);
|
||||
Ref<EntityData> getc_entity_data();
|
||||
void setc_entity_data(Ref<EntityData> value);
|
||||
|
||||
Ref<CharacterClass> gets_character_class();
|
||||
void sets_character_class(Ref<CharacterClass> value);
|
||||
Ref<EntityData> gets_entity_data();
|
||||
void sets_entity_data(Ref<EntityData> value);
|
||||
|
||||
void sinitialize_stats();
|
||||
|
||||
@ -494,8 +494,8 @@ private:
|
||||
int _s_xp;
|
||||
int _c_xp;
|
||||
|
||||
Ref<CharacterClass> _s_character_class;
|
||||
Ref<CharacterClass> _c_character_class;
|
||||
Ref<EntityData> _s_entity_data;
|
||||
Ref<EntityData> _c_entity_data;
|
||||
|
||||
int _s_send_flag;
|
||||
|
||||
|
@ -6,15 +6,19 @@
|
||||
#include "data/aura.h"
|
||||
#include "data/aura_stat_attribute.h"
|
||||
#include "data/data_manager.h"
|
||||
#include "data/character_class.h"
|
||||
#include "data/talent.h"
|
||||
#include "data/talent_row_data.h"
|
||||
#include "data/character_spec.h"
|
||||
#include "data/xp_data.h"
|
||||
#include "data/item_stat_modifier.h"
|
||||
#include "data/item_template_stat_modifier.h"
|
||||
#include "data/spell_cooldown_manipulation_data.h"
|
||||
|
||||
#include "entities/data/entity_data.h"
|
||||
#include "entities/data/mob_data.h"
|
||||
#include "entities/data/player_character_data.h"
|
||||
|
||||
#include "entities/data/talent_row_data.h"
|
||||
#include "entities/data/character_spec.h"
|
||||
|
||||
#include "data/item_visual.h"
|
||||
#include "data/item_visual_entry.h"
|
||||
|
||||
@ -73,9 +77,6 @@
|
||||
#include "loot/loot_data_item.h"
|
||||
#include "loot/loot_data_container.h"
|
||||
|
||||
#include "data/mob_data.h"
|
||||
#include "data/player_character_data.h"
|
||||
|
||||
#include "data/spell_effect_visual.h"
|
||||
#include "data/spell_effect_visual_simple.h"
|
||||
#include "data/spell_projectile_data.h"
|
||||
@ -102,11 +103,14 @@ void register_entity_spell_system_types() {
|
||||
ClassDB::register_class<CraftDataAttributeHelper>();
|
||||
ClassDB::register_class<CraftDataAttribute>();
|
||||
|
||||
ClassDB::register_class<CharacterClass>();
|
||||
ClassDB::register_class<Spell>();
|
||||
ClassDB::register_class<Aura>();
|
||||
ClassDB::register_class<AuraStatAttribute>();
|
||||
|
||||
ClassDB::register_class<EntityData>();
|
||||
ClassDB::register_class<MobData>();
|
||||
ClassDB::register_class<PlayerCharacterData>();
|
||||
|
||||
ClassDB::register_class<XPData>();
|
||||
ClassDB::register_class<ItemStatModifier>();
|
||||
ClassDB::register_class<ItemTemplateStatModifier>();
|
||||
@ -179,8 +183,6 @@ void register_entity_spell_system_types() {
|
||||
ClassDB::register_class<LootDataItem>();
|
||||
ClassDB::register_class<LootDataContainter>();
|
||||
|
||||
ClassDB::register_class<MobData>();
|
||||
ClassDB::register_class<PlayerCharacterData>();
|
||||
|
||||
ClassDB::register_class<SpellEffectVisual>();
|
||||
ClassDB::register_class<SpellEffectVisualSimple>();
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "core/reference.h"
|
||||
#include "core/ustring.h"
|
||||
#include "../entity_enums.h"
|
||||
#include "../data/character_class.h"
|
||||
#include "../entities/data/entity_data.h"
|
||||
|
||||
class EntityCreateInfo : public Reference {
|
||||
GDCLASS(EntityCreateInfo, Reference);
|
||||
@ -25,8 +25,8 @@ public:
|
||||
int get_xp() { return _xp; }
|
||||
void set_xp(int value) { _xp = value; }
|
||||
|
||||
Ref<CharacterClass> get_character_class() { return _character_class; }
|
||||
void set_character_class(Ref<CharacterClass> value) { _character_class = value; }
|
||||
Ref<EntityData> get_entity_data() { return _entity_data; }
|
||||
void set_entity_data(Ref<EntityData> value) { _entity_data = value; }
|
||||
|
||||
protected:
|
||||
static void _bind_methods() {
|
||||
@ -46,9 +46,9 @@ protected:
|
||||
ClassDB::bind_method(D_METHOD("set_xp", "value"), &EntityCreateInfo::set_xp);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "xp"), "set_xp", "get_xp");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_character_class"), &EntityCreateInfo::get_character_class);
|
||||
ClassDB::bind_method(D_METHOD("set_character_class", "value"), &EntityCreateInfo::set_character_class);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "character_class", PROPERTY_HINT_RESOURCE_TYPE, "CharacterClass"), "set_character_class", "get_character_class");
|
||||
ClassDB::bind_method(D_METHOD("get_entity_data"), &EntityCreateInfo::get_entity_data);
|
||||
ClassDB::bind_method(D_METHOD("set_entity_data", "value"), &EntityCreateInfo::set_entity_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "set_entity_data", "get_entity_data");
|
||||
}
|
||||
|
||||
private:
|
||||
@ -58,7 +58,7 @@ private:
|
||||
int _level;
|
||||
int _xp;
|
||||
|
||||
Ref<CharacterClass> _character_class;
|
||||
Ref<EntityData> _entity_data;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user