mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-20 17:14:44 +01:00
Added a property for serverside auras aswell.
This commit is contained in:
parent
f7847dfafc
commit
4d7983b6fc
@ -388,11 +388,11 @@ void AuraData::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_owner"), &AuraData::get_owner);
|
||||
ClassDB::bind_method(D_METHOD("set_owner", "value"), &AuraData::set_owner_bind);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "owner", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), "set_owner", "get_owner");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "owner", PROPERTY_HINT_RESOURCE_TYPE, "Entity", 0), "set_owner", "get_owner");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("caster_get"), &AuraData::caster_get);
|
||||
ClassDB::bind_method(D_METHOD("caster_set", "value"), &AuraData::caster_set_bind);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "caster", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), "caster_set", "caster_get");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "caster", PROPERTY_HINT_RESOURCE_TYPE, "Entity", 0), "caster_set", "caster_get");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("caster_get_path"), &AuraData::caster_get_path);
|
||||
ClassDB::bind_method(D_METHOD("caster_set_path", "value"), &AuraData::caster_set_path);
|
||||
|
@ -3471,6 +3471,13 @@ Ref<AuraData> Entity::aura_getc(int index) {
|
||||
return Ref<AuraData>(_c_auras.get(index));
|
||||
}
|
||||
|
||||
Vector<Variant> Entity::sauras_get() {
|
||||
VARIANT_ARRAY_GET(_s_auras);
|
||||
}
|
||||
void Entity::sauras_set(const Vector<Variant> &data) {
|
||||
VARIANT_ARRAY_SET(data, _s_auras, AuraData);
|
||||
}
|
||||
|
||||
void Entity::moved() {
|
||||
if (has_method("_moved"))
|
||||
call("_moved");
|
||||
@ -6247,25 +6254,6 @@ bool Entity::_set(const StringName &p_name, const Variant &p_value) {
|
||||
|
||||
/*
|
||||
|
||||
//// Auras ////
|
||||
|
||||
_s_auras.clear();
|
||||
_c_auras.clear();
|
||||
|
||||
Dictionary auras = dict.get("auras", Dictionary());
|
||||
|
||||
for (int i = 0; i < auras.size(); ++i) {
|
||||
Ref<AuraData> r;
|
||||
r.instance();
|
||||
|
||||
r->from_dict(auras.get(String::num(i), Dictionary()));
|
||||
r->set_owner(this);
|
||||
r->resolve_references(this);
|
||||
|
||||
_s_auras.push_back(r);
|
||||
//_c_auras.push_back(r);
|
||||
}
|
||||
|
||||
//// Cooldowns ////
|
||||
|
||||
_s_cooldowns.clear();
|
||||
@ -6434,21 +6422,6 @@ bool Entity::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
//Ref<SpellCastInfo> _s_spell_cast_info;
|
||||
//Ref<SpellCastInfo> _c_spell_cast_info;
|
||||
|
||||
//// AuraComponent ////
|
||||
|
||||
Dictionary auras;
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
auras[i] = _s_auras.get(i)->to_dict();
|
||||
}
|
||||
|
||||
dict["auras"] = auras;
|
||||
|
||||
dict["entity_type"] = _s_entity_type;
|
||||
dict["immunity_flags"] = _s_immunity_flags;
|
||||
dict["entity_flags"] = _s_entity_flags;
|
||||
dict["entity_controller"] = _s_entity_controller;
|
||||
|
||||
//// Cooldowns ////
|
||||
|
||||
Dictionary cds;
|
||||
@ -6942,6 +6915,10 @@ void Entity::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("aura_getc_count"), &Entity::aura_getc_count);
|
||||
ClassDB::bind_method(D_METHOD("aura_getc", "index"), &Entity::aura_getc);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("sauras_get"), &Entity::sauras_get);
|
||||
ClassDB::bind_method(D_METHOD("sauras_set", "data"), &Entity::sauras_set);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "sauras", PROPERTY_HINT_NONE, "17/17:AuraData", PROPERTY_USAGE_STORAGE, "AuraData"), "sauras_set", "sauras_get");
|
||||
|
||||
//Hooks
|
||||
BIND_VMETHOD(MethodInfo("_moved"));
|
||||
ClassDB::bind_method(D_METHOD("moved"), &Entity::moved);
|
||||
|
@ -661,6 +661,9 @@ public:
|
||||
int aura_getc_count();
|
||||
Ref<AuraData> aura_getc(int index);
|
||||
|
||||
Vector<Variant> sauras_get();
|
||||
void sauras_set(const Vector<Variant> &data);
|
||||
|
||||
//Hooks
|
||||
void moved();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user