Add missing $ to standard types

This commit is contained in:
Ruslan Mustakov 2017-08-06 13:58:54 +07:00
commit 6aaeed4dca
6 changed files with 58 additions and 24 deletions

View file

@ -134,10 +134,13 @@ proc len*(self: Array): int {.inline.} =
proc sort*(self: var Array) {.inline.} =
self.godotArray.sort()
iterator items*(arr: Array): Variant =
for i in 0..<arr.len:
yield arr[i]
iterator items*(self: Array): Variant =
for i in 0..<self.len:
yield self[i]
iterator pairs*(arr: Array): tuple[key: int, val: Variant] =
for i in 0..<arr.len:
yield (i, arr[i])
iterator pairs*(self: Array): tuple[key: int, val: Variant] =
for i in 0..<self.len:
yield (i, self[i])
proc `$`*(self: Array): string =
$self.godotArray

View file

@ -97,3 +97,14 @@ iterator values*(dict: Dictionary): Variant =
iterator pairs*(dict: Dictionary): tuple[key, val: Variant] =
for key in keys(dict):
yield (key, dict[key])
proc `$`*(self: Dictionary): string =
result = newStringOfCap(32)
result.add('{')
for k, v in self:
if result.len > 1:
result.add(", ")
result.add($k)
result.add(": ")
result.add($v)
result.add('}')

View file

@ -22,6 +22,9 @@ proc idCInt(self: RID): cint {.
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 {.

View file

@ -27,6 +27,9 @@ proc variantFinalizer*(v: Variant) =
if not v.noDeinit:
v.godotVariant.deinit()
proc `$`*(self: Variant): string {.inline.} =
$self.godotVariant
proc newVariant*(): Variant {.inline.} =
new(result, variantFinalizer)
initGodotVariant(result.godotVariant)
@ -174,9 +177,7 @@ proc asReal*(self: Variant): cdouble =
self.godotVariant.asReal()
proc asString*(self: Variant): string =
var s = self.godotVariant.asGodotString()
result = $s
s.deinit()
$self
proc asVector2*(self: Variant): Vector2 =
self.godotVariant.asVector2()