상속: BiomeTile
예제 #1
0
        public void Test_IsForestTile()
        {
            var testForestTile = new ForestTile(1, 1);
            var isForest       = testForestTile.IsForestTile();

            Assert.AreEqual(true, isForest);
        }
예제 #2
0
        public void GrowForest(int x, int y)
        {
            var tile = Tiles[x, y];

            if (tile.GetGroundType() == "tree")
            {
                Tiles[x, y] = new ForestTile(x, y);
            }
        }
예제 #3
0
    public void createMap()
    {
        map         = transform.parent.GetComponent <MapScript>(); //get reference to map parent
        tiles       = new Tile[map.Width, map.Height];             //THE GRID
        tileObjects = new GameObject[map.Width, map.Height];

        Object meadow        = Resources.Load("Tiles/MeadowTile"); //for testing
        Object untraversable = Resources.Load("Tiles/Untraversable");
        Object forest        = Resources.Load("Tiles/ForestTile");

        // Read map editor file

        /*if (!File.Exists("Assets/MapFile"))
         * {
         *  Debug.Log("MapFile does not exist.");
         *  return;
         * }*/
        string s = textFile.text;

        Debug.Log(s);
        string[] splitChars    = { "\n", "\r" };
        string[] linesFromfile = (s.Split(splitChars, System.StringSplitOptions.RemoveEmptyEntries));
        string   input;

        //instantiate sample map (meadow(weight 1) + untraversable tiles + forest(weight 2))
        int k = 0;

        for (int i = 0; i < tiles.GetLength(0); i++)
        {
            for (int j = 0; j < tiles.GetLength(1); j++)
            {
                input = linesFromfile[k];
                k    += 1;
                if (input == "Forest")
                {
                    tileObjects[i, j] = Instantiate(forest, new Vector3(i * tileSize, j * tileSize, 0), Quaternion.identity) as GameObject;
                    tiles[i, j]       = new ForestTile(new Vector2i(i, j));
                }
                if (input == "Mountain")
                {
                    tileObjects[i, j] = Instantiate(untraversable, new Vector3(i * tileSize, j * tileSize, 0), Quaternion.identity) as GameObject;
                    tiles[i, j]       = new UntraversableTile(new Vector2i(i, j));
                }
                if (input == "Grass")
                {
                    tileObjects[i, j] = Instantiate(meadow, new Vector3(i * tileSize, j * tileSize, 0), Quaternion.identity) as GameObject;
                    tiles[i, j]       = new MeadowTile(new Vector2i(i, j));
                }
            }
        }

        //sr.Close();
    }
예제 #4
0
        public void Test_AddValues()
        {
            var testTile       = new SoilTile(1, 1);
            var testWaterTile  = new WaterTile(0, 0);
            var testSoilTile   = new SoilTile(0, 1);
            var testGrassTile  = new GrassTile(0, 2);
            var testTreeTile   = new TreeTile(1, 0);
            var testForestTile = new ForestTile(2, 0);
            var testValues     = testTile.GetAdjacentValues();

            testTile.AddTileValue(testWaterTile);
            testTile.AddTileValue(testSoilTile);
            testTile.AddTileValue(testGrassTile);
            testTile.AddTileValue(testTreeTile);
            testTile.AddTileValue(testForestTile);

            Assert.AreEqual(1, testValues[0]);
            Assert.AreEqual(1, testValues[1]);
            Assert.AreEqual(1, testValues[2]);
            Assert.AreEqual(1, testValues[3]);
            Assert.AreEqual(1, testValues[4]);
        }
예제 #5
0
        public void Test_ForestTile()
        {
            var testForestTile = new ForestTile(0, 0);

            Assert.AreEqual("forest", testForestTile.GetGroundType());
        }