Add varargs and openarray constructors for Array
This commit is contained in:
parent
0062568dbc
commit
fedd04229a
1 changed files with 13 additions and 6 deletions
|
|
@ -15,14 +15,23 @@ proc godotArray*(arr: Array): ptr GodotArray {.inline.} =
|
|||
proc arrayFinalizer(arr: Array) =
|
||||
arr.godotArray.deinit()
|
||||
|
||||
proc newArray*(): Array {.inline.} =
|
||||
new(result, arrayFinalizer)
|
||||
initGodotArray(result.godotArray)
|
||||
|
||||
proc newArray*(arr: GodotArray): Array {.inline.} =
|
||||
new(result, arrayFinalizer)
|
||||
result.godotArray = arr
|
||||
|
||||
import variants
|
||||
|
||||
proc newArray*(s: varargs[Variant]): Array =
|
||||
new(result, arrayFinalizer)
|
||||
initGodotArray(result.godotArray)
|
||||
for v in s:
|
||||
result.godotArray.add(v.godotVariant[])
|
||||
|
||||
proc newArray*(s: openarray[Variant]): Array =
|
||||
result = newArray()
|
||||
for v in s:
|
||||
result.godotArray.add(v.godotVariant[])
|
||||
|
||||
import poolarrays
|
||||
|
||||
proc newArray*(pca: PoolColorArray): Array {.inline.} =
|
||||
|
|
@ -53,8 +62,6 @@ proc newArray*(pba: PoolByteArray): Array {.inline.} =
|
|||
new(result, arrayFinalizer)
|
||||
initGodotArray(result.godotArray, pba.godotPoolByteArray[])
|
||||
|
||||
import variants
|
||||
|
||||
proc `[]=`*(self: var Array; idx: int; value: Variant) {.inline.} =
|
||||
self.godotArray[idx.cint] = value.godotVariant[]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue