Ejemplo n.º 1
0
    private void GenerateChunks(int offX, int offY)
    {
        _perlinGenerator.RandomIsland(offX, offY);
        offX += 4;
        offY += 4;

        _player.transform.position = new Vector3(offX * ChunkSize + ChunkSize + ChunkSize / 2,
                                                 offY * ChunkSize + ChunkSize + ChunkSize / 2);

        var mover = _player.GetComponent <ChunkMover>();

        mover.ChunkOffsets = new Vec2(offX + 1, offY + 1);

        for (int y = 0; y < 3; y++)
        {
            for (int x = 0; x < 3; x++)
            {
                GenerateChunk(x, y, offX + x, offY + y);
            }
        }
        _perlinGenerator.PlaceBase(_chunks[1, 1]); // base vasta kun on generoitu tiilet

        SpriteController.transform.position = GetTileGameObject(0, 0).transform.position;
        SpriteController.SetTileSprites(TotalWidth - 2, TotalHeight - 2, this, 1, 1);
        running = true;
    }
Ejemplo n.º 2
0
    void OnTriggerEnter2D(Collider2D other)
    {
        print(other.tag);
        if (other.tag == "Player" && !_intoTheCaves)
        {
            ChunkMover mover = other.gameObject.GetComponent <ChunkMover>();

            StartCoroutine(HackitHeiluu());
            print("LUOLIIIN.." + mover.UnderGround);

            if (mover.UnderGround)
            {
                // maan päälle
                fireplace.SetActive(false);
                _tilemap.EnableTileMap();
                MobsControl.instance.DeleteAllCurrentMobs();
                mover.UnderGround = false;
                MapGenerator.Instance.DestroyCave();
                GameObject player = GameObject.FindGameObjectWithTag("Player");
                player.GetComponent <UpdatePathFind>().tilemap  = GameObject.FindGameObjectWithTag("Tilemap").GetComponent <TileMap>();
                player.GetComponent <UpdatePathFind>().path.map = GameObject.FindGameObjectWithTag("Tilemap").GetComponent <TileMap>();
                int[] m = player.GetComponent <UpdatePathFind>().path.calculateIndex(player.transform.position);
                player.GetComponent <UpdatePathFind>().path.uptadeTiles(m[0], m[1], GameObject.FindGameObjectWithTag("Tilemap").GetComponent <TileMap>());
                ParticleSpawner.instance.destroybloods();
                MobsControl.instance.cave = false;

                player.GetComponent <FishSpawner>().enabled = true;
            }
            else
            {
                // maan Alle
                _tilemap.DisableTileMap();
                MobsControl.instance.DeleteAllCurrentMobs();
                Activate();
                mover.UnderGround = true;

                MapGenerator         dungeon = MapGenerator.Instance;
                var                  go      = GameObject.FindWithTag("SpriteController");
                TileSpriteController tileSpriteController = go.GetComponent <TileSpriteController>();
                tileSpriteController.ResetAllTiles();
                tileSpriteController.SetTileSprites(dungeon.Width - 1, dungeon.Height - 1, dungeon, 1, 1);

                GameObject player = GameObject.FindGameObjectWithTag("Player");
                player.GetComponent <UpdatePathFind>().tilemap = dungeon;

                int[] m = player.GetComponent <UpdatePathFind>().path.calculateIndex(player.transform.position);


                player.GetComponent <UpdatePathFind>().path.uptadeTiles(m[0], m[1], dungeon);

                MobsControl.instance._door = this.gameObject;
                MobsControl.instance.cave  = true;

                //player.GetComponent<UpdatePathFind>().path.uptadeTiles(player.transform.position,dungeon);

                if (!spawnedMobs)
                {
                    spawnCaveMobs();
                    spawnedMobs = true;
                }
                else
                {
                    spawnCreadedMobs();
                }
                ParticleSpawner.instance.destroybloods();

                player.GetComponent <FishSpawner>().enabled = false;
            }
        }
    }