public NarrativeWidget(Narrative narr) { InitializeComponent(); _narrative = new Narrative(); _narrative = narr; }
public NarrativeDetailWindow(Narrative narr) { InitializeComponent(); _narrative = new Narrative(); _narrative = narr; }
public void AddNarrative(Narrative narr) { NarrativeWidget nw = new NarrativeWidget(narr); nw.Margin = new Thickness(20); nw.authorNameTextBox.Content = narr.AuthorName; nw.capabilityTitleTextBlock.Text = narr.Capability.CapabilityName; narrativeWrapPanel.Children.Add(nw); }
// FOR PLAYER private void NarrativeSubmittedEventHandler(object sender, RoutedEventArgs e) { string pname = ((PlayerGameControl)e.OriginalSource).GetPlayerName(); Narrative narr = new Narrative(); narr.AuthorName = pname; narr.SessionName = sessionData.SessionName; narr.Capability = ((PlayerGameControl)e.OriginalSource).GetCapability(); narr.NarrativeData = ((PlayerGameControl)e.OriginalSource).NarrativeData; playerNarratives.Add(narr); // save data try { string fname = System.Windows.Forms.Application.StartupPath + @"\PlayerData\" + pname + "-narratives.json"; JsonSerializer serializer = new JsonSerializer(); serializer.NullValueHandling = NullValueHandling.Ignore; using (StreamWriter sw = new StreamWriter(fname)) using (JsonWriter writer = new JsonTextWriter(sw)) { //serializer.Serialize(writer, narr); serializer.Serialize(writer, playerNarratives); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } // send data to host // 1 message per field // check length and divide as needed id, votes string s = String.Format("NR|{0}|{1}%{2}|", pname, narr.Capability.CapabilityId, narr.Capability.Votes); string result; foreach (NarrativeElement ne in narr.NarrativeData) { s += String.Format("|{0}%{1}|", ne.ElementName, ne.ElementContent); } //s = String.Format("NR|{0}|END|1", pname); result = network.SendMessage(s); }
// FOR HOST private void HandleNarrativeData(string[] data) { string pname = data[1]; Capability c = new Capability(); string[] tmp = data[2].Split('%'); foreach (Capability cap in sessionData.CapabilityData) { if (cap.CapabilityId == int.Parse(tmp[0])) { c = cap; break; } } //c = capabilityList[ int.Parse(tmp[0]) ]; // need to loop through and match against id //c.Votes = int.Parse(tmp[1]); Narrative narr = new Narrative(); List <NarrativeElement> narrativeData = new List <NarrativeElement>(); narr.AuthorName = pname; narr.SessionName = "TEST"; narr.Capability = c; for (int i = 3; i < data.Length; i++) { tmp = data[i].Split('%'); NarrativeElement ne = new NarrativeElement(); ne.ElementName = tmp[0]; ne.ElementContent = tmp[1]; narrativeData.Add(ne); } narr.NarrativeData = narrativeData; // store for later playerNarratives.Add(narr); try { string fname = System.Windows.Forms.Application.StartupPath + @"\HostData\player-narratives.json"; JsonSerializer serializer = new JsonSerializer(); serializer.NullValueHandling = NullValueHandling.Ignore; using (StreamWriter sw = new StreamWriter(fname)) using (JsonWriter writer = new JsonTextWriter(sw)) { serializer.Serialize(writer, playerNarratives); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } // ADD TO HOSTNARRATIVESPANEL this.Dispatcher.Invoke(() => { //if (!hostGameControl.hostNarrativePanel.IsEnabled) //{ // hostGameControl.hostNarrativesTab.Visibility = Visibility.Visible; // hostGameControl.gameTabs.SelectedItem = hostGameControl.hostNarrativesTab; //} //hostGameControl.hostNarrativePanel.AddNarrative(narr); }); // add to shared display this.Dispatcher.Invoke(() => { //sharedDisplay.sharedNarrativeViewPanel.AddNarrative(narr); }); }