static public void OnGUI(UnitEntityData ch, Spellbook spellbook, int level) { var spells = spellbook.GetKnownSpells(level).OrderBy(d => d.Name).ToList(); var spellbookBP = spellbook.Blueprint; var learnable = spellbookBP.SpellList.GetSpells(level); var blueprints = BlueprintBrowser.GetBlueprints(); if (blueprints == null) { return; } OnGUI <AbilityData>($"Spells.{spellbookBP.Name}", ch, spells, (fact) => fact.Blueprint, learnable, (fact) => fact.Name, (fact) => fact.Description, null, BlueprintAction.ActionsForType(typeof(BlueprintAbility)) ); }