Пример #1
0
        public void Combat_Nav12()
        {
            setupEnvironment0();

            battle.Start();

            Compass        startHeading    = new Compass(0, false);
            Compass        angletoWaypoint = new Compass(0, false);
            PointXd        waypntloc       = new PointXd(0, 10, 0);
            PointXd        waypndVel       = new PointXd(0, 0, 0);
            CombatWaypoint waypoint        = new CombatWaypoint(waypntloc, waypndVel);

            bool    expectedThrustToWaypoint  = false;
            Compass expectedHeading           = new Compass(180, false);
            Tuple <Compass, bool> expectednav = new Tuple <Compass, bool>(expectedHeading, expectedThrustToWaypoint);
            CombatVehicle         testComObj  = battle.CombatVehicles.ToArray()[0];

            testComObj.cmbt_loc        = new PointXd(0, 0, 0);
            testComObj.cmbt_vel        = new PointXd(0, 5, 0);
            testComObj.maxfowardThrust = 150;
            testComObj.maxStrafeThrust = 37.5;
            testComObj.maxRotate       = new Compass(45, false);
            testComObj.cmbt_head       = new Compass(startHeading.Degrees, false);
            testComObj.waypointTarget  = waypoint;

            Tuple <Compass, bool?> nav = testComObj.testNav(angletoWaypoint);

            battle.End(battle.CurrentTick);
            Assert.AreEqual(expectednav.Item1.Degrees, nav.Item1.Degrees);
            Assert.AreEqual(expectednav.Item2, nav.Item2);
        }
Пример #2
0
        public void Combat_Nav10()
        {
            setupEnvironment0();
            Console.WriteLine("Nav test 0");

            battle.Start();

            Compass        startHeading    = new Compass(0, false);
            Compass        angletoWaypoint = new Compass(0, false);
            PointXd        waypntloc       = new PointXd(0, 1000, 0);
            PointXd        waypndVel       = new PointXd(0, 1000, 0);
            CombatWaypoint waypoint        = new CombatWaypoint(waypntloc, waypndVel);

            bool    expectedToWaypoint        = true;
            Compass expectedHeading           = new Compass(0);
            Tuple <Compass, bool> expectednav = new Tuple <Compass, bool>(expectedHeading, expectedToWaypoint);
            CombatVehicle         testComObj  = battle.CombatVehicles.ToArray()[0];

            testComObj.cmbt_loc       = new PointXd(0, 0, 0);
            testComObj.cmbt_vel       = new PointXd(0, 0, 0);
            testComObj.cmbt_head      = new Compass(startHeading.Degrees, false);
            testComObj.waypointTarget = waypoint;

            Tuple <Compass, bool?> nav = testComObj.testNav(angletoWaypoint);

            battle.End(battle.CurrentTick);
            Assert.AreEqual(expectednav.Item1.Degrees, nav.Item1.Degrees);
            Assert.AreEqual(expectednav.Item2, nav.Item2);
        }
Пример #3
0
    void Awake()
    {
        ComSat.Trace(this, "Awake");
        entity = GetComponent <Entity>();
        entity.AddUpdateAction(TickUpdate);
        combatVehicle = GetComponent <CombatVehicle>();

        fireCycle = FireCycle.READY;
    }
Пример #4
0
    void Awake()
    {
        ComSat.Trace(this, "Awake");
        entity = GetComponent <Entity>();
        entity.AddUpdateAction(TickUpdate);
        combatVehicle = GetComponent <CombatVehicle>();

        missilesLoaded = maxMissiles;
    }
Пример #5
0
        public void Combat_Missle()
        {
            setupEnvironment1();

            battle.Start();

            Compass        startHeading    = new Compass(0, false);
            Compass        angletoWaypoint = new Compass(0, false);
            PointXd        waypntloc       = new PointXd(0, 0, 0);
            PointXd        waypndVel       = new PointXd(0, 0, 0);
            CombatWaypoint waypoint        = new CombatWaypoint(waypntloc, waypndVel);

            bool    expectedThrustToWaypoint  = true;
            Compass expectedHeading           = new Compass(0, false);
            Tuple <Compass, bool> expectednav = new Tuple <Compass, bool>(expectedHeading, expectedThrustToWaypoint);


            CombatVehicle attacker = battle.CombatVehicles.ToArray()[0];

            attacker.cmbt_loc       = new PointXd(0, -100, 0);
            attacker.cmbt_vel       = new PointXd(0, 0, 0);
            attacker.cmbt_head      = new Compass(startHeading.Degrees, false);
            attacker.waypointTarget = waypoint;
            CombatWeapon wpn = attacker.Weapons.ToArray()[0];

            CombatVehicle target = battle.CombatVehicles.ToArray()[1];

            target.cmbt_loc       = new PointXd(0, 100, 0);
            target.cmbt_vel       = new PointXd(0, 0, 0);
            target.cmbt_head      = new Compass(180, false);
            target.waypointTarget = waypoint;

            attacker.weaponTarget[0] = target;

            CombatSeeker testSeeker = new CombatSeeker(attacker, wpn, -1);

            battle.CombatNodes.Add(testSeeker);

            Tuple <Compass, bool?> nav = testSeeker.testNav(angletoWaypoint);

            battle.End(battle.CurrentTick);
            Assert.AreEqual(expectednav.Item1.Degrees, nav.Item1.Degrees);
            Assert.AreEqual(expectednav.Item2, nav.Item2);
        }
Пример #6
0
 void Awake()
 {
     entity = GetComponent <Entity>();
     entity.AddUpdateAction(TickUpdate);
     combatVehicle = GetComponent <CombatVehicle>();
 }