예제 #1
0
 public static object EditorShortcut(string setting)
 {
     using godot_string settingIn = Marshaling.ConvertStringToNative(setting);
     Internal.godot_icall_Globals_EditorShortcut(settingIn, out godot_variant result);
     using (result)
         return(Marshaling.ConvertVariantToManagedObject(result));
 }
예제 #2
0
        void ICollection.CopyTo(System.Array array, int index)
        {
            if (array == null)
            {
                throw new ArgumentNullException(nameof(array), "Value cannot be null.");
            }

            if (index < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(index),
                                                      "Number was less than the array's lower bound in the first dimension.");
            }

            int count = Count;

            if (array.Length < (index + count))
            {
                throw new ArgumentException(
                          "Destination array was not long enough. Check destIndex and length, and the array's lower bounds.");
            }

            unsafe
            {
                for (int i = 0; i < count; i++)
                {
                    object obj = Marshaling.ConvertVariantToManagedObject(NativeValue.DangerousSelfRef.Elements[i]);
                    array.SetValue(obj, index);
                    index++;
                }
            }
        }
예제 #3
0
 public static unsafe object EditorDef(string setting, object defaultValue, bool restartIfChanged = false)
 {
     using godot_string settingIn       = Marshaling.ConvertStringToNative(setting);
     using godot_variant defaultValueIn = Marshaling.ConvertManagedObjectToVariant(defaultValue);
     Internal.godot_icall_Globals_EditorDef(settingIn, defaultValueIn, restartIfChanged, out godot_variant result);
     using (result)
         return(Marshaling.ConvertVariantToManagedObject(result));
 }