Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script type="text/javascript" language="javascript">
- <!--
- //initializing the WebPlayer
- var u = new UnityObject2();
- u.initPlugin(jQuery("#unityPlayer")[0], "Example.unity3d");
- function SaySomethingToUnity()
- {
- u.getUnity().SendMessage("MyObject", "MyFunction", "Hello from a web page!");
- }
- -->
- </script>
- public static void Evaluate(string js, System.Action<string> callback);
- public class JSEvaluator : MonoBehaviour {
- private int id;
- Dictionary<int, Action<string>> callbacks;
- public static void Evaluate(string js, Action<string> callback) {
- ++id;
- callbacks[id] = callback;
- // ':' is separator to know where id ends
- Application.ExternalCall("evaluate", id.ToString() + ":" + js);
- }
- private void OnJSResult(string result) {
- var stringSeparators = new string[] {":"};
- var res = source.Split(stringSeparators, StringSplitOptions.None);
- var i = Convert.ToInt32(res[0]);
- var cb = callbacks[i];
- var rem = res[0] + ":";
- cb(result.Remove(result.IndexOf(rem), rem.Length););
- callbacks.Remove(i);
- }
- }
- function evaluate(input) {
- var inp = input.split(":");
- var id = parseInt(inp[0]);
- inp.shift();
- var arg = inp.join(":");
- var result = eval(arg);
- // for UnityPlayer you need to u.getUnity().SendMessage
- SendMessage("GameObjectName", "OnJSResult", result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement