private IEnumerator GetSupportedProjectorPortNames(Action <List <string> > cb)
    {
        List <string> supportedProjectorPortNames = new List <string>();

        string[] portNames = ProjectorManagerScript.availablePortNames;
        for (int i = 0; i < portNames.Length; i++)
        {
            string portName = portNames[i];
            if (!portNameDetectRegex.Match(portName).Success)
            {
                continue;
            }
            if (projectorPortNamesExcluded.Contains(portName))
            {
                Debug.Log(portName + " is blacklisted");
                continue;
            }
            BenqProjectorPort port = new BenqProjectorPort(portName);
            yield return(port.Open());

            Debug.Log(portName + " is " + (port.IsPortSupported ? "good" : "bad"));
            if (port.IsPortSupported)
            {
                supportedProjectorPortNames.Add(portName);
            }
            port.Close();
        }
        cb(supportedProjectorPortNames);
    }
示例#2
0
    //	Connect Projects (initialized ports)
    public bool Init()
    {
        SetPortName(inputPortName.text);
        if (isPortNameInvalid)
        {
            return(false);
        }
        pPort = new BenqProjectorPort(portName);
        pPort.Open();
        bool init = pPort.IsPortInitialized;

        //Debug.Log(/*pPort.IsPortInitialized*/);

        SetInfoText(portName + (pPort.IsWorking ? "" : " not") + " connected");
        ColorBlock colorBlock = statusConnection.colors;
        Color      nextColor  = pPort.IsWorking ? Color.green : Color.red;

        colorBlock.normalColor      = nextColor;
        colorBlock.highlightedColor = nextColor;
        statusConnection.colors     = colorBlock;
        return(true);
    }