Ejemplo n.º 1
0
    /// <summary>
    /// Get the connection manager on start
    /// </summary>
    private void Start()
    {
        _mConnectionManager = ChromaConnectionManager.Instance;

        // Make instances of animations in play mode for update events to work
        if (Application.isPlaying)
        {
            // instantiate 1D animations
            for (int i = 0; i < _mAnimations1D.Length; ++i)
            {
                _mAnimations1D[i] = (ChromaSDKAnimation1D)Instantiate(_mAnimations1D[i]);
            }

            // instantiate 2D animations
            for (int i = 0; i < _mAnimations2D.Length; ++i)
            {
                _mAnimations2D[i] = (ChromaSDKAnimation2D)Instantiate(_mAnimations2D[i]);
            }
        }
    }
Ejemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        EditorGUILayout.LabelField("Version", ChromaUtils.VERSION);

        if (!EditorApplication.isCompiling)
        {
            //show parent
            base.OnInspectorGUI();

            ChromaConnectionManager connectionManager = ChromaConnectionManager.Instance;

            if (null == connectionManager._mInfo)
            {
                connectionManager.SetupDefaultInfo();
            }

            ChromaSdkInput info = connectionManager._mInfo;

            info.Author.Contact = EditorGUILayout.TextField("Author.Contact:", info.Author.Contact);
            info.Author.Name    = EditorGUILayout.TextField("Author.Name:", info.Author.Name);
            info.Category       = EditorGUILayout.TextField("Category:", info.Category);
            info.Description    = EditorGUILayout.TextField("Description:", info.Description);
            foreach (string device in DEVICES)
            {
                string label     = string.Format("Support {0}:", device);
                bool   isChecked = EditorGUILayout.Toggle(label, info.DeviceSupported.Contains(device));
                if (isChecked)
                {
                    if (!info.DeviceSupported.Contains(device))
                    {
                        info.DeviceSupported.Add(device);
                    }
                }
                else
                {
                    if (info.DeviceSupported.Contains(device))
                    {
                        info.DeviceSupported.Remove(device);
                    }
                }
            }
            info.Title = EditorGUILayout.TextField("Title:", info.Title);

            bool connected  = connectionManager.Connected;
            bool connecting = connectionManager.Connecting;

            EditorGUILayout.LabelField("Connected:", connected ? "true" : "false");
            EditorGUILayout.LabelField("Connecting:", connecting ? "true" : "false");
            EditorGUILayout.LabelField("Connection Status:", connectionManager.ConnectionStatus);

            GUI.enabled = !connected && !connecting;
            if (GUILayout.Button("Connect"))
            {
                connectionManager.Connect();
                Repaint();
            }

            GUI.enabled = connected || connecting;
            if (GUILayout.Button("Disconnect"))
            {
                connectionManager.Disconnect();
                Repaint();
            }

            GUI.enabled = true;
        }

        Repaint();
    }