Types
GodotClassMeta = object virtualMethods*: Table[StringName, ClassCallVirtual] className*: StringName callbacks*: InstanceBindingCallbacks rpcConfigs*: Table[StringName, Variant]
GodotEnumMeta = object className*: StringName hintString*: String
HeapPropertyInfo = object name*: ref StringName className*: ref StringName hint*: PropertyHint hintString*: ref String usage*: set[PropertyUsageFlags]
Procs
proc callbacks(T: typedesc[SomeClass]): var InstanceBindingCallbacks
proc className(E: typedesc[enum]): StringName
proc className(T: typedesc[SomeClass]): var StringName
proc className[T: not (SomeClass | GdRef | enum)](_: typedesc[T]): var StringName
proc Meta(T: typedesc[SomeClass]): var GodotClassMeta
proc Meta[T: enum](_: typedesc[T | set[T]]): var GodotEnumMeta
proc propertyInfo(typ: VariantType; name = StringName(); class_name = StringName(); hint: PropertyHint = propertyHint_None; hint_string = String(); usage: set[PropertyUsageFlags] = PropertyUsageFlags.propertyUsageDefault): HeapPropertyInfo {. ...raises: [], tags: [], forbids: [].}
proc propertyInfo[T: SomeProperty](_: typedesc[T]; name = StringName(); hint: PropertyHint = propertyHint_None; hint_string = String(); usage: set[ PropertyUsageFlags] = PropertyUsageFlags.propertyUsageDefault): HeapPropertyInfo
proc propertyInfo[T: SomeProperty](_: typedesc[varargs[T]]; name = StringName(); hint: PropertyHint = propertyHint_None; hint_string = String(); usage: set[ PropertyUsageFlags] = PropertyUsageFlags.propertyUsageDefault): HeapPropertyInfo
proc unheap(info: HeapPropertyInfo): PropertyInfo {....raises: [], tags: [], forbids: [].}
proc vmethods(T: typedesc[SomeClass]): var Table[StringName, ClassCallVirtual]
Templates
template className(T: typedesc[GdRef[SomeClass]]): var StringName
template metadata(T: typedesc): ClassMethodArgumentMetadata
template metadata(T: typedesc[enum]): ClassMethodArgumentMetadata
template metadata(T: typedesc[float32]): ClassMethodArgumentMetadata
template metadata(T: typedesc[float64]): ClassMethodArgumentMetadata
template metadata(T: typedesc[int8]): ClassMethodArgumentMetadata
template metadata(T: typedesc[int16]): ClassMethodArgumentMetadata
template metadata(T: typedesc[int32]): ClassMethodArgumentMetadata
template metadata(T: typedesc[int64]): ClassMethodArgumentMetadata
template metadata(T: typedesc[int]): ClassMethodArgumentMetadata
template metadata(T: typedesc[uint8]): ClassMethodArgumentMetadata
template metadata(T: typedesc[uint16]): ClassMethodArgumentMetadata
template metadata(T: typedesc[uint32]): ClassMethodArgumentMetadata
template metadata(T: typedesc[uint64]): ClassMethodArgumentMetadata
template metadata(T: typedesc[uint]): ClassMethodArgumentMetadata
template metadata[E: enum](T: typedesc[set[E]]): ClassMethodArgumentMetadata
template uniqueUsage(T: typedesc): set[PropertyUsageFlags]
template uniqueUsage(T: typedesc[enum]): set[PropertyUsageFlags]
template uniqueUsage(T: typedesc[Variant]): set[PropertyUsageFlags]
template uniqueUsage[E: enum](T: typedesc[set[E]]): set[PropertyUsageFlags]