Используется csharp
internal static void DisplayCustomMenu(Rect position, string[] options, int[] selected, SelectMenuItemFunction callback, object userData)
{
Vector2 vector = GUIUtility.GUIToScreenPoint(new Vector2(position.x, position.y));
position.x = vector.x;
position.y = vector.y;
int[] enabled = new int[options.Length];
for (int i = 0; i < options.Length; i++)
{
enabled[i] = 1;
}
Internal_DisplayCustomMenu(position, options, enabled, selected, callback, userData);
}
SelectMenuItemFunction - это делегат
Используется csharp
public delegate void SelectMenuItemFunction(object userData, string[] options, int selected);
Т.е. грубо говоря функция, которая выполняется, когда выбираешь пункт меню...
object userData - любые данные, которые ты хочешь передать этой функции...
Но она - internal. Я не уверен, что ее можно нормально использовать...
У нее есть публичный вариант:
Используется csharp
public static void DisplayCustomMenu(Rect position, GUIContent[] options, int selected, SelectMenuItemFunction callback, object userData)
{
int[] numArray = new int[] { selected };
string[] strArray = new string[options.Length];
for (int i = 0; i < options.Length; i++)
{
strArray[i] = options[i].text;
}
DisplayCustomMenu(position, strArray, numArray, callback, userData);
}