示例#1
0
        public override void Update(Ship ship)
        {
            var builder = (BuilderShip)ship;

            if (builder.Building)
            {
                OrderComplete = true;
                return;
            }

            base.Update(ship);
            if (!BaseSpecs.IsTower(builder.BaseType) && _targetRock == null)
            {
                _targetRock = Utils.ClosestDistance(OrderPosition.X, OrderPosition.Y, _game.AllAsteroids.Where(_ => _.Active && _.SectorId == ship.SectorId && _.IsVisibleToTeam(ship.Team - 1) && _.Type == builder.TargetRockType));

                if (_targetRock != null)
                {
                    builder.Target = _targetRock;
                    OrderPosition  = _targetRock.CenterPoint;
                }
            }

            if (OrderComplete && (BaseSpecs.IsTower(builder.BaseType) || _targetRock != null))
            {
                builder.Building = true;
            }
        }
        public void BaseSpecsConstructorTest()
        {
            var baseTest = new BaseSpecs(testBase, testStart, testEnd);

            Assert.Equal(testBase, baseTest.BaseName);
            Assert.Equal(testStart, baseTest.Start);
            Assert.Equal(testEnd, baseTest.Finish);
        }
        public void EndURLMethodTest()
        {
            var baseTest = new BaseSpecs(testBase, testStart, testEnd);

            Assert.Equal($"/Hourly-1Sec/{testEnd.Year}/0{testEnd.Month}/0{testEnd.Day}/{testBase}", baseTest.EndUrl());
        }