private void sendToAir() { if (_selectedItemOnPreview != null) { if (_itemsOnAir != null) { SocketCommand commandToSend = new SocketCommand(); XmlDataRow xmlRow = new XmlDataRow(); //send the item to the output scene, will need to add instancing so more than one item can be put on each layer foreach (ShotItem shotItem in _itemsOnPreview) { string templateData = ""; foreach (Shot shot in shotItem.Shots) { templateData += shot.TemplateData; } commandToSend.Command = CommandType.ShowPage; commandToSend.CommandID = Guid.NewGuid().ToString(); commandToSend.Parameters = new List <CommandParameter>(); commandToSend.Parameters.Add(new CommandParameter("TemplateName", _selectedShotItem.Template)); commandToSend.Parameters.Add(new CommandParameter("DestScene", "AIR")); commandToSend.TemplateData = templateData; _talker.Talk(commandToSend); } //update the items on the air list ShotItem _airItem = _itemsOnAir.SingleOrDefault(i => i.Description == _selectedItemOnPreview.Description); if (_airItem == null) { ItemsOnAir.Add(_selectedItemOnPreview); } } else { ItemsOnAir.Add(_selectedItemOnPreview); } } }
private void sendToPreview() { if (_selectedShotItem != null) { if (_itemsOnPreview != null) { SocketCommand commandToSend = new SocketCommand(); XmlDataRow xmlRow = new XmlDataRow(); //send the item to the preview scene, will need to add instancing so more than one item can be put on each layer switch (_selectedShotItem.Type) { case "LONGESTDRIVE": case "PLAYERSHOT": _selectedShotItem.Template = "DistanceMarker"; xmlRow.Add("Marker_Translate", _selectedShotItem.Shots[0].VirtualLocation.ToString()); xmlRow.Add("Distance", _selectedShotItem.Shots[0].VirtualDistance.ToString()); xmlRow.Add("Name", _selectedShotItem.Shots[0].Player.LastName); xmlRow.Add("Headshot", _selectedShotItem.Shots[0].Player.Headshot.AbsolutePath); _selectedShotItem.Shots[0].TemplateData = xmlRow.ToString(); break; case "BIRDIES": case "PARS": case "BOGEYS": case "DBLBOGEYS": _selectedShotItem.Template = "ScoreMarker"; foreach (Shot shot in _selectedShotItem.Shots) { xmlRow.Add("Marker_Translate", shot.VirtualLocation.ToString()); shot.TemplateData += xmlRow.ToString(); } break; } commandToSend.Command = CommandType.ShowPage; commandToSend.CommandID = Guid.NewGuid().ToString(); commandToSend.Parameters = new List <CommandParameter>(); commandToSend.Parameters.Add(new CommandParameter("TemplateName", _selectedShotItem.Template)); commandToSend.Parameters.Add(new CommandParameter("DestScene", "Preview")); commandToSend.TemplateData = xmlRow.GetXMLString(); _talker.Talk(commandToSend); //update the items on preview list (may have to wait for an acknowledgement from the scene first... ShotItem _previewItem = _itemsOnPreview.SingleOrDefault(i => i.Description == _selectedShotItem.Description); if (_previewItem == null) { ItemsOnPreview.Add(_selectedShotItem); } } else { ItemsOnPreview.Add(_selectedShotItem); } } }