//, Logger
        //, CharakterStartControl Logger
        public CharakterKlassenControl(CharakterErstellungsDaten Daten)
            : base(Daten)
        {
            ExRasse = Universe.Rassen.Anzahl > 0;
            if (ExRasse)
            {
                RassenForm = new ElementAuswahlForm<Rasse>(Rassen);
                CtlRasse = CreateButtonPaar("Rasse", "Nichts ausgewählt", (s, e) =>
                {
                    RassenForm.ShowDialog();
                    if (RassenForm.MyStatus == ElementAuswahlForm<Rasse>.Status.OK)
                        SetRasse(RassenForm.Ergebnis);
                });
            }

            ExBachelor = Daten.StufenBachelor > 0;
            if (ExBachelor)
            {
                BachelorForm = new ElementAuswahlForm<Klasse>(BachelorKlassen);
                CtlBachelor = CreateButtonPaar("Bachelor-Klasse", "Nichts ausgewählt", (s, e) =>
                {
                    BachelorForm.ShowDialog();
                    if (BachelorForm.MyStatus == ElementAuswahlForm<Klasse>.Status.OK)
                        SetBachelorKlasse(BachelorForm.Ergebnis);
                });
            }

            ExMaster = Daten.StufenMaster > 0;
            if (ExMaster)
            {
                MasterForm = new ElementAuswahlForm<Klasse>(MasterKlassen);
                CtlMaster = CreateButtonPaar("Master-Klasse", "Nichts ausgewählt", (s, e) =>
                {
                    MasterForm.ShowDialog();
                    if (MasterForm.MyStatus == ElementAuswahlForm<Klasse>.Status.OK)
                        SetMasterKlasse(MasterForm.Ergebnis);
                });
            }

            Liste.Setup();
            Validate(null, null);
        }
 public override void Feed(SuperCharakter Charakter)
 {
     Klasse = Charakter.GetKlasse(Master);
     if (Klasse != null)
         Form = new ElementAuswahlForm<Fertigkeit>(Klasse.Fertigkeiten);
     CharakterFertigkeiten = Charakter.Fertigkeiten;
     FillListe();
     UpdateInfo();
 }
 public override void Feed(SuperCharakter Charakter)
 {
     Fertigkeitspunkte = Charakter.GetFertigkeitspunkte(Master);
     Klasse = Charakter.GetKlasse(Master);
     //if (Klasse != null)
     Form = new ElementAuswahlForm<Fertigkeit>(Charakter.Fertigkeiten.GetGelernteFertigkeiten(Master, Daten));
     CharakterFertigkeiten = Charakter.Fertigkeiten;
     FillListe();
     UpdateInfo();
 }
        private void SetRasse(Rasse Rasse)
        {
            this.Rasse = Rasse;
            if (ExRasse)
                CtlRasse.TextBox.Text = Rasse == null ? "Nichts ausgewählt" : Rasse.SchreibName;
            BachelorForm = new ElementAuswahlForm<Klasse>(Rasse == null ? (IEnumerable<Klasse>)BachelorKlassen : Rasse.BachelorKlassen);
            CtlBachelor.Colorize(BachelorForm.Menge.Contains(BachelorKlasse));

            MasterForm = new ElementAuswahlForm<Klasse>(Rasse == null ? (IEnumerable<Klasse>)MasterKlassen : Rasse.MasterKlassen);
            CtlMaster.Colorize(MasterForm.Menge.Contains(MasterKlasse));
        }
        private void CreatePaar(int i)
        {
            PreSection<Talent> tps = Universe.GetTalente(Tags[i]);
            TalentForme[i] = new ElementAuswahlForm<Talent>(tps);

            Label lb = new Label();
            lb.Text = tps.Schreibname;
            //lb.AutoSize = true;
            lb.Font = new System.Drawing.Font("Calibri", 12);
            lb.Size = new System.Drawing.Size(200, 30);

            Button b = new Button();
            b.Text = "Nichts ausgewählt";
            //b.AutoSize = true;
            b.Font = new System.Drawing.Font("Calibri", 12);
            b.Size = new System.Drawing.Size(200, 30);
            b.Click += (s, e) =>
            {
                TalentForme[i].ShowDialog();
                if (TalentForme[i].MyStatus == ElementAuswahlForm<Talent>.Status.OK)
                {
                    SetErgebnis(i, TalentForme[i].Ergebnis);
                    CTC.UpdateZustande();
                }
            };
            Paare[i] = new ControlPaar(lb, b);
            List.Add(Paare[i]);
        }
        public void Feed(SuperCharakter Charakter)
        {
            if (!Fresh)
                Controls.Remove(List);

            Tags = Charakter.GetTalentTags(Stufe);
            int n = Tags.Length;
            TalentForme = new ElementAuswahlForm<Talent>[n];
            Ergebnisse = new Talent[n];
            Paare = new ControlPaar[n];

            List = new ControlList();
            List.Align = 0.5f;
            for (int i = 0; i < n; i++)
            {
                CreatePaar(i);
                if (Charakter.Talente.Talente[Stufe - 1] != null && Charakter.Talente.Talente[Stufe - 1].Length > i)
                    SetErgebnis(i, Charakter.Talente.Talente[Stufe - 1][i]);
            }
            List.Setup();

            Controls.Add(List);
            this.Size = List.Size;
            this.Fresh = false;
        }