Ejemplo n.º 1
0
        public void Simple()
        {
            var attacker = new SimpleCombatUnit(0);
            var victim   = new SimpleBuildingUnit(1);

            State.AddUnit(attacker, new Vector2(0, 0));
            State.AddUnit(victim, new Vector2(0.5, 0.5) * attacker.FireRadius);

            Engine.SetUnitAttacking(State, attacker, victim);

            FullUpdate();

            Assert.False(State.Units.Contains(victim));
        }
Ejemplo n.º 2
0
        public void UnitCannotMove_NothingChaged()
        {
            var attacker         = new SimpleCombatUnit(0);
            var victim           = new SimpleBuildingUnit(1);
            var attackerStartPos = new Vector2(0, 0);
            var buildingPos      = new Vector2(2, 2) * attacker.FireRadius;

            State.AddUnit(attacker, attackerStartPos);
            State.AddUnit(victim, buildingPos);

            Engine.SetUnitAttacking(State, attacker, victim);

            Assert.AreEqual(attackerStartPos, attacker.Position);
            Assert.Contains(victim, State.Units);
        }
        public void OneBarrier()
        {
            var unit     = new SimpleMovableUnit(0);
            var building = new SimpleBuildingUnit(1);
            var start    = new Vector2(0, 0);

            State.AddUnit(unit, start);
            State.AddUnit(building, new Vector2(25, 25));
            var finish = new Vector2(100, 100);

            Engine.SetUnitMovingTo(State, unit, finish);
            var количествоЦиклов = (int)(GeometryMethods.GetDistance(start, finish) / unit.Speed) + 1;

            FullUpdate(количествоЦиклов);

            Assert.AreNotEqual(finish, State.GetUnit(0).Position);
        }
Ejemplo n.º 4
0
        public void UnitGoToTarget()
        {
            var attacker         = new SimpleCombatMovableUnit(0);
            var victim           = new SimpleBuildingUnit(1);
            var attackerStartPos = new Vector2(0, 0);
            var buildingPos      = new Vector2(2, 2) * attacker.FireRadius;

            State.AddUnit(attacker, attackerStartPos);
            State.AddUnit(victim, buildingPos);

            Engine.SetUnitAttacking(State, attacker, victim);
            FullUpdate();

            Assert.False(State.Units.Contains(victim));
            Assert.AreNotEqual(attackerStartPos, attacker.Position);
            Assert.AreNotEqual(buildingPos, attacker.Position);
        }