コード例 #1
0
        //--------------------------------------------------------------------
        // Public Function and Properties
        //--------------------------------------------------------------------

        public static ITobiiHost GetInstance()
        {
            if (_isShuttingDown || !TobiiEulaFile.IsEulaAccepted())
            {
                if (!TobiiEulaFile.IsEulaAccepted() && !HasDisplayedEulaError)
                {
                    Debug.LogError(
                        "You need to accept EULA to be able to use Tobii Unity SDK.");
                    HasDisplayedEulaError = true;
                }

                return(new TobiiHostStub());
            }

            if (_instance != null)
            {
                return(_instance);
            }

            var newGameObject = new GameObject("TobiiHost");

            DontDestroyOnLoad(newGameObject);
            _instance = newGameObject.AddComponent <TobiiHost>();
            return(_instance);
        }
コード例 #2
0
 private static void HandleOnPlayModeChanged()
 {
     if (EditorApplication.isPlaying && TobiiEulaFile.IsEulaAccepted() == false)
     {
         ShowWindow();
     }
 }
コード例 #3
0
 static TobiiEulaCheck()
 {
     if (TobiiEulaFile.IsEulaAccepted() == false)
     {
         EditorApplication.update += Update;
         EditorApplication.playmodeStateChanged += HandleOnPlayModeChanged;
     }
 }
コード例 #4
0
        static TobiiEulaCheck()
        {
            if (TobiiEulaFile.IsEulaAccepted() == false)
            {
                EditorApplication.update += Update;
#if UNITY_2017_2_OR_NEWER
                EditorApplication.playModeStateChanged += HandleOnPlayModeChanged;
#else
                EditorApplication.playmodeStateChanged += HandleOnPlayModeChanged;
#endif
            }
        }
コード例 #5
0
        public static bool IsEulaAccepted()
        {
            #if !UNITY_EDITOR
            if (_eulaFile == null)
            {
                _eulaFile = TobiiEulaFile.LoadEulaFile();
            }
            #endif

            if (_eulaFile != null)
            {
                return(_eulaFile.IsEulaAccepted());
            }

            return(false);
        }
コード例 #6
0
        public void OnGUI()
        {
            EditorGUILayout.BeginVertical(EditorStyles.label);
#if UNITY_5_3 || UNITY_5_3_OR_NEWER
            var logo = AssetDatabase.LoadAssetAtPath <Texture2D>(TexturePath + "TobiiLogo.png");
#else
            var logo = (Texture2D)AssetDatabase.LoadAssetAtPath(TexturePath + "TobiiLogo.png", typeof(Texture2D));
#endif
            var rect = GUILayoutUtility.GetRect(position.width, 150, GUI.skin.box);
            if (logo != null)
            {
                GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit);
            }

            EditorGUILayout.HelpBox("To use this package please read and accept the EULA.", MessageType.Info);

            if (GUILayout.Button("Read the EULA"))
            {
                Application.OpenURL(EulaUrl);
            }

            EditorGUILayout.LabelField("");
            EditorGUILayout.LabelField("");

            EditorGUILayout.BeginHorizontal(EditorStyles.label);

            if (GUILayout.Button("Accept", EditorStyles.miniButtonRight))
            {
                EditorApplication.playmodeStateChanged -= HandleOnPlayModeChanged;
                TobiiEulaFile.SetEulaAccepted();
                _window.Close();
            }

            GUILayout.Button("", EditorStyles.miniBoldLabel);

            if (GUILayout.Button("Decline", EditorStyles.miniButtonLeft))
            {
                _window.Close();
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
        }
コード例 #7
0
 public static void SetEulaFile(TobiiEulaFile eulaFile)
 {
     _eulaFile = eulaFile;
 }
コード例 #8
0
        public void OnGUI()
        {
            EditorGUILayout.BeginVertical(EditorStyles.label);
#if UNITY_5_3 || UNITY_5_3_OR_NEWER
            var logo = AssetDatabase.LoadAssetAtPath <Texture2D>(TexturePath + "TobiiLogo.png");
#else
            var logo = (Texture2D)AssetDatabase.LoadAssetAtPath(TexturePath + "TobiiLogo.png", typeof(Texture2D));
#endif
            var rect = GUILayoutUtility.GetRect(position.width, 150, GUI.skin.box);
            if (logo != null)
            {
                GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit);
            }

            EditorGUILayout.LabelField("");


            var style = new GUIStyle();
            style.richText = true;
            EditorGUILayout.LabelField(LicenseTitle, style, GUILayout.Height(30));

            EditorGUILayout.LabelField("");

            EditorGUILayout.BeginVertical("Box");
            scroll = EditorGUILayout.BeginScrollView(scroll);
            EditorGUILayout.SelectableLabel(LicenseText, style, GUILayout.Height(400));
            EditorGUILayout.EndScrollView();

            EditorGUILayout.EndVertical();

            EditorGUILayout.LabelField("");

            EditorGUILayout.HelpBox("To use this package please read and accept the Tobii Unity SDK License and Use Agreement.", MessageType.Info);

            EditorGUILayout.LabelField("");

            if (GUILayout.Button("Read the Tobii Unity SDK License and Use Agreement", GUILayout.Height(30)))
            {
                Application.OpenURL(EulaUrl);
            }

            EditorGUILayout.LabelField("");

            EditorGUILayout.BeginHorizontal(EditorStyles.label, GUILayout.Height(40));

            if (GUILayout.Button("Decline", GUILayout.Height(30)))
            {
                _window.Close();
            }

            GUILayout.Button("", EditorStyles.miniBoldLabel);

            if (GUILayout.Button("Accept", GUILayout.Height(30)))
            {
#if UNITY_2017_2_OR_NEWER
                EditorApplication.playModeStateChanged -= HandleOnPlayModeChanged;
#else
                EditorApplication.playmodeStateChanged -= HandleOnPlayModeChanged;
#endif
                TobiiEulaFile.SetEulaAccepted();
                _window.Close();
            }



            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
        }