Exemplo n.º 1
0
        // 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);
                }
            }
        }
Exemplo n.º 2
0
        public Character CreateCharacter(string characterClass, ExtensionsDatabase extensions)
        {
            CharacterClass classObject = GetByName(characterClass);
            Character      character   = new Character(classObject, extensions);

            return(character);
        }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        public Character CreateCharacter(List <CharacterClass> characterClasses, ExtensionsDatabase extensions)
        {
            Character character = new Character(characterClasses, extensions);

            return(character);
        }