Esempio n. 1
0
        /// <summary>
        /// Main constructor
        /// </summary>
        /// <param name="stats">Stats to use for this character</param>
        /// <param name="look">Look to use for this character</param>
        /// <param name="brain">Brain to use for this character</param>
        /// <param name="spells">Spells to use for this character</param>
        /// <param name="inventory">Inventory to use for this character</param>
        /// <param name="equipment">Equipment to use for this character</param>
        public Character(Stats stats, Look look, Brain brain, SpellBooks spells, Inventory inventory, Equipment equipment)
        {
            this.Stats     = stats;
            this.Buffs     = new Buffs();
            this.Brain     = brain;
            this.Look      = look;
            this.Spells    = spells;
            this.Inventory = inventory;
            this.Equipment = equipment;
            this.flags     = new HashSet <Flag>();

            Brain.Spells = this.Spells;
            Stats.Update(this);
            Equipment.AddBuff    = b => Buffs.AddBuff(b);
            Equipment.RemoveBuff = b => Buffs.RemoveBuff(RemovalType.DISPEL, b);
            Stats.InitializeResources();
            Stats.GetEquipmentBonus = f => Equipment.GetBonus(f);
            Buffs.Stats             = Stats;
            this.id = idCounter++;
        }
Esempio n. 2
0
        /// <summary>
        /// Main constructor
        /// </summary>
        /// <param name="stats">Stats to use for this character</param>
        /// <param name="look">Look to use for this character</param>
        /// <param name="brain">Brain to use for this character</param>
        /// <param name="spells">Spells to use for this character</param>
        /// <param name="inventory">Inventory to use for this character</param>
        /// <param name="equipment">Equipment to use for this character</param>
        public Character(Stats stats, Look look, Brain brain, SpellBooks spells, Inventory inventory, Equipment equipment)
        {
            this.Stats     = stats;
            this.Buffs     = new Buffs(stats);
            this.Brain     = brain;
            this.Look      = look;
            this.Spells    = spells;
            this.Inventory = inventory;
            this.Equipment = equipment;
            this.flags     = new HashSet <Flag>();

            Brain.Spells = this.Spells;
            Stats.Update(this);
            Equipment.AddBuff    = b => Buffs.AddBuff(b);
            Equipment.RemoveBuff = b => Buffs.RemoveBuff(RemovalType.TIMED_OUT, b);
            Stats.InitializeResources();
            Stats.GetEquipmentBonus = f => Equipment.GetBonus(f);
            this.id = idCounter++;

            this.effectsQueue            = new Queue <GameObject>();
            this.parentToEffectsFunc     = (go) => effectsQueue.Enqueue(go);
            this.isPortraitAvailableFunc = () => false;
        }
Esempio n. 3
0
 /// <summary>
 /// Spellless constructor
 /// </summary>
 /// <param name="stats">Stats to use for this character</param>
 /// <param name="look">Look to use for this character</param>
 /// <param name="brain">Brain to use for this character</param>
 public Character(Stats stats, Look look, Brain brain) : this(stats, look, brain, new SpellBooks(), new Inventory(), new Equipment())
 {
 }