Dwarrowdelf.TerrainGen.DungeonTerrainGenerator.CreateStairs C# (CSharp) Method

CreateStairs() private method

private CreateStairs ( ) : void
return void
        void CreateStairs()
        {
            for (int z = m_size.Depth - 1; z > 1; z -= 2)
            {
                var center = new IntVector2(m_random.Next(m_size.Width), m_random.Next(m_size.Height));

                foreach (var p in IntVector2.SquareSpiral(center, m_size.Width))
                {
                    if (m_size.Plane.Contains(p) == false)
                        continue;

                    var p1 = new IntVector3(p, z);
                    var td1 = GetTileData(p1);

                    if (td1.IsClear == false)
                        continue;

                    var p2 = new IntVector3(p, z - 2);
                    var td2 = GetTileData(p2);

                    if (td2.IsClear == false)
                        continue;

                    SetTileData(p1, TileData.EmptyTileData);

                    td2.ID = TileID.Stairs;
                    td2.MaterialID = MaterialID.Granite;

                    SetTileData(p1.Down, td2);
                    SetTileData(p2, td2);

                    break;
                }
            }
        }