@Before public void setUp() throws Exception { // Charakter erzeugen charakter = new Charakter(new CharakterDaten()); voraussAdmin = new VoraussetzungenGeneratorAdmin(charakter); charakter.initCharakterAdmins( new SonderregelAdmin(charakter), new VerbilligteFertigkeitAdmin(charakter), voraussAdmin, new GeneratorMagieStatusAdmin(charakter)); // Alle Prozessoren erzeugen HashMap<Class, Prozessor> hash = new HashMap<Class, Prozessor>(); charakter.setProzessorHash(hash); hash.put( Eigenschaft.class, new ProzessorDecorator(charakter, new ProzessorEigenschaften(charakter))); hash.put(Talent.class, new ProzessorDecorator(charakter, new ProzessorTalent(charakter))); hash.put(Vorteil.class, new ProzessorDecorator(charakter, new ProzessorVorteil(charakter))); charakter.setProzessorHash(hash); prozessorEigenschaft = (ProzessorDecorator) charakter.getProzessor(Eigenschaft.class); prozessorTalent = (ProzessorDecorator) charakter.getProzessor(Talent.class); prozessorVorteil = (ProzessorDecorator) charakter.getProzessor(Vorteil.class); // Rassen erzeugen ras = new Rasse(); ras.setId("RAS-test"); // Erzeugen der Talente: // Talent 1: talent1 = createTalent("Talent 1"); // Talent 2: talent2 = createTalent("Talent 2"); // Vorteil 1: vorteil1 = new Vorteil(); vorteil1.setId("VOR-test1"); vorteil1.setMinStufe(1); vorteil1.setMaxStufe(10); vorteil1.setKostenProStufe(1.0d); // SF 2: vorteil2 = new Vorteil(); vorteil2.setId("VOR-test2"); vorteil2.setMinStufe(1); vorteil2.setMaxStufe(10); vorteil2.setKostenProStufe(1.0d); // Elemente zum Helden hinzufügen linkTalent1 = prozessorTalent.addNewElement(talent1); linkTalent2 = prozessorTalent.addNewElement(talent2); linkVorteil1 = prozessorVorteil.addNewElement(vorteil1); linkVorteil2 = prozessorVorteil.addNewElement(vorteil1); boxEigenschaft = prozessorEigenschaft.getElementBox(); }
/** * Erzeugt eine neues CharElement, außer die CharElemente: RassenVariante, KulturVariante oder * ProfessionsVarianet. Diese müssen über eine seperate Methode erzeugt werden. * * @param clazz Die Klasse des gewünschten zu erzeugenden CharElements * @return Eine neues CharElement vom typ "clazz" */ public CharElement buildCharElement(Class clazz) { CharElement charElem; if (clazz == Talent.class) { charElem = new Talent(); createFaehigkeit((Talent) charElem); ((Talent) charElem).setArt(Talent.Art.basis); ((Talent) charElem).setSorte(Talent.Sorte.gesellschaft); } else if (clazz == Zauber.class) { charElem = new Zauber(); createFaehigkeit((Zauber) charElem); } else if (clazz == Repraesentation.class) { charElem = new Repraesentation(); } else if (clazz == Vorteil.class) { charElem = new Vorteil(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Nachteil.class) { charElem = new Nachteil(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Sonderfertigkeit.class) { charElem = new Sonderfertigkeit(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Gottheit.class) { charElem = new Gottheit(); ((Gottheit) charElem).setGottheitArt(Gottheit.GottheitArt.zwoelfGoettlich); } else if (clazz == Liturgie.class) { charElem = new Liturgie(); ((Liturgie) charElem).setArt(Liturgie.LiturgieArt.allgemein); } else if (clazz == RegionVolk.class) { charElem = new RegionVolk(); ((RegionVolk) charElem).setArt(RegionVolk.RegionVolkArt.menschlich); } else if (clazz == Schrift.class) { charElem = new Schrift(); createSchriftSprache((SchriftSprache) charElem); } else if (clazz == Sprache.class) { charElem = new Sprache(); createSchriftSprache((SchriftSprache) charElem); } else if (clazz == Gegenstand.class) { charElem = new Gegenstand(); ((Gegenstand) charElem).setArt(Gegenstand.GegenstandArt.sonstiges); } else if (clazz == DaemonenPakt.class) { charElem = new DaemonenPakt(); } else if (clazz == MagierAkademie.class) { charElem = new MagierAkademie(); ((MagierAkademie) charElem).setGilde(Gilde.unbekannt); } else if (clazz == SchwarzeGabe.class) { charElem = new SchwarzeGabe(); } else if (clazz == SchamanenRitual.class) { charElem = new SchamanenRitual(); ((SchamanenRitual) charElem).setGrad(1); } else if (clazz == Rasse.class) { charElem = new Rasse(); ((Rasse) charElem).setArt(Rasse.RasseArt.menschlich); ((Rasse) charElem).setAlterWuerfel(new WuerfelSammlung(new int[] {1}, new int[] {3}, 15)); /* ((Rasse) charElem).setHaarfarbe( new FarbenAngabe[]{ new FarbenAngabe("Schwarz", 20), }); ((Rasse) charElem).setAugenfarbe( new FarbenAngabe[]{ new FarbenAngabe("Schwarz", 20), }); */ ((Rasse) charElem).setGeschlecht(Geschlecht.mannOderFrau); // ((Rasse) charElem).setKannGewaehltWerden(true); ((Rasse) charElem).setGeschwindigk(8); ((Rasse) charElem).setGewichtModi(100); ((Rasse) charElem).setGroesseWuerfel(new WuerfelSammlung(new int[] {2}, new int[] {20}, 160)); } else if (clazz == Kultur.class) { charElem = new Kultur(); ((Kultur) charElem).setArt(Kultur.KulturArt.menschlich); } else if (clazz == Profession.class) { charElem = new Profession(); ((Profession) charElem).setAufwand(Profession.Aufwand.normal); ((Profession) charElem).setArt(Profession.ProfArt.gesellschaftlich); } else { throw new IllegalArgumentException( "Keine Behandlung für ein Element des Typs " + clazz.toString() + " vorhanden."); } createCharElement(charElem); return charElem; }