public void Finish() { Root.Setup(null, Vector2.Zero); var dialogElements = EnumerateElements().OfType <ITextDialogable>().ToList(); foreach (var element in dialogElements) { element.DialogFormat.Add(element); } foreach (var dialogFormat in dialogElements.Select(x => x.DialogFormat).Distinct()) { dialogFormat.Setup(dialogElements); } }