public void ShowImage(int id, string state, string path, bool protagonist) { Displayer displayer = m_Displayers[id]; //if (state!=null) // FindAndSet(id,state); if (displayer.video.GetComponent <MonitorGrid>() != null) { MonitorGrid mgrid = displayer.video.GetComponent <MonitorGrid>(); mgrid.State = state; mgrid.Protagonist = protagonist; if (mgrid.isAugmented) { FindAndSet(id, state); } } else//真实世界 { FindAndSet(id, state); } RenderTexture.active = displayer.video.targetTexture; GL.Clear(true, true, Color.black); RenderTexture.active = null; //displayer.video.targetTexture.DiscardContents(); //Graphics.Blit(firstFrameTexture, displayer.video.targetTexture); displayer.videoBG.gameObject.SetActive(false); displayer.image.gameObject.SetActive(true); displayer.image.sprite = Resources.Load <Sprite>(path); }
public void PlayVideoClip(Segment seg) { Displayer displayer = m_Displayers[seg.ID]; //displayer.video.waitForFirstFrame = true; //RenderTexture.active = displayer.video.targetTexture; //GL.Clear(true, true, Color.black); //RenderTexture.active = null; //displayer.video.targetTexture.DiscardContents(); //Graphics.Blit(firstFrameTexture, displayer.video.targetTexture); if (displayer.video.GetComponent <MonitorGrid>() != null) { MonitorGrid mgrid = displayer.video.GetComponent <MonitorGrid>(); mgrid.State = seg.State; mgrid.Protagonist = seg.Protagonist; if (mgrid.isAugmented) { FindAndSet(seg.ID, seg.State); } } else { FindAndSet(seg.ID, seg.State); } displayer.videoBG.gameObject.SetActive(true); displayer.image.gameObject.SetActive(false); displayer.video.clip = Resources.Load <VideoClip>(seg.VideoClipPath); displayer.video.Play(); displayer.video.isLooping = seg.Loop; //FindAndSet(seg.ID,seg.State); if (seg.Callback != null) { StartCoroutine(CheckVideoFinish(displayer, seg.Callback)); } }
private void UpdatePropertiesPanel(XmlNode selectedItem) { if (selectedItem.Name == "input") { switch (selectedItem.Attributes["type"].Value) { case "MSMQ": MyGrid = new MSMQIN(selectedItem, this.View); break; case "MQ": MyGrid = new MQIN(selectedItem, this.View); break; case "FILE": MyGrid = new FILEIN(selectedItem, this.View); break; case "KAFKA": MyGrid = new KAFKAIN(selectedItem, this.View); break; case "HTTP": MyGrid = new HTTPIN(selectedItem, this.View); break; case "RABBITDEFEX": MyGrid = new RABBITIN(selectedItem, this.View); break; case "MQTT": MyGrid = new MQTTIN(selectedItem, this.View); break; case "TCPSERVER": MyGrid = new TCPIN(selectedItem, this.View); break; case "TESTSOURCE": MyGrid = new TESTSOURCE(selectedItem, this.View); break; } } else if (selectedItem.Name == "output" || selectedItem.Name == "altqueue") { switch (selectedItem.Attributes["type"].Value) { case "MSMQ": MyGrid = new MSMQOUT(selectedItem, this.View); break; case "MQ": MyGrid = new MQOUT(selectedItem, this.View); break; case "FILE": MyGrid = new FILEOUT(selectedItem, this.View); break; case "KAFKA": MyGrid = new KAFKAOUT(selectedItem, this.View); break; case "REST": MyGrid = new RESTOUT(selectedItem, this.View); break; case "HTTP": MyGrid = new HTTPOUT(selectedItem, this.View); break; case "TCPCLIENT": MyGrid = new TCPOUT(selectedItem, this.View); break; case "RABBITDEFEX": MyGrid = new RABBITOUT(selectedItem, this.View); break; case "MQTT": MyGrid = new MQTTIN(selectedItem, this.View); break; case "SMTP": MyGrid = new SMTPOut(selectedItem, this.View); break; case "FTP": MyGrid = new FTPOut(selectedItem, this.View); break; case "SINK": MyGrid = new SINK(selectedItem, this.View); break; } } else if (selectedItem.Name == "monitor") { MyGrid = new MonitorGrid(selectedItem, this.View); } else if (selectedItem.Name == "filter") { MyGrid = new Filter(selectedItem, this.View); } else if (selectedItem.Name == "pipe") { MyGrid = new PIPE(selectedItem, this.View); } else if (selectedItem.Name == "namespace") { MyGrid = new NameSpaceGrid(selectedItem, this.View); } else if (selectedItem.Name == "service") { MyGrid = new ServiceSetting(selectedItem, this.View); } else if (selectedItem.Name == "and" || selectedItem.Name == "or" || selectedItem.Name == "xor" || selectedItem.Name == "not") { MyGrid = new BooleanExpression(selectedItem, this.View); } else if (selectedItem.Name == "contains") { MyGrid = new ContainsFilter(selectedItem, this.View); } else if (selectedItem.Name == "equals") { MyGrid = new EqualsFilter(selectedItem, this.View); } else if (selectedItem.Name == "matches") { MyGrid = new MatchesFilter(selectedItem, this.View); } else if (selectedItem.Name == "length") { MyGrid = new LengthFilter(selectedItem, this.View); } else if (selectedItem.Name == "xpexists") { MyGrid = new XPExistsFilter(selectedItem, this.View); } else if (selectedItem.Name == "xpmatches") { MyGrid = new XPMatchesFilter(selectedItem, this.View); } else if (selectedItem.Name == "xpequals") { MyGrid = new XPEqualsFilter(selectedItem, this.View); } else if (selectedItem.Name == "dateRange") { MyGrid = new DateRangeFilter(selectedItem, this.View); } else if (selectedItem.Name == "contextContains") { MyGrid = new ContextFilter(selectedItem, this.View); } OnPropertyChanged("MyGrid"); }