Beispiel #1
0
    void GenerateChunk(int offsetX, int offsetY, int perlinOffsetX, int perlinOffsetY)
    {
        // tallenna entinen
        MobsControl.instance.SpawnBoids(perlinOffsetX * ChunkSize + ChunkSize / 2, perlinOffsetY * ChunkSize + ChunkSize / 2, ChunkSize / 3, Random.Range(0, 2)); //pate spawn

        var chunk = _chunks[offsetY, offsetX];                                                                                                                    // missä kohdalla _chunkeissa

        chunk.Save();

        chunk.OnChunkChangedCleanup();
        bool exist = false;

        if (SavedChunks.TryGetValue(new Vec2(perlinOffsetX, perlinOffsetY), out exist))
        {
            chunk.offsetX = perlinOffsetX;
            chunk.offsetY = perlinOffsetY;
            chunk.Load();
        }
        else
        {
            _perlinGenerator.GenerateChunk(_chunks[offsetY, offsetX], perlinOffsetX, perlinOffsetY);
        }

        SavedChunks[new Vec2(chunk.offsetX, chunk.offsetY)] = true;
        chunk.offsetX = perlinOffsetX;
        chunk.offsetY = perlinOffsetY;
    }