public void PrepareNewGame(List <UnityPlayer> players, int seed)
        {
            var mapGenerator = new GameMapGenerator <UnityPlayer>(players);

            _gameMap = mapGenerator.GenerateGameMap(seed);
            _players = players;
        }
Example #2
0
        public void PrepareNewGame(List <UnityPlayer> players, int seed)
        {
            _players = players.Cast <Player>().ToList();
            var mapGenerator = new GameMapGenerator(_players);

            _gameMap = mapGenerator.GenerateGameMap(seed);
        }
Example #3
0
    public void FixedUpdate()
    {
        if (PhotonNetwork.IsMasterClient != true)
        {
            return;
        }
        if (foundPlayer == false)
        {
            var plr = FindObjectOfType <PlayerCube>();
            if (plr != null)
            {
                map     = FindObjectOfType <GameMapGenerator>();
                player  = FindObjectOfType <PlayerCube>();
                playerT = player.transform;

                photonView.RPC("NextWave", RpcTarget.AllBuffered, "STARTING ENEMY WAVES!");
                foundPlayer = true;
            }
        }
        if (remainingEnemiesToSpawn > 0 && Time.time > nextSpawnTime)
        {
            remainingEnemiesToSpawn--;
            nextSpawnTime = Time.time + currentWave.timeBetweenSpawns;

            if (enemyObjects.Count > 0)
            {
                GameObject enemyToSpawn     = enemyObjects.First();
                int        enemyObjectIndex = enemyObjects.IndexOf(enemyToSpawn);
                StartCoroutine(SpawnEnemy(enemyToSpawn));
                enemyObjects.RemoveAt(enemyObjectIndex);
            }
        }
    }
Example #4
0
    public void Start()
    {
        if (PhotonNetwork.IsMasterClient != true)
        {
            return;
        }
        if (FindObjectOfType <PlayerCube>() != null)
        {
            map     = FindObjectOfType <GameMapGenerator>();
            player  = FindObjectOfType <PlayerCube>();
            playerT = player.transform;

            //enemyp = enemy.gameObject;
            //greenEnemyp = greenEnemy.gameObject;
            //yellowEnemyp = yellowEnemy.gameObject;
            //orangeEnemyp = orangeEnemy.gameObject;
            //blackEnemyp = blackEnemy.gameObject;

            //if (gameStarted == false)
            //{
            photonView.RPC("NextWave", RpcTarget.AllBuffered, "STARTING ENEMY WAVES!");
            //    gameStarted = true;
            //}
        }
    }
        /// <summary>
        /// Prepares a new game.  This will generate a new game map with the provided seed, and register all of the players on the game map
        /// </summary>
        /// <param name="players">The players to register</param>
        /// <param name="seed">The seed for this map</param>
        /// <exception cref="MapUnsuitableException">Will throw an exception if the seed produces an unsuitable map</exception>
        public void PrepareGame(List <Player> players, int seed)
        {
            var seedGenerator = new Random(seed);
            var randomSeed    = seedGenerator.Next();
            var generationOk  = false;

            while (!generationOk)
            {
                Logger.LogInfo("Trying seed " + randomSeed + "...");

                try
                {
                    var mapGenerator = new GameMapGenerator <Player>(players);
                    _gameMap     = mapGenerator.GenerateGameMap(randomSeed);
                    generationOk = true;
                }
                catch (MapUnsuitableException ex)
                {
                    Logger.LogException("Map not suitable with seed, trying a new one.", ex);
                    randomSeed = seedGenerator.Next();
                }
            }

            _players      = players;
            _currentRound = 0;

            foreach (var player in _players)
            {
                player.CommandListener += player_CommandListener;
            }

            Logger.LogInfo("\tOK!");

            using (var enumerator = _gameMap.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    if (enumerator.Current == null)
                    {
                        continue;
                    }

                    var block = enumerator.Current.Entity as DestructibleWallEntity;
                    if (block != null)
                    {
                        _playerKillPoints += Settings.Default.PointsWall;
                    }
                }
            }

            //Players should only get slightly more points vs points obtained from destroying walls
            _playerKillPoints /= players.Count;
        }
Example #6
0
 public void Start()
 {
     map      = GameMapGenerator.instance;
     eSpawner = EnemySpawner.instance;
 }
Example #7
0
 void Awake()
 {
     instance = this;
 }
Example #8
0
 private void Start()
 {
     grid = GameObject.Find("MapGenerator").GetComponent <GameMapGenerator>();
 }