|
@@ -0,0 +1,49 @@
|
|
|
+using Godot;
|
|
|
+using Godot.NativeInterop;
|
|
|
+
|
|
|
+partial class AbstractGenericNode<T>
|
|
|
+{
|
|
|
+#pragma warning disable CS0109 // Disable warning about redundant 'new' keyword
|
|
|
+ /// <summary>
|
|
|
+ /// Cached StringNames for the properties and fields contained in this class, for fast lookup.
|
|
|
+ /// </summary>
|
|
|
+ public new class PropertyName : global::Godot.Node.PropertyName {
|
|
|
+ /// <summary>
|
|
|
+ /// Cached name for the 'MyArray' property.
|
|
|
+ /// </summary>
|
|
|
+ public new static readonly global::Godot.StringName MyArray = "MyArray";
|
|
|
+ }
|
|
|
+ /// <inheritdoc/>
|
|
|
+ [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
|
|
|
+ protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
|
|
|
+ {
|
|
|
+ if (name == PropertyName.MyArray) {
|
|
|
+ this.MyArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<T>(value);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return base.SetGodotClassPropertyValue(name, value);
|
|
|
+ }
|
|
|
+ /// <inheritdoc/>
|
|
|
+ [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
|
|
|
+ protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
|
|
|
+ {
|
|
|
+ if (name == PropertyName.MyArray) {
|
|
|
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.MyArray);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return base.GetGodotClassPropertyValue(name, out value);
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// Get the property information for all the properties declared in this class.
|
|
|
+ /// This method is used by Godot to register the available properties in the editor.
|
|
|
+ /// Do not call this method.
|
|
|
+ /// </summary>
|
|
|
+ [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
|
|
|
+ internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
|
|
|
+ {
|
|
|
+ var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
|
|
|
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.MyArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
|
|
|
+ return properties;
|
|
|
+ }
|
|
|
+#pragma warning restore CS0109
|
|
|
+}
|