Пример #1
0
    public void GenerateLevel()
    {
        int unixTimestamp = ((long)(System.DateTime.UtcNow.Subtract(new System.DateTime(1970, 1, 1))).TotalSeconds).GetHashCode();

        LevelGenerator levelGenerator = new LevelGenerator(CurrentDungeon.numberOfTiles, 0.9f, unixTimestamp, CurrentDungeon.frequencyOfHallwayDiversions, CurrentDungeon.lengthOfHallways);

        levelGenerator.GenerateLevel();

        foreach (var room in levelGenerator.AllRooms)
        {
            EncounterScriptableObject encounter = null;

            if (!(room.Position.x == 0 && room.Position.y == 0))
            {
                encounter = (Random.Range(0, 2) == 1) ? CurrentDungeon.encounters[Random.Range(0, CurrentDungeon.encounters.Length)] : null;
            }

            DungeonTile dt = new DungeonTile(room, encounter);

            if (room.Position.x == 0 && room.Position.y == 0)
            {
                currentTile = dt;
                currentTile.TileVisited();
                currentTile.TileSeen();
            }

            dt.TileSeen();

            Tiles.Add(dt);
        }
    }