Пример #1
0
    void BuildDeepLayer()
    {
        deepLayer.xSize = deepX;
        deepLayer.ySize = deepY;
        deepLayer.zSize = deepZ;

        deepLayer.offset = lowOffset;
        deepLayer.player = player;
        deepLayer.BuildGrid();
        for (int i = 0; i < deepLayer.xSize; i++)
        {
            for (int j = 0; j < deepLayer.ySize; j++)
            {
                for (int k = 0; k < deepLayer.zSize; k++)
                {
                    int  r      = 0;
                    int  damage = 0;
                    Side side   = Side.Mid;
                    if (i == 0 || i == (deepLayer.xSize - 1) || j == 0)
                    {
                        r = 1;
                    }
                    else if (k == 2 && j == 2 && (i + 1) % 3 == 0)
                    {
                        // 3 guaranteed spawns
                        r = 8; // Diga Brass
                    }
                    else
                    {
                        r = GetRandomOre(j, k, 0, 0, 3, 7, 5, 6, 1);
                    }
                    if (r > 1)
                    {
                        damage = GetRandomDamage();
                        side   = GetRandomSide();
                    }
                    deepLayer.Fill(i, j, k, r, damage, side);
                }
            }
        }
    }
Пример #2
0
    void BuildTopLayer()
    {
        topLayer.xSize = topX;
        topLayer.ySize = topY;
        topLayer.zSize = topZ; // bg is all unbreakable

        topLayer.offset = topOffset;

        topLayer.player = player;
        topLayer.BuildGrid();
        for (int i = 0; i < topLayer.xSize; i++)
        {
            for (int j = 0; j < topLayer.ySize; j++)
            {
                for (int k = 0; k < topLayer.zSize; k++)
                {
                    int  r      = 0;
                    int  damage = 0;
                    Side side   = Side.Mid;
                    if (i == 0 || i == (topLayer.xSize - 1) || k == 1)
                    {
                        r = 1; // granicrete
                    }
                    else if (j > topLayer.ySize - 4)
                    {
                        r = 0; // dirt
                    }
                    else
                    {
                        r = GetRandomOre(j, 0, 8, 0, 19, 14, 0, 0);
                    }
                    if (r > 1)
                    {
                        damage = GetRandomDamage();
                        side   = GetRandomSide();
                    }
                    topLayer.Fill(i, j, k, r, damage, side);
                }
            }
        }
    }
Пример #3
0
    void BuildMidLayer()
    {
        midLayer.xSize = midX;
        midLayer.ySize = midY;
        midLayer.zSize = midZ;

        midLayer.offset = midOffset;
        midLayer.player = player;
        midLayer.BuildGrid();
        for (int i = 0; i < midLayer.xSize; i++)
        {
            for (int j = 0; j < midLayer.ySize; j++)
            {
                for (int k = 0; k < midLayer.zSize; k++)
                {
                    int  r      = 0;
                    int  damage = 0;
                    Side side   = Side.Mid;
                    if (i == 0 || i == (midLayer.xSize - 1) || (j == midLayer.ySize - 2 && (k == 0 || k == 1)) || ((k == midLayer.zSize - 1) && j == 0))
                    {
                        r = 1;
                    }
                    else
                    {
                        r = GetRandomOre(j, k, 0, 0, 7, 5, 1, 0);
                        if (k == midLayer.zSize - 2 && j == 0)
                        {
                            // add some random granicrete
                            r = Random.Range(1, 3);
                        }
                    }
                    if (r > 1)
                    {
                        damage = GetRandomDamage();
                        side   = GetRandomSide();
                    }
                    midLayer.Fill(i, j, k, r, damage, side);
                }
            }
        }
    }
Пример #4
0
    void BuildSurface()
    {
        surface.xSize = surfaceX;
        surface.ySize = surfaceY;
        surface.zSize = surfaceZ;

        surface.offset = surfaceOffset;

        surface.player = player;
        surface.BuildGrid();

        for (int i = 0; i < surface.xSize; i++)
        {
            for (int j = 0; j < surface.ySize; j++)
            {
                for (int k = 0; k < surface.zSize; k++)
                {
                    int r      = 0;
                    int damage = 5;
                    if (j == 0 && i != 7)
                    {
                        r = 1;
                    }
                    if (j == 0 && i == 7)
                    {
                        damage = 0;
                    }
                    if (j == 2 && i == surface.xSize - 1)
                    {
                        r = 6;
                    }
                    if (j == 2 && i == surface.xSize - 2)
                    {
                        r = 7;
                    }
                    surface.Fill(i, j, k, r, damage, Side.Mid);
                    //surface.Smash(i, j, k, 5, Side.Mid, true);
                }
            }
        }
    }
Пример #5
0
    void BuildLowLayer()
    {
        lowerLayer.xSize = lowX;
        lowerLayer.ySize = lowY;
        lowerLayer.zSize = lowZ;

        lowerLayer.offset = lowOffset;
        lowerLayer.player = player;
        lowerLayer.BuildGrid();
        for (int i = 0; i < lowerLayer.xSize; i++)
        {
            for (int j = 0; j < lowerLayer.ySize; j++)
            {
                for (int k = 0; k < lowerLayer.zSize; k++)
                {
                    int  r      = 0;
                    int  damage = 0;
                    Side side   = Side.Mid;
                    if (i == 0 || i == (lowerLayer.xSize - 1))
                    {
                        r = 1;
                    }
                    else
                    {
                        r = GetRandomOre(j, k, 0, 0, 9, 6, 4, 3);
                    }
                    if (r > 1)
                    {
                        damage = GetRandomDamage();
                        side   = GetRandomSide();
                    }
                    lowerLayer.Fill(i, j, k, r, damage, side);
                }
            }
        }
    }