Exemplo n.º 1
0
    private void Awake()
    {
        // get all references
        Preview    = GameObject.Find("Preview").GetComponent <RawImage>();
        Response   = GameObject.Find("Response").GetComponent <Text>();
        VisionText = GameObject.Find("Vision").GetComponent <VisionText>();
        VisionQR   = GameObject.Find("Vision").GetComponent <VisionQR>();

        // start polling for vision
        VisionText.PollTime   = 3.0f;
        VisionText.OnMessage += (object source, Vision.Message message) =>
        {
            if (!message.error)
            {
                Response.text = "TEXT (" + message.language + "): " + string.Join(" ", message.lines.ToArray());
            }
            else
            {
                Response.text = "ERROR: " + message.lines.First();
            }
        };

        // start polling for QR
        VisionQR.PollTime   = 0.2f;
        VisionQR.OnMessage += (object source, Vision.Message message) => {
            if (!message.error)
            {
                Response.text = "QR: " + string.Join(" ", message.lines.ToArray());
            }
            else
            {
                Response.text = "ERROR: " + message.lines.First();
            }
        };
    }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.PropertyField(textureProperty, new GUIContent("Texture"));

        if (GUILayout.Button("Read QR"))
        {
            VisionQR  VisionQR = (VisionQR)this.target;
            Texture2D texture  = (Texture2D)textureProperty.objectReferenceValue;
            VisionQR.Look(texture, (object source, Vision.Message message) => {
                text = message.lines.First();
            });
        }

        Rect     bounds = GUILayoutUtility.GetRect(0.0f, 100.0f, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(false));
        GUIStyle style  = new GUIStyle(EditorStyles.textArea);

        style.wordWrap = true;
        text           = EditorGUI.TextArea(bounds, text, style);

        serializedObject.ApplyModifiedProperties();
    }