You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-24 15:26:15 +00:00
C#: Add DynamicGodotObject class
Expands to Object.call, Object.set and Object.get for accessing members. This means it can also access members from scripts written in other languages, like GDScript.
(cherry picked from commit bb6814aef0)
This commit is contained in:
committed by
Hein-Pieter van Braam-Stewart
parent
7851d828a2
commit
4c10a322d1
@@ -73,11 +73,39 @@ namespace Godot
|
||||
disposed = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a new <see cref="Godot.SignalAwaiter"/> awaiter configured to complete when the instance
|
||||
/// <paramref name="source"/> emits the signal specified by the <paramref name="signal"/> parameter.
|
||||
/// </summary>
|
||||
/// <param name="source">
|
||||
/// The instance the awaiter will be listening to.
|
||||
/// </param>
|
||||
/// <param name="signal">
|
||||
/// The signal the awaiter will be waiting for.
|
||||
/// </param>
|
||||
/// <example>
|
||||
/// This sample prints a message once every frame up to 100 times.
|
||||
/// <code>
|
||||
/// public override void _Ready()
|
||||
/// {
|
||||
/// for (int i = 0; i < 100; i++)
|
||||
/// {
|
||||
/// await ToSignal(GetTree(), "idle_frame");
|
||||
/// GD.Print($"Frame {i}");
|
||||
/// }
|
||||
/// }
|
||||
/// </code>
|
||||
/// </example>
|
||||
public SignalAwaiter ToSignal(Object source, string signal)
|
||||
{
|
||||
return new SignalAwaiter(source, signal, this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a new <see cref="Godot.DynamicGodotObject"/> associated with this instance.
|
||||
/// </summary>
|
||||
public dynamic DynamicObject => new DynamicGodotObject(this);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal extern static IntPtr godot_icall_Object_Ctor(Object obj);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user