public void Activate() { var partyAlignment = GameSystems.Party.PartyAlignment; _partyAlignmentLabel.Text = "#{pc_creation:16000} @1" + GameSystems.Stat.GetAlignmentName(partyAlignment); foreach (var(alignment, button) in _alignmentButtons) { // TODO: We should show a tooltip explaining WHY a certain alignment is unavailable var compatibleWithParty = IsCompatibleAlignment(partyAlignment, alignment); var compatibleWithClass = D20ClassSystem.IsCompatibleAlignment(_pkt.classCode, alignment); button.SetDisabled(!compatibleWithParty || !compatibleWithClass); } UpdateSelection(); }