/// <summary> /// Gets the I fertigkeit from reference. /// </summary> /// <returns>The I fertigkeit from reference.</returns> /// <param name="charakterFertigkeit">Charakter fertigkeit.</param> /// <param name="fertigkeiten">Fertigkeiten.</param> /// <typeparam name="U">The 1st type parameter.</typeparam> /// <typeparam name="T">The 2nd type parameter.</typeparam> private IFertigkeit GetIFertigkeitFromRef <U, T>(U charakterFertigkeit, List <T> fertigkeiten) where U : ILernplan where T : IFertigkeit { int fertId = charakterFertigkeit.id; IFertigkeit fertObject = ObjectXMLHelper.GetMidgardObjectById <T>(fertigkeiten, fertId); return(fertObject); }
public void SetTypAndSex() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; //Lädt die relevante ID für die ausgewählten optionstext int AbID = ObjectXMLHelper.GetChosenOptionIndex(AbTyp.captionText.text, MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen); mCharacter.Archetyp = (AbenteuerTyp)AbID - 1; //Achtung enum nullbasiert mCharacter.Sex = (Geschlecht)SexTyp.value; }
public void SetSpeciesZwergTest() { _mCharacter.Spezies = Races.Zwerg; int raceIdZwerg = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeTypenZwerg = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceIdZwerg); Assert.AreEqual(_ANZAHL_ABENTEUERERTYPEN_PRO_ZWERG, listeTypenZwerg.Count); var beschwoerer = listeTypenZwerg [3]; StringAssert.AreEqualIgnoringCase("beschwörer", beschwoerer.name); }
/// <summary> /// Anzahl Abenteurertypen Halbling:7, Stichprobe 1 /// </summary> public void SetSpeciesHalblingTest() { _mCharacter.Spezies = Races.Halbling; int raceIdHalbling = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeTypenHalblinge = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceIdHalbling); Assert.AreEqual(_ANZAHL_ABENTEUERERTYPEN_PRO_HALBLING, listeTypenHalblinge.Count); var waldi = listeTypenHalblinge [2]; StringAssert.AreEqualIgnoringCase("waldläufer", waldi.name); }
/// <summary> /// Rasse Berggnom, 9 ATypen. Stichprobe auf 3 /// </summary> public void SetSpeciesBerggnomTest() { _mCharacter.Spezies = Races.Berggnom; int raceIdBerggnom = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeTypenBerggnom = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceIdBerggnom); Assert.AreEqual(_ANZAHL_ABENTEUERERTYPEN_PRO_BERGGNOM, listeTypenBerggnom.Count); var spitzi = listeTypenBerggnom [2]; StringAssert.AreEqualIgnoringCase("spitzbube", spitzi.name); var waldi = listeTypenBerggnom [3]; StringAssert.AreEqualIgnoringCase("waldläufer", waldi.name); }
/// <summary> /// Gets the relevant fachkenntnisse. /// </summary> /// <param name="charakterFachkenntnisse">Charakter fachkenntnisse.</param> private List <InventoryItem> GetRelevantZauber <U, T>(List <U> charakterZauber, List <T> allZauber) where U : IDisplay where T : IZauber { List <InventoryItem> listItems = new List <InventoryItem> (); //Fachkenntnisse für Lernplan foreach (var zauberRef in charakterZauber) { int zauberID = zauberRef.id; IZauber fertObject = ObjectXMLHelper.GetMidgardObjectById <T>(allZauber, zauberID); InventoryItem item = new InventoryItem(); item.name = fertObject.name; item.val = "-"; item.cost = zauberRef.cost; listItems.Add(item); } return(listItems); }
/// <summary> /// Anzahl Abenteurertypen Elf: 9, Stichprobe 3 /// </summary> public void SetSpeciesWaldgnomTest() { const int _NUMBERABENTEURERTYPEN = 9; _mCharacter.Spezies = Races.Waldgnom; int raceIdWaldgnom = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeTypenWaldgnom = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceIdWaldgnom); Assert.AreEqual(_NUMBERABENTEURERTYPEN, listeTypenWaldgnom.Count); var spitzi = listeTypenWaldgnom [2]; StringAssert.AreEqualIgnoringCase("spitzbube", spitzi.name); var waldi = listeTypenWaldgnom [3]; StringAssert.AreEqualIgnoringCase("waldläufer", waldi.name); }
public void SetCharacterSpecies() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; Rassen midgardRassen = MidgardResourceReader.GetMidgardResource <Rassen> (MidgardResourceReader.MidgardRassen); //Achtung: Hole die ID der Rasse int rassenID = ObjectXMLHelper.GetChosenOptionIndex(DropRasse.captionText.text, midgardRassen.rassenListe); mCharacter.Spezies = (Races)rassenID - 1; //Achtung: enum o-basiert //Jetzt müsssen die Optionen für die nächste Dropdown gesetzt werden: Wähle dazu die Abenteuertypen mit der entsprechenden RassenID List <AbenteurerTyp> listeTypen = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, rassenID); ObjectXMLHelper.FillDropBoxMidgardObject <AbenteurerTyp> (listeTypen, DropATyp); }
/// <summary> /// Test Rasse Mensch. Ermöglicht 30 Abenteurertypen. /// Test auf enthaltenen Assassinen, Barbar und Ordenskrieger /// </summary> public void SetSpeciesMenschTest() { _mCharacter.Spezies = Races.Mensch; int raceId = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeTypen = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceId); Assert.AreEqual(_ANZAHL_ABENTEUERERTYPEN_PRO_MENSCH, listeTypen.Count); var assassine = listeTypen [0]; StringAssert.AreEqualIgnoringCase("assassine", assassine.name); var barbarNord = listeTypen [1]; StringAssert.Contains("Barbar", barbarNord.name); var ordenskrieger = listeTypen [14]; StringAssert.AreEqualIgnoringCase("Ordenskrieger", ordenskrieger.name); }
/// <summary> /// Rasse Elf, 8 ATypen. Stichprobe auf 3 /// </summary> public void SetSpeciesElfTest() { _mCharacter.Spezies = Races.Elf; int raceIdElf = (int)_mCharacter.Spezies + 1; List <AbenteurerTyp> listeAbenteuererTypenElf = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, raceIdElf); Assert.AreEqual(_ANZAHL_ABENTEUERERTYPEN_PRO_ELF, listeAbenteuererTypenElf.Count); var glücksritter = listeAbenteuererTypenElf [0]; StringAssert.AreEqualIgnoringCase("glücksritter", glücksritter.name); var krieger = listeAbenteuererTypenElf [1]; StringAssert.AreEqualIgnoringCase("krieger", krieger.name); var magier = listeAbenteuererTypenElf [7]; StringAssert.AreEqualIgnoringCase("magier", magier.name); }
/// <summary> /// Modifies the angeborene fertigkeiten durch Würfelwurf /// </summary> /// <param name="mChar">M char.</param> //TODO Modifikation für Rassen public static void ModifyAngeboreneFertigkeiten(MidgardCharakter mChar, int w100) { List <Sinn> sinne = MidgardResourceReader.GetMidgardResource <AngeboreneFertigkeiten>(MidgardResourceReader.MidgardAngeboren).listSinne; mChar.listSinne = sinne; if (w100 <= 2) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Sehen, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 2 && w100 <= 4) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Hoeren, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 4 && w100 <= 6) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Riechen, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 6 && w100 <= 8) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Schmecken, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 8 && w100 <= 10) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Tasten, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 10 && w100 <= 20) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Sehen, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 20 && w100 <= 30) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Hoeren, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 30 && w100 <= 40) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Riechen, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 40 && w100 <= 50) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Schmecken, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 50 && w100 <= 60) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Tasten, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 60 && w100 <= 65) { Sinn sinn = ModifyCharakterSinnNatur(Senses.SechsterSinn, 6); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 65 && w100 <= 70) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Berserkergang, Mathf.FloorToInt(18 - mChar.Wk / 5)); mChar.listAngeboren.Add(angFert); } else if (w100 > 70 && w100 <= 75) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.GuteReflexe, 9); mChar.listAngeboren.Add(angFert); } else if (w100 > 75 && w100 <= 80) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Nachtsicht, 8); mChar.listAngeboren.Add(angFert); } else if (w100 > 80 && w100 <= 85) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Richtungssinn, 12); mChar.listAngeboren.Add(angFert); } else if (w100 > 85 && w100 <= 90) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Robustheit, 9); mChar.listAngeboren.Add(angFert); } else if (w100 > 90 && w100 <= 95) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Wachgabe, 6); mChar.listAngeboren.Add(angFert); } else if (w100 > 95 && w100 <= 99) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Einpraegen, 4); mChar.listAngeboren.Add(angFert); } }