diff options
author | Paul Joannon <hello@pauljoannon.com> | 2018-01-18 23:27:43 +0100 |
---|---|---|
committer | Paul Joannon <hello@pauljoannon.com> | 2018-02-17 19:37:02 +0100 |
commit | cfbd7fd21e6630cc513ac3a36849c0f796d142c3 (patch) | |
tree | 60d5f142ec6c1a989f26223d16ce2a327e016641 /modules/mono/csharp_script.h | |
parent | efd52cd1725145dc9c8038477dbe133b23868e99 (diff) | |
download | redot-engine-cfbd7fd21e6630cc513ac3a36849c0f796d142c3.tar.gz |
implement signal related methods in csharp_script so signals can be used with emit
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 75ed770739..ffb1d2e0f4 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; |