Пример #1
0
        public UnitEntity(string name, Vector3Int initialPosition, int maxHealth, int sight, bool isPlayerControlled, int movementSpeed, IWorld world, UnitEntityCombatData combatData)
        {
            //ID = id;
            Name     = name;
            Position = initialPosition;

            Level      = 0;
            Experience = 0;

            MaxHealth = maxHealth;
            Health    = maxHealth;
            IsAlive   = true;

            this.sight = sight;
            this.world = world;

            IsPlayerControlled = isPlayerControlled;

            movement  = new UnitEntityMovement(this, world, movementSpeed);
            combat    = new UnitEntityCombat(this, world, movement, combatData);
            inventory = new Inventory(100); //TODO: placeholder UnitEntity inventory weight

            // TODO: placeholder UnitEntity initialization
            inventory.AddItem(new Items.UtilityItems.UtilityItem("health_potion", "Health Potion", 1, 1, 1, "Potion", 1, 0, new Abilities.AbilityEffect[] {
                new Abilities.HealAbilityEffect(10)
            }, new Abilities.HexAbilityAOE(0), true, false));

            UpdateVision();
            world.UnitManager.AddUnit(this);
        }
Пример #2
0
        public UnitEntityCombat(UnitEntity unit, IWorld world, IUnitEntityMovement movement, UnitEntityCombatData data) : this(unit, world, movement)
        {
            mana    = data.maxMana;
            maxMana = data.maxMana;

            attack     = data.attack;
            defence    = data.defence;
            piercing   = data.piercing;
            magic      = data.magic;
            resistance = data.resistance;
        }
Пример #3
0
        public UnitEntityCombat(UnitEntity unit, IWorld world, IUnitEntityMovement movement)
        {
            this.Unit     = unit;
            this.world    = world;
            this.movement = movement;
            Abilities     = new List <string>()
            {
                "attack"
            };

            CanAttack = true;

            // TODO: placeholder test stuff
            Abilities.Add("fireball");
        }