diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-01-01 11:46:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-01 11:46:14 +0100 |
commit | defdb5761d20739a0a469507d55fa75e06aa26c3 (patch) | |
tree | f651ab5501dd2e7df8ae3a1edc2762df6e51ffd6 /modules/mono/csharp_script.h | |
parent | d6a1125254787681b6373e449c93d8ce15811a69 (diff) | |
parent | fe391393d4f907f110875e6571d6ba20a102ddee (diff) |
Merge pull request #15232 from neikeq/issue-15138-and-more
Mono fixes
Diffstat (limited to 'modules/mono/csharp_script.h')
-rw-r--r-- | modules/mono/csharp_script.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h index 255665b495..1a07cf6835 100644 --- a/modules/mono/csharp_script.h +++ b/modules/mono/csharp_script.h @@ -167,7 +167,7 @@ class CSharpInstance : public ScriptInstance { bool base_ref; bool ref_dying; - void _ml_call_reversed(GDMonoClass *klass, const StringName &p_method, const Variant **p_args, int p_argcount); + void _ml_call_reversed(MonoObject *p_mono_object, GDMonoClass *klass, const StringName &p_method, const Variant **p_args, int p_argcount); void _reference_owner_unsafe(); void _unreference_owner_unsafe(); @@ -176,6 +176,8 @@ class CSharpInstance : public ScriptInstance { friend void GDMonoInternals::tie_managed_to_unmanaged(MonoObject *, Object *); static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<MonoGCHandle> &p_gchandle); + void _call_multilevel(MonoObject *p_mono_object, const StringName &p_method, const Variant **p_args, int p_argcount); + public: MonoObject *get_mono_object() const; @@ -192,13 +194,14 @@ public: void mono_object_disposed(); - void refcount_incremented(); - bool refcount_decremented(); + virtual void refcount_incremented(); + virtual bool refcount_decremented(); - RPCMode get_rpc_mode(const StringName &p_method) const; - RPCMode get_rset_mode(const StringName &p_variable) const; + virtual RPCMode get_rpc_mode(const StringName &p_method) const; + virtual RPCMode get_rset_mode(const StringName &p_variable) const; virtual void notification(int p_notification); + void call_notification_no_check(MonoObject *p_mono_object, int p_notification); virtual Ref<Script> get_script() const; @@ -215,6 +218,8 @@ class CSharpLanguage : public ScriptLanguage { static CSharpLanguage *singleton; + bool finalizing; + GDMono *gdmono; SelfList<CSharpScript>::List script_list; |