Unity3d: выполнение произвольного JavaScript из объекта C#

Я бы хотел

string expression = "2+2";

public string evaluateExpresion(expression)
{
   return executeJavascript(expression); // Magic javascript executor
}

Debug.Log(evaluateExpression(expression); 

Как я могу сделать это?

1 ответ

Вы можете создать файл javascript с нужными вам функциями и вызывать их в ваших файлах C#, если я не понимаю, что вы имеете в виду. В вашем примере вы можете создать:

// JavaScriptExpressions.js

function executeExpression( x : string ) {
    // Some code here..
}

Файл JavaScript, и вы можете получить доступ к функции, перетащив js в то же преобразование с вашим файлом C#, или вы можете перетащить его в другое преобразование. Или вы можете установить его статическим, если он не подключен к моно библиотеке. Вот пример кода для C#:

// YourCsharp.cs
string expression = "2+2";

public string evaluateExpresion(string expression) { 
    return transform.GetComponent<JavaScriptExpressions>().executeExpression(expression);
}

Debug.Log(evaluateExpression(expression));
Другие вопросы по тегам