예제 #1
0
    public static Floor CreateFloor(int floorNumber, Player player, MainSystem sys)
    {
        // プレイヤーの状態をリセット
        player.ClearItems();
        player.UpdateHp(player.MaxHp);

        Data data = D1_0();

        // Data data = GetData(floorNumber);
        char[,] mapData = CreateMap(data.Map);
        var map = new Map(mapData);

        foreach (var fitem in data.FieldItems)
        {
            sys.AddFieldItem(fitem);
        }

        foreach (var enemy in data.Enemies)
        {
            sys.AddEnemy(enemy);
        }

        FieldObjectFactory.CreateStairs(data.StairsLoc);

        // ミニマップ生成
        Minimap minimap = new Minimap(mapData, data.FieldObjects, data.StairsLoc);

        var floor = new Floor(map, minimap, data.FieldObjects, data.StairsLoc);

        player.UpdateLoc(data.PlayerLoc); // TODO:プレイヤーの初期位置設定
        player.ChangeDir(Dir.S);
        return(floor);
    }