public void AddLevel() { HeroLevel heroLevel = ScriptableObject.CreateInstance <HeroLevel>(); ScriptableObjects.Add(heroLevel, this); levels.Add(heroLevel); }
private void WriteDescriptor(XmlWriter writer, Hero hero, HeroLevel level, HeroDescriptor descriptor) { writer.WriteStartElement("SimulationDescriptor"); writer.WriteAttributeString("Name", descriptor.GetIdentifier(hero.Name, level.Level)); writer.WriteAttributeString("Type", XmlTranslation.AsText(descriptor.GetType(level.Level))); WriteModifiers(writer, descriptor); writer.WriteEndElement(); }
private HeroLevel CreateHeroLevel(XmlNode heroConfig) { var level = new HeroLevel(); level.FoodCost = heroConfig.Attribute <int>("FoodCost"); level.Level = XmlTranslation.ValueAs <int>(heroConfig.Attribute("Name").Split("_LVL")[1]); level.Skills = heroConfig.Select("Skills/Skill", CreateSkill); return(level); }
public HeroInfo(HeroDeath hd) { this.@class = hd.HeroClass; this.name = hd.HeroName; this.level = hd.HeroLevel; this.deathCause = hd.CauseOfDeath; this.affliction = hd.Affliction == null ? global::Affliction.None : hd.Affliction.GetValueOrDefault(); this.virtue = hd.Virtue == null ? global::Virtue.None : hd.Virtue.GetValueOrDefault(); }
private void PopulateDescriptor(Hero hero, HeroLevel level, XmlDocument document) { var xpath = $"Datatable/SimulationDescriptor[@Name='{level.GetIdentifier(hero.Name)}']"; var node = document.SelectSingleNode(xpath); if (node == null) { return; } level.Descriptors.Add(new HeroDescriptor { Modifiers = CreateModifiers(node), }); }
private void WriteSkills(XmlWriter writer, HeroLevel level) { if (level.Skills.Count == 0) { return; } writer.WriteStartElement("Skills"); level.Skills.ForEach(skill => { writer.WriteStartElement("Skill"); writer.WriteString(skill); writer.WriteEndElement(); }); writer.WriteEndElement(); }
private HeroDeath GetHeroFromGUI() { string heroName = HeroNameTextBox.Text; if (String.IsNullOrWhiteSpace(heroName)) { MessageBox.Show("Please provide a valid name for your hero!"); return(null); } HeroClass @class = (HeroClass)Enum.Parse(typeof(HeroClass), (HeroClassesComboBox.SelectedItem as string).Replace(' ', '_')); HeroLevel level = (HeroLevel)Enum.Parse(typeof(HeroLevel), HeroLevelsComboBox.SelectedItem as string); IList <HeroQuirk> negativeQuirks, positiveQuirks; IList <HeroDisease> diseases; negativeQuirks = new List <HeroQuirk>(this.ChosenNegativeQuirks); positiveQuirks = new List <HeroQuirk>(this.ChosenPositiveQuirks); diseases = new List <HeroDisease>(this.ChosenHeroDiseases); string causeOfDeath = CausesOfDeathListView.SelectedItem as string; if (causeOfDeath == null) { MessageBox.Show("Please select a cause of death for your hero!"); return(null); } Affliction?affliction = AfflictionComboBox.SelectedIndex == -1 ? null : (Affliction?)Enum.Parse(typeof(Affliction), AfflictionComboBox.SelectedItem as string); Virtue? virtue = VirtueComboBox.SelectedIndex == -1 ? null : (Virtue?)Enum.Parse(typeof(Virtue), VirtueComboBox.SelectedItem as string); HeroDeath hd = new HeroDeath() { Affliction = affliction, CauseOfDeath = causeOfDeath, Diseases = diseases, HeroClass = @class, HeroLevel = level, PositiveQuirks = positiveQuirks, NegativeQuirks = negativeQuirks, HeroName = heroName, Virtue = virtue }; hd.ImagePath = Morgue.GetInstance().ClassPortraits[hd.HeroClass]; return(hd); }
private void PopulateLevelDescriptors(Hero hero, HeroLevel level, XmlDocument document) { level.Descriptors = new Collection <HeroDescriptor>(); PopulateDescriptor(hero, level, document); }
private void MakeCharacter(HeroCard card) { Class = card; MaxHp = 3; Hp = Random.Range(1, 3); SkillPoint = Random.Range(1, 25); Level = HeroLevel.Rookie; Attributes = new List<Pair<Stat, int>> { Pairs.Make(card.Main, 3), Pairs.Make(card.Secondary, 2) }; Name = "Char " + Random.Range(0, 99999); HeroState = State.Free; }