mirror of
https://github.com/Mestima/GodotHook.git
synced 2025-05-03 14:50:27 +00:00
fixed bug when hook.Call calls a hook more than 1 time
This commit is contained in:
parent
bab2506cc7
commit
805257da76
26
hook.cpp
26
hook.cpp
@ -21,22 +21,20 @@ void Hook::Call(String event, Array args = Array(), bool defer = false) {
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < table.size(); i++) {
|
||||
Dictionary tmp = table.get(event, Dictionary());
|
||||
if (!tmp.is_empty()) {
|
||||
Array keys = tmp.keys();
|
||||
for (int key_i = 0; key_i < keys.size(); key_i++) {
|
||||
Callable function = tmp[keys[key_i]];
|
||||
if (!defer) {
|
||||
Callable::CallError call_error;
|
||||
function.callp(argptrs, args.size(), Variant(), call_error);
|
||||
} else {
|
||||
function.call_deferredp(argptrs, args.size());
|
||||
}
|
||||
Dictionary tmp = table.get(event, Dictionary());
|
||||
if (!tmp.is_empty()) {
|
||||
Array keys = tmp.keys();
|
||||
for (int key_i = 0; key_i < keys.size(); key_i++) {
|
||||
Callable function = tmp[keys[key_i]];
|
||||
if (!defer) {
|
||||
Callable::CallError call_error;
|
||||
function.callp(argptrs, args.size(), Variant(), call_error);
|
||||
} else {
|
||||
function.call_deferredp(argptrs, args.size());
|
||||
}
|
||||
} else {
|
||||
ERR_PRINT("Hook event '" + event + "' cannot be found or empty.");
|
||||
}
|
||||
} else {
|
||||
ERR_PRINT("Hook event '" + event + "' cannot be found or empty.");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user