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); }
// 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); }