Example #1
0
        public void AddTile_IsAddedToDictionary_DictionaryCountIncreases()
        {
            var tileHandler = new TileHandler(new GridHandler(new CameraHandler()));

            tileHandler.AddTile(new Point(0, 0));

            Assert.AreEqual(1, tileHandler.TileDictionary.Count);
            Assert.AreEqual(1, tileHandler.TilePropertyDictionary.Count);
        }
Example #2
0
        public void GetTile_TileDataIsEqual_RetrievesCorrectTile()
        {
            var tileHandler = new TileHandler(new GridHandler(new CameraHandler()));

            tileHandler.AddTile(new Point(0, 0), 3);

            var retrievedTile = tileHandler.GetTile(new Point(0, 0));

            Assert.AreEqual(3, retrievedTile.TextureId);
        }
Example #3
0
        public void Reset_ClearsTheTileDictionaries_DictionariesEmpty()
        {
            var gridHandler = new GridHandler(new CameraHandler());
            var tileHandler = new TileHandler(gridHandler);

            tileHandler.AddTile(new Point(0, 0));
            Assert.AreEqual(1, tileHandler.TileDictionary.Count);

            tileHandler.Reset();
            Assert.AreEqual(0, tileHandler.TileDictionary.Count);
            Assert.AreEqual(0, tileHandler.TilePropertyDictionary.Count);
        }
Example #4
0
        /// <summary>
        /// Loads tiles from a json array into the tilehandlers array
        /// </summary>
        /// <param name="mapProperties"></param>
        private void LoadTilesFromJSON(JArray mapTiles)
        {
            if (mapTiles == null)
            {
                return;
            }

            foreach (var jsonProperty in mapTiles)
            {
                var   jsonPosition = jsonProperty["Position"];
                Point position     = new Point((int)jsonPosition["X"], (int)jsonPosition["Y"]);

                _tileHandler.AddTile(position, (int)jsonProperty["Id"]);
            }
        }
    /// <summary>
    /// Adds obstacle from tile where mouse clicked
    /// </summary>
    private void AddObstacle()
    {
        Vector2 tile = MousePositionToTile();

        // If tile occupied by obstacle already
        if (_tileHandler.IsTileOccupied(tile))
        {
            return;
        }

        // If space is occupied by player og goal
        if ((_tileHandler.ClosestTile(Player.transform.position) == tile) || (_tileHandler.ClosestTile(Goal.transform.position) == tile))
        {
            return;
        }

        _tileHandler.AddTile(tile, CreateObstacle(tile));
    }