public override void OpenLetter() { DiaNode diaNode = new DiaNode(text); diaNode.options.AddRange(Choices); Dialog_NodeTreeWithFactionInfo window = new Dialog_NodeTreeWithFactionInfo(diaNode, relatedFaction, delayInteractivity: false, radioMode, title); Find.WindowStack.Add(window); }
public void ExposeData() { Scribe_Values.Look(ref id, "id"); if (Scribe.mode == LoadSaveMode.Saving) { Scribe_References.Look(ref dialog.faction, "faction"); ScribeUtil.LookValue(dialog.soundAmbient == SoundDefOf.RadioComms_Ambience, "radioMode"); Scribe_Values.Look(ref dialog.title, "title"); var nodes = dialog.curNode.TraverseNodes().ToList(); saveNodes = new List <DiaNodeSave>(); foreach (var node in nodes) { saveNodes.Add(new DiaNodeSave(this, node)); } fieldValues = nodes .SelectMany(n => n.options) .SelectMany(o => DelegateValues(o.action).Concat(DelegateValues(o.linkLateBind))) .Distinct(new FieldSaveEquality()) .ToList(); Scribe_Collections.Look(ref fieldValues, "fieldValues", LookMode.Deep); Scribe_Collections.Look(ref saveNodes, "nodes", LookMode.Deep); fieldValues = null; saveNodes = null; } else { Scribe_References.Look(ref faction, "faction"); Scribe_Values.Look(ref radioMode, "radioMode"); Scribe_Values.Look(ref title, "title"); Scribe_Collections.Look(ref fieldValues, "fieldValues", LookMode.Deep, this); Scribe_Collections.Look(ref saveNodes, "nodes", LookMode.Deep, this); } if (Scribe.mode == LoadSaveMode.PostLoadInit) { dialog = new Dialog_NodeTreeWithFactionInfo(saveNodes[0].node, faction, false, radioMode, title) { doCloseX = true, closeOnCancel = true }; faction = null; saveNodes = null; fieldValues = null; } }
public override void OpenLetter() { DiaNode diaNode = new DiaNode(this.text); diaNode.options.AddRange(this.Choices); DiaNode nodeRoot = diaNode; Faction relatedFaction = this.relatedFaction; bool flag = this.radioMode; Dialog_NodeTreeWithFactionInfo window = new Dialog_NodeTreeWithFactionInfo(nodeRoot, relatedFaction, false, flag, this.title); Find.WindowStack.Add(window); }
public PersistentDialog(Map map, Dialog_NodeTreeWithFactionInfo dialog) : this(map) { id = Multiplayer.GlobalIdBlock.NextId(); this.dialog = dialog; }