Skip to content

@AngryAnt /WebsiteCommunication.cs
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
WebPlayer - website JavaScript two-way communication example. The goal here is to keep the website JS code handy. Untested.
using UnityEngine;
using System.Collections;
public delegate void JSCallback (string value);
public class WebsiteCommunication : MonoBehaviour
{
public TextAsset stringRequest;
public void RequestString (JSCallback callback, string prompt, string defaultValue = "")
{
if !(callback.Target is MonoBehaviour)
{
throw new System.ArgumentException ("Callback must be on a MonoBehaviour!");
}
string evalText =
stringRequest.text.Replace (
"%GO_NAME%", ((MonoBehaviour)callback.Target).gameObject.name
).Replace (
"%HANDLER_NAME", callback.Method.Name
).Replace (
"%PROMPT_STRING%", prompt
).Replace (
"%DEFAULT_VALUE%", defaultValue
);
Application.ExternalEval (evalText);
}
}
/*
String request variable is populated with a reference to a text file asset containing
the following JS code:
GetUnity ().SendMessage ("%GO_NAME%", "%HANDLER_NAME%", prompt ("%PROMPT_STRING%", "%DEFAULT_VALUE%"));
*/
// Example usage:
private string playerName = "Nobody";
void Start ()
{
GetComponent<WebsiteCommunication> ().RequestString (OnReceiveName, "What is your name?", playerName);
}
void OnReceiveName (string name)
{
playerName = name;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.