Esempio n. 1
0
        public void GenerateAsteroidTest()
        {
            var localServer = EnvironmentGlobal.CreateGameServer("CelestialObjectsFactoryTests");

            var gameSession = localServer.RefreshGameSession();

            var asteroid = CelestialObjectsFactory.GenerateAsteroid(gameSession);

            Assert.IsNotNull(asteroid);

            Assert.IsTrue(asteroid.Direction > 0 && asteroid.Direction <= 360);

            Assert.IsTrue(asteroid.Speed > 0 && asteroid.Speed <= 30);
        }
Esempio n. 2
0
        public CommandExecuteResult Execute(GameSession gameSession, Command command)
        {
            Logger.Debug(TraceMessage.Execute(this, "Execute command scanning is started."));

            gameSession.AddHistoryMessage("started.", GetType().Name, true);

            if (RandomGenerator.DiceRoller() < gameSession.Rules.Spawn.AsteroidSmallSize)
            {
                Logger.Debug(TraceMessage.Execute(this, "Add new asteroid."));

                gameSession.AddCelestialObject(CelestialObjectsFactory.GenerateAsteroid(gameSession));
            }

            return(new CommandExecuteResult {
                Command = command, IsResume = false
            });
        }
Esempio n. 3
0
        public List <GameEventParameter> Execute(GameSession session)
        {
            var result = new List <GameEventParameter>();

            foreach (var spaceShip in _spaceShips)
            {
                var generatedSpaceShip =
                    CelestialObjectsFactory.GenerateNpcShip(session, spaceShip.SpaceShipClass, spaceShip.SpaceShipType, spaceShip.Standing);

                spaceShip.Message = $"Found spaceship. Engine signature is '{generatedSpaceShip.Id}'";

                result.Add(new GameEventParameter(GameEventParameterTypes.CelestialObjectId, generatedSpaceShip.Id.ToString()));

                session.GetCelestialObjects().Add(generatedSpaceShip);
            }

            return(result);
        }
        public void GenerateNpcShip_Test()
        {
            var settings = new EngineSettings {
                DebugProperties = new DebugProperties(true, true)
            };

            var server = EnvironmentGlobal.CreateGameServer("General", settings);

            server.EnableDebugMode();

            var gameSession = EnvironmentGlobal.GetSession(server);

            var result = CelestialObjectsFactory.GenerateNpcShip(gameSession, 12, 12, 1).ToSpaceship();

            Assert.IsTrue(result.Id > 0);
            Assert.AreEqual(4, result.Modules.Count);
            Assert.AreEqual(6, result.MaxSpeed);
        }