godot-nim/godot/core/rids.nim
2017-08-06 13:58:54 +07:00

31 lines
733 B
Nim

import internal.godotobjects
type
RID* {.byref.} = object
data: array[sizeof(int), byte]
proc initRID(dest: var RID) {.
importc: "godot_rid_new".}
proc initRID(dest: var RID; obj: ptr GodotObject) {.
importc: "godot_rid_new_with_resource".}
proc initRID*(): RID {.inline.} =
initRID(result)
proc initRID*(obj: ptr GodotObject): RID {.inline.} =
initRID(result, obj)
proc idCInt(self: RID): cint {.
noSideEffect,
importc: "godot_rid_get_id".}
proc id*(self: RID): uint32 {.inline.} =
cast[uint32](self.idCInt())
proc `$`*(self: RID): string =
$self.id
proc `==`*(a, b: RID): bool {.
importc: "godot_rid_operator_equal".}
proc `<`*(a, b: RID): bool {.
importc: "godot_rid_operator_less".}