以编程方式更改Unity3D中的下拉菜单选项

Hun*_*sel 5 c# unity-game-engine dropdown

我有Unity3D 5.2并首次使用Dropdown GUI元素.它很容易在insepctor中使用,但我想要显示的选项,取决于我在Resources/Shapes /中的文件

因此下拉列表应显示我在Resources/Shapes /中获得的所有文件名,但我无法在附加的C#脚本中获取此属性.在阅读Dropdown手册后,应该有一个名为"Options"的属性,它应该有一个字符串和一个图像变量.(所以我理解它的二维数组类型)

不幸的是我不能使用以下脚本(伪代码,因为它不起作用)

GameObject obj = GameObject.Find("Dropdown");

var info = new DirectoryInfo("Assets/Resources/Shapes");
var fileInfo = info.GetFiles();
foreach (var file in fileInfo)
{
    //Add OptionsString Pseudo-Code
    obj.Options += file; // Options doesnt exist
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释如何在我的Dropdown菜单上操作Options属性,我无法在google中找到任何内容.只有在Unity内置Dropdown菜单之前的旧方法

提前致谢

Hys*_*ter 6

List<string> list = new List<string> { "option1", "option2" };
var dropdown = GetComponent<Dropdown>();
dropdown.options.Clear();
foreach (string option in list)
{
    dropdown.options.Add(new Dropdown.OptionData(option));
}
Run Code Online (Sandbox Code Playgroud)


Hun*_*sel 3

找到了答案:

Dropdown.OptionData list = new Dropdown.OptionData("Name");
obj.GetComponent<Dropdown>().options.Add(list);
Run Code Online (Sandbox Code Playgroud)