You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.7 KiB
C#

#nullable enable
using Godot;
using System;
using System.ComponentModel;
using System.Linq;
using VariantGArray = Godot.Collections.Array<Godot.Variant>;
namespace GodotInk;
public partial class InkStory
{
#pragma warning disable IDE0022
/// <summary>
/// This method is here for GDScript compatibility. Use <see cref="CanContinue" /> instead.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool GetCanContinue() => CanContinue;
/// <summary>
/// This method is here for GDScript compatibility. Use <see cref="CurrentChoices" /> instead.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public Godot.Collections.Array<InkChoice> GetCurrentChoices() => new(CurrentChoices);
/// <summary>
/// This method is here for GDScript compatibility. Use <see cref="CurrentTags" /> instead.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public Godot.Collections.Array<string> GetCurrentTags() => new(CurrentTags);
/// <summary>
/// This method is here for GDScript compatibility. Use <see cref="CurrentText" /> instead.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public string GetCurrentText() => CurrentText;
#pragma warning restore IDE0022
[EditorBrowsable(EditorBrowsableState.Never)]
public void ChoosePathString(string path)
{
ChoosePathString(path, true, Array.Empty<Variant>());
}
[EditorBrowsable(EditorBrowsableState.Never)]
public void ChoosePathString(string path, bool resetCallstack)
{
ChoosePathString(path, resetCallstack, Array.Empty<Variant>());
}
[EditorBrowsable(EditorBrowsableState.Never)]
public void ChoosePathString(string path, VariantGArray arguments)
{
ChoosePathString(path, true, arguments.ToArray());
}
[EditorBrowsable(EditorBrowsableState.Never)]
public void ChoosePathString(string path, bool resetCallstack, VariantGArray arguments)
{
ChoosePathString(path, resetCallstack, arguments.ToArray());
}
/// <summary>
/// Evaluates a function defined in ink.
/// </summary>
/// <param name="functionName">The name of the function as declared in ink.</param>
/// <returns>
/// The return value as returned from the ink function with `~ return myValue`, or a nil
/// variant if nothing is returned.
/// </returns>
[EditorBrowsable(EditorBrowsableState.Never)]
public Variant EvaluateFunction(string functionName)
{
return EvaluateFunction(functionName, Array.Empty<Variant>());
}
[EditorBrowsable(EditorBrowsableState.Never)]
public void BindExternalFunction(string funcName, Callable callable)
{
BindExternalFunction(funcName, callable, false);
}
}