// Multiclass Character public Character(List <CharacterClass> characterClasses, ExtensionsDatabase extensions) { List <int> unique_proficiency_ids = new List <int>(); Class = null; Multiclass = characterClasses; foreach (CharacterClass characterClass in characterClasses) { Level += characterClass.Level; // Compile proficiency lists foreach (int proficiency_id in characterClass.Proficiencies) { if (!unique_proficiency_ids.Contains(proficiency_id)) { unique_proficiency_ids.Add(proficiency_id); } } // Add proficiencies from each class without duplication foreach (int id in unique_proficiency_ids) { Feat proficiency = extensions.GetFeatById(id); Feats.Add(proficiency); } } }
public Character CreateCharacter(string characterClass, ExtensionsDatabase extensions) { CharacterClass classObject = GetByName(characterClass); Character character = new Character(classObject, extensions); return(character); }
void Awake() { Weapons = gameObject.AddComponent(typeof(WeaponDatabase)) as WeaponDatabase; Ammunition = gameObject.AddComponent(typeof(AmmunitionDatabase)) as AmmunitionDatabase; Armor = gameObject.AddComponent(typeof(ArmorDatabase)) as ArmorDatabase; Upgrades = gameObject.AddComponent(typeof(UpgradeDatabase)) as UpgradeDatabase; Extensions = gameObject.AddComponent(typeof(ExtensionsDatabase)) as ExtensionsDatabase; Classes = gameObject.AddComponent(typeof(ClassDatabase)) as ClassDatabase; }
public Character(CharacterClass characterClass, ExtensionsDatabase extensions) { Level = characterClass.Level; Class = characterClass; foreach (int proficiency_id in characterClass.Proficiencies) { Feat proficiency = extensions.GetFeatById(proficiency_id); Feats.Add(proficiency); } }
public Character CreateCharacter(GameObject characterObject, string characterClass, int level, ExtensionsDatabase extensions) { CharacterClass classObject = GetByName(characterClass); classObject.Level = level; Character temporaryCharacter = new Character(classObject, extensions); Character character = characterObject.AddComponent <Character>(); character.Clone(temporaryCharacter); return(character); }
public Character CreateCharacter(List <CharacterClass> characterClasses, ExtensionsDatabase extensions) { Character character = new Character(characterClasses, extensions); return(character); }