void OnDisable() { if (_current == this) { _current = null; } }
private static void OnImagePickedCallback(WSANative.OnImagePickedResult result) { WSANative.ImagePicker.OnImagePicked -= OnImagePickedCallback; WSAThreadHelper.QueueOnMainThread(() => { WSAImagePickedResult res = new WSAImagePickedResult(result); OnImagePickedAction(res); }); }
static void Initialize() { if (!initialized) { initialized = true; var g = new GameObject("WSAThreadHelper"); _current = g.AddComponent <WSAThreadHelper>(); } }
private void ImagePickedCallback(WSAImagePickedResult result) { WSAMultimediaManager.OnImagePickedAction -= ImagePickedCallback; if (result.Code == WSANative.ImagePickedResult.Success) { WSAThreadHelper.QueueOnMainThread(() => { Debug.Log("ImagePickedCallback " + result.Code + " " + result.Error + " " + result.Image); SampleImage.sprite = Sprite.Create(result.Image, new Rect(0.0f, 0.0f, result.Image.width, result.Image.height), new Vector2(0.5f, 0.5f)); }); } else { Debug.Log("ImagePickedCallback " + result.Code + " " + result.Error); } }
void Awake() { _current = this; initialized = true; }