public void CharacterSimpleConstructorTest() { string name = "TestName"; var character = new Character(name, talentsManager); Assert.Equal(name, character.Name); Assert.Equal(null, character.Race); Assert.Equal(null, character.getClasse()); Assert.Equal(0, character.ExperienceAvailable); Assert.Equal(20, character.ExperienceRemaining); Assert.Equal(-20, character.ExperienceUsed); /*Assert.Equal(20, character.Fatigue); Assert.Equal(20, character.Chi); Assert.Equal(20, character.Mana); Assert.Equal(20, character.Endurance);*/ }
public static string ExportCharacter(Character character) { const string separator = "-------------------------------------------"; var fiche = new List<String> { String.Format("Nom: {0}", character.Name), String.Format("Race: {0}", character.Race.Name), String.Format("Classe: {0}", character.getClasse()), String.Format("Niveau: {0}", character.GetLevel()) }; fiche.Add(separator); fiche.AddRange( new[] {Aspect.Eau, Aspect.Feu, Aspect.Terre, Aspect.Vent, Aspect.Acier, Aspect.Arcane, Aspect.Equilibre} .Select(item => String.Format("{0} : {1}", item, character.GetAspectValue(item))) ); fiche.Add(separator); fiche.Add(String.Format("PS: {0}", character.Ps)); fiche.Add(String.Format("PE Indemne: {0}", character.Endurance + 5 * character.GetTalent("Endurance").Level)); fiche.Add(String.Format("PE: {0}", character.Endurance)); fiche.Add(String.Format("PE Agonisant: {0}", character.Endurance + 7 * character.GetTalent("Volonté").Level)); fiche.Add(String.Format("PF: {0}", character.Fatigue)); fiche.Add(String.Format("PC: {0}", character.Chi)); fiche.Add(String.Format("PM: {0}", character.Mana)); fiche.Add(String.Format("PK: {0}", character.Karma())); fiche.Add(separator); fiche.AddRange(from talent in character.Talents where talent.Level > 0 select String.Format("{0}: {1}", talent.Name, talent.Level) ); fiche.Add(separator); Classe classe = character.getClasse(); if (classe != null) { fiche.Add("Récupération:"); fiche.Add(String.Format("PE: {0}", classe.RPE)); fiche.Add(String.Format("PF: {0}", classe.RPF)); fiche.Add(String.Format("PC: {0}", classe.RPC)); fiche.Add(String.Format("PM: {0}", classe.RPM)); fiche.Add(separator); } fiche.Add("Sauvegardes:"); fiche.Add(String.Format("Reflexe: {0}", character.Reflex)); fiche.Add(String.Format("Robustesse: {0}", character.Robustesse)); fiche.Add(String.Format("Volonté: {0}", character.Willpower)); fiche.Add(separator); fiche.Add("Stats secondaires:"); fiche.Add(String.Format("Pénalité de poids: {0}", character.penPoid)); fiche.Add(String.Format("Déplacement: {0}", 3 + character.GetAspectValue(Aspect.Vent)/3 - character.penPoid)); fiche.Add(String.Format("Initiative: {0}", character.GetAspectValue(Aspect.Vent) - character.penPoid)); fiche.Add(String.Format("Réunion de Mana: {0}", 6 - character.penPoid)); fiche.Add(String.Format("Impulsion de Mana: {0}", 5 + character.GetAspectValue(Aspect.Vent))); return string.Join(Environment.NewLine, fiche); }
private void CharacterManager_OnCharacterChanged(Character caller) { character = caller; character.GetTalent("Apprentissage").LevelChanged += (sender, args) => OnPropertyChanged(() => Competences); character.GetTalent("Maitrise").LevelChanged += (sender, args) => OnPropertyChanged(() => Competences); SelectedClasse = character.getClasse(); OnPropertyChanged(null); }