how to translate c# list<list<string>> to godot.Array

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ancay-dev

I have a c# node with a function that returns a value of type list<list>

how can I access that value as godot.array in node gdscript?

thanks

:bust_in_silhouette: Reply From: juppi

You have to convert the List into a Godot Array:

public class Bar : Godot.Node
{
    public Godot.Collections.Array<string> Capitals()
    {
        var list = new System.Collections.Generic.List<string>();
        list.Add("Berlin");
        list.Add("Paris");
        list.Add("London");

        var array = new Godot.Collections.Array<string>(list);
        return array;
    }
}

Then you can use it in GDScript:

extends Node

func _ready():
	var bar = load("res://Bar.cs").new()
	var capitals: Array = bar.Capitals();
	for capital in capitals:
		print(capital)

Also take a look at the docs:
https://docs.godotengine.org/en/stable/tutorials/scripting/cross_language_scripting.html