64 lines
3.1 KiB
C#
64 lines
3.1 KiB
C#
using Godot;
|
|
using Godot.NativeInterop;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace GodotTools.Internals
|
|
{
|
|
public static class Globals
|
|
{
|
|
public static float EditorScale => Internal.godot_icall_Globals_EditorScale();
|
|
|
|
// ReSharper disable once UnusedMethodReturnValue.Global
|
|
public static Variant GlobalDef(string setting, Variant defaultValue, bool restartIfChanged = false)
|
|
{
|
|
using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
|
|
using godot_variant defaultValueIn = defaultValue.CopyNativeVariant();
|
|
Internal.godot_icall_Globals_GlobalDef(settingIn, defaultValueIn, restartIfChanged,
|
|
out godot_variant result);
|
|
return Variant.CreateTakingOwnershipOfDisposableValue(result);
|
|
}
|
|
|
|
// ReSharper disable once UnusedMethodReturnValue.Global
|
|
public static Variant EditorDef(string setting, Variant defaultValue, bool restartIfChanged = false)
|
|
{
|
|
using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
|
|
using godot_variant defaultValueIn = defaultValue.CopyNativeVariant();
|
|
Internal.godot_icall_Globals_EditorDef(settingIn, defaultValueIn, restartIfChanged,
|
|
out godot_variant result);
|
|
return Variant.CreateTakingOwnershipOfDisposableValue(result);
|
|
}
|
|
|
|
public static Shortcut EditorDefShortcut(string setting, string name, Key keycode = Key.None, bool physical = false)
|
|
{
|
|
using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
|
|
using godot_string nameIn = Marshaling.ConvertStringToNative(name);
|
|
Internal.godot_icall_Globals_EditorDefShortcut(settingIn, nameIn, keycode, physical.ToGodotBool(), out godot_variant result);
|
|
return (Shortcut)Variant.CreateTakingOwnershipOfDisposableValue(result);
|
|
}
|
|
|
|
public static Shortcut EditorGetShortcut(string setting)
|
|
{
|
|
using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
|
|
Internal.godot_icall_Globals_EditorGetShortcut(settingIn, out godot_variant result);
|
|
return (Shortcut)Variant.CreateTakingOwnershipOfDisposableValue(result);
|
|
}
|
|
|
|
public static void EditorShortcutOverride(string setting, string feature, Key keycode = Key.None, bool physical = false)
|
|
{
|
|
using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
|
|
using godot_string featureIn = Marshaling.ConvertStringToNative(feature);
|
|
Internal.godot_icall_Globals_EditorShortcutOverride(settingIn, featureIn, keycode, physical.ToGodotBool());
|
|
}
|
|
|
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
|
public static string TTR(this string text)
|
|
{
|
|
using godot_string textIn = Marshaling.ConvertStringToNative(text);
|
|
Internal.godot_icall_Globals_TTR(textIn, out godot_string dest);
|
|
using (dest)
|
|
return Marshaling.ConvertStringToManaged(dest);
|
|
}
|
|
}
|
|
}
|