Ejemplo n.º 1
0
    private void Start()
    {
        var r = new BasicRandom(seed);

        Dungeon dungeon;

        if (level == null)
        {
            DungeonGenerator d = new DungeonGenerator(r, s => { Debug.Log("Dungeon: " + s); });
            d.CreateDungeon(width, height, things);

            dungeon       = new Dungeon();
            dungeon.Tiles = d.GetDungeonAs2D();
            dungeon.Start = new Tuple <int, int> {
                Item1 = -1, Item2 = -1
            };
        }
        else
        {
            dungeon = DungeonGenerator.FromFile(level.text);
        }

        CreateLevel(dungeon.Tiles);

        CreateObjects(dungeon.Doodles);

        if (dungeon.Start.Item1 == -1)
        {
            MovePlayerToRandomTile(r, dungeon.Tiles);
        }
        else
        {
            MovePlayerToTile(dungeon.Start.Item1, dungeon.Start.Item2);
        }
    }
Ejemplo n.º 2
0
    private void MovePlayerToRandomTile(BasicRandom r)
    {
        var randomTile = tiles[0, 0];
        int x = 0, y = 0;

        while (randomTile != TileType.Floor)
        {
            x          = r.Next(0, tiles.GetLength(0));
            y          = r.Next(0, tiles.GetLength(1));
            randomTile = tiles[x, y];
        }

        player.transform.position = new Vector3(x, 1, y);
    }
Ejemplo n.º 3
0
    private void MovePlayerToRandomTile(BasicRandom r, TileType[,] dungeon)
    {
        var randomTile = dungeon[0, 0];
        int x = 0, y = 0;

        while (randomTile != TileType.Floor)
        {
            x          = r.Next(0, dungeon.GetLength(0));
            y          = r.Next(0, dungeon.GetLength(1));
            randomTile = dungeon[x, y];
        }

        MovePlayerToTile(x, y);
    }
Ejemplo n.º 4
0
    private void Start()
    {
        var r = new BasicRandom(seed);


        if (level == null)
        {
            Dungeon d = new Dungeon(r, s => { Debug.Log("Dungeon: " + s); });
            d.CreateDungeon(width, height, things);

            tiles = d.GetDungeonAs2D();
        }
        else
        {
            tiles = Dungeon.FileToTileMap(level.text);
        }

        CreateLevel();
        AssignCheckpoints();
        //MovePlayerToRandomTile(r);
        MovePlayerToStart();
    }