diff options
| author | Paul Joannon | 2018-01-18 23:27:43 +0100 |
|---|---|---|
| committer | Hein-Pieter van Braam | 2018-02-19 22:39:51 +0100 |
| commit | 9cba5ef772e8a4e354bef939a71565d22e304470 (patch) | |
| tree | 884f959a8e53d5c9188d9542bf106b2dbd888f06 /modules/mono/csharp_script.h | |
| parent | 416cd9c8b831901393d11c51387a88f8376b68ef (diff) | |
| download | godot-9cba5ef772e8a4e354bef939a71565d22e304470.tar.gz godot-9cba5ef772e8a4e354bef939a71565d22e304470.tar.zst godot-9cba5ef772e8a4e354bef939a71565d22e304470.zip | |
implement signal related methods in csharp_script so signals can be used with emit
(cherry picked from commit cfbd7fd21e6630cc513ac3a36849c0f796d142c3)
Diffstat (limited to 'modules/mono/csharp_script.h')
| -rw-r--r-- | modules/mono/csharp_script.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h index 75ed77073..ffb1d2e0f 100644 --- a/modules/mono/csharp_script.h +++ b/modules/mono/csharp_script.h @@ -85,13 +85,18 @@ class CSharpScript : public Script { SelfList<CSharpScript> script_list; + struct Argument { + String name; + Variant::Type type; + }; + #ifdef TOOLS_ENABLED List<PropertyInfo> exported_members_cache; // members_cache Map<StringName, Variant> exported_members_defval_cache; // member_default_values_cache Set<PlaceHolderScriptInstance *> placeholders; bool source_changed_cache; bool exports_invalidated; - Map<StringName, Vector<StringName> > _signals; + Map<StringName, Vector<Argument> > _signals; bool signals_invalidated; void _update_exports_values(Map<StringName, Variant> &values, List<PropertyInfo> &propnames); @@ -107,6 +112,7 @@ class CSharpScript : public Script { void _clear(); bool _update_signals(); + bool _get_signal(GDMonoClass *p_class, GDMonoClass *p_delegate, Vector<Argument> ¶ms); bool _update_exports(); #ifdef TOOLS_ENABLED @@ -141,8 +147,8 @@ public: virtual Error reload(bool p_keep_state = false); - /* TODO */ virtual bool has_script_signal(const StringName &p_signal) const { return false; } - /* TODO */ virtual void get_script_signal_list(List<MethodInfo> *r_signals) const {} + virtual bool has_script_signal(const StringName &p_signal) const; + virtual void get_script_signal_list(List<MethodInfo> *r_signals) const; virtual void update_signals(); /* TODO */ virtual bool get_property_default_value(const StringName &p_property, Variant &r_value) const; |
