Exemplo n.º 1
0
 void InstantiateChunk()
 {
     for (var yPos = 0; yPos < h; yPos++)
     {
         for (var xPos = 0; xPos < w; xPos++)
         {
             if (chunkData.getTileAt(xPos, yPos).getTile() == TileType.TileTypes.ground)
             {
                 var go = Instantiate(tilePrefabGround, new Vector2(x + xPos, y + yPos), tilePrefabGround.transform.rotation, transform);
                 TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                 tcs.tile         = new TileType(true, yPos, h);
                 tcs.tile._tileHP = 2;
                 tcs.initTile();
             }
             else if (chunkData.getTileAt(xPos, yPos).getTile() == TileType.TileTypes.obstacle)
             {
                 var go = Instantiate(tilePrefabRock, new Vector2(x + xPos, y + yPos), tilePrefabRock.transform.rotation, transform);
                 TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                 tcs.tile         = new TileType(true, yPos, h);
                 tcs.tile._tileHP = 10000000000;
                 tcs.initTile();
             }
         }
     }
 }
Exemplo n.º 2
0
 // Update is called once per frame
 void Update()
 {
     // Check if mineable
     if (cms.isMining && colObject != null)
     {
         TileControllerScript tcs = colObject.GetComponent <TileControllerScript>();
         tcs.TakeDamage(miningPower);
     }
 }
Exemplo n.º 3
0
    // Let's get and instantiate chunks
    void UnpackAndInstantiateChunks()
    {
        // CHUNK
        for (var i = 0; i < _levelCreator._chunks.Length; i++)
        {
            var chunk = _levelCreator._chunks[i];
            var cGo   = Instantiate(chunkContainerPrefab, new Vector2(chunk._x, chunk._y), Quaternion.identity);

            //  TILE
            for (var y = 0; y < Constants.Chunk.CHUNK_Y; y++)
            {
                for (var x = 0; x < Constants.Chunk.CHUNK_X; x++)
                {
                    var tile = chunk._tiles[x, y];
                    // Jos tarkasteltavan tilen on groundDirt tyyppiä
                    if (tile._tileType == Enums.GroundTileType.groundDirt)
                    {
                        var go = Instantiate(groundDirtPrefab,
                                             new Vector2(chunk._x + chunk._tiles[x, y]._x, chunk._y + chunk._tiles[x, y]._y),
                                             groundDirtPrefab.transform.rotation,
                                             cGo.transform);

                        // asetetaan luodulle tilelle hp
                        TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                        tcs.currentHp = tile._hp;

                        // asetetaan tilelle sprite
                        TileSpriteSwapperScript tsss = go.GetComponent <TileSpriteSwapperScript>();
                        tsss.SetAtlasToUse(SceneChangeHelper._mapBiodome);
                        // TODO: tänne sitten muutkin tileset määrittelyt
                        tsss.SetSprite(GetRandomTileVariationForGroundDirt());

                        // Jos päälimmäinen kerros
                        if (y == Constants.Chunk.CHUNK_Y - 1)
                        {
                            var maxChunkY = _levelCreator._chunks.Max(c => c._y);
                            if (chunk._y == maxChunkY)
                            {
                                tsss.SetSprite(Constants.TileConstants.TileDirtAtlas.DIRT_TOP_MOSS_VAR_0);
                            }
                        }
                    }
                }
            }
        }
        // Instantiate wall chunks
        for (var i = 0; i < _levelCreator._wallChunks.Length; i++)
        {
            var offsetY = -1;

            if (mapOrientation == Enums.MapOrientation.Horizontal)
            {
                // Spawn chunk
                var chunk = _levelCreator._wallChunks[i];
                var wGo   = Instantiate(chunkContainerPrefab, new Vector2(chunk._x, chunk._y), Quaternion.identity);

                if (!chunk._isSideways)
                {
                    // Spawn every tile of chunk
                    for (var x = 0; x < Constants.Chunk.CHUNK_X; x++)
                    {
                        var tile = chunk._tiles[x, 0];

                        var go = Instantiate(groundDirtPrefab,
                                             new Vector2(chunk._x + chunk._tiles[x, 0]._x, chunk._y + chunk._tiles[x, 0]._y - offsetY),
                                             groundDirtPrefab.transform.rotation, wGo.transform);

                        // asetetaan luodulle tilelle hp
                        TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                        tcs.currentHp = tile._hp;

                        // asetetaan tilelle sprite
                        TileSpriteSwapperScript tsss = go.GetComponent <TileSpriteSwapperScript>();
                        tsss.SetSpriteToBoundry();
                        // TODO: tänne sitten muutkin tileset määrittelyt
                        tsss.SetSprite(0);
                    }
                }
                else
                {
                    for (var y = 0; y < Constants.Chunk.CHUNK_Y; y++)
                    {
                        var tile = chunk._tiles[0, y];

                        var go = Instantiate(groundDirtPrefab,
                                             new Vector2(chunk._x + chunk._tiles[0, y]._x, chunk._y + chunk._tiles[0, y]._y - offsetY),
                                             groundDirtPrefab.transform.rotation, wGo.transform);

                        // asetetaan luodulle tilelle hp
                        TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                        tcs.currentHp = tile._hp;

                        // asetetaan tilelle sprite
                        TileSpriteSwapperScript tsss = go.GetComponent <TileSpriteSwapperScript>();
                        tsss.SetSpriteToBoundry();
                        // TODO: tänne sitten muutkin tileset määrittelyt
                        tsss.SetSprite(0);
                    }
                }
            }
            if (mapOrientation == Enums.MapOrientation.Vertical)
            {
                // Spawn chunk
                var chunk = _levelCreator._wallChunks[i];
                var wGo   = Instantiate(chunkContainerPrefab, new Vector2(chunk._x, chunk._y), Quaternion.identity);

                if (!chunk._isSideways)
                {
                    // Spawn every tile of chunk
                    for (var x = 0; x < Constants.Chunk.CHUNK_X; x++)
                    {
                        var tile = chunk._tiles[x, 0];

                        var go = Instantiate(groundDirtPrefab,
                                             new Vector2(chunk._x + chunk._tiles[x, 0]._x, chunk._y + chunk._tiles[x, 0]._y - offsetY),
                                             groundDirtPrefab.transform.rotation, wGo.transform);

                        // asetetaan luodulle tilelle hp
                        TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                        tcs.currentHp = tile._hp;

                        // asetetaan tilelle sprite
                        TileSpriteSwapperScript tsss = go.GetComponent <TileSpriteSwapperScript>();
                        tsss.SetSpriteToBoundry();
                        // TODO: tänne sitten muutkin tileset määrittelyt
                        tsss.SetSprite(0);
                    }
                }
                else
                {
                    for (var y = 0; y < Constants.Chunk.CHUNK_Y; y++)
                    {
                        var tile = chunk._tiles[0, y];

                        var go = Instantiate(groundDirtPrefab,
                                             new Vector2(chunk._x + chunk._tiles[0, y]._x, chunk._y + chunk._tiles[0, y]._y - offsetY),
                                             groundDirtPrefab.transform.rotation, wGo.transform);

                        // asetetaan luodulle tilelle hp
                        TileControllerScript tcs = go.GetComponent <TileControllerScript>();
                        tcs.currentHp = tile._hp;

                        // asetetaan tilelle sprite
                        TileSpriteSwapperScript tsss = go.GetComponent <TileSpriteSwapperScript>();
                        tsss.SetSpriteToBoundry();
                        // TODO: tänne sitten muutkin tileset määrittelyt
                        tsss.SetSprite(0);
                    }
                }
            }
        }
    }