mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-05-09 22:41:39 +02:00
Added aura added, and removed signals.
This commit is contained in:
parent
5e476306a2
commit
d8c40b6b04
@ -1804,13 +1804,37 @@ void Entity::just_remove_aura(int auraId) {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Entity::remove_aura(Ref<AuraData> data) {
|
||||||
|
for (int i = 0; i < _s_auras->size(); i++) {
|
||||||
|
if (_s_auras->get(i) == data) {
|
||||||
|
_s_auras->remove(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < _c_auras->size(); i++) {
|
||||||
|
if (_c_auras->get(i) == data) {
|
||||||
|
_c_auras->remove(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emit_signal("saura_removed", data);
|
||||||
|
emit_signal("caura_removed", data);
|
||||||
|
}
|
||||||
|
|
||||||
void Entity::add_aura(Ref<AuraData> data) {
|
void Entity::add_aura(Ref<AuraData> data) {
|
||||||
son_before_aura_applied(data);
|
son_before_aura_applied(data);
|
||||||
|
|
||||||
data->set_owner(this);
|
data->set_owner(this);
|
||||||
|
|
||||||
_s_auras->push_back(data);
|
_s_auras->push_back(data);
|
||||||
|
_c_auras->push_back(data);
|
||||||
|
|
||||||
son_after_aura_applied(data);
|
son_after_aura_applied(data);
|
||||||
|
|
||||||
|
emit_signal("saura_added", data);
|
||||||
|
emit_signal("caura_added", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entity::remove_auras_with_group(int auraGroup) {
|
void Entity::remove_auras_with_group(int auraGroup) {
|
||||||
@ -3444,6 +3468,12 @@ void Entity::_bind_methods() {
|
|||||||
ADD_SIGNAL(MethodInfo("scharacter_class_changed", PropertyInfo(Variant::OBJECT, "Entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
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("ccharacter_class_changed", PropertyInfo(Variant::OBJECT, "Entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||||
|
|
||||||
|
ADD_SIGNAL(MethodInfo("saura_added", PropertyInfo(Variant::OBJECT, "aura_data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||||
|
ADD_SIGNAL(MethodInfo("caura_added", PropertyInfo(Variant::OBJECT, "aura_data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||||
|
|
||||||
|
ADD_SIGNAL(MethodInfo("saura_removed", PropertyInfo(Variant::OBJECT, "aura_data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||||
|
ADD_SIGNAL(MethodInfo("caura_removed", PropertyInfo(Variant::OBJECT, "aura_data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||||
|
|
||||||
|
|
||||||
//// SpellCastSignals ////
|
//// SpellCastSignals ////
|
||||||
ADD_SIGNAL(MethodInfo("scast_started", PropertyInfo(Variant::OBJECT, "spell_cast_info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
ADD_SIGNAL(MethodInfo("scast_started", PropertyInfo(Variant::OBJECT, "spell_cast_info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||||
|
@ -326,6 +326,7 @@ public:
|
|||||||
|
|
||||||
//rename to remove_aura()
|
//rename to remove_aura()
|
||||||
virtual void just_remove_aura(int auraId);
|
virtual void just_remove_aura(int auraId);
|
||||||
|
virtual void remove_aura(Ref<AuraData> data);
|
||||||
virtual void add_aura(Ref<AuraData> data);
|
virtual void add_aura(Ref<AuraData> data);
|
||||||
virtual void remove_auras_with_group(int auraGroup);
|
virtual void remove_auras_with_group(int auraGroup);
|
||||||
virtual void refresh_aura(int auraId, float time);
|
virtual void refresh_aura(int auraId, float time);
|
||||||
|
Loading…
Reference in New Issue
Block a user