public void LoadLevel(GameLevel2D level)
    {
        resources.DestroyAndClear();
        currentLevel = level;
        Debug.Log("current level: " + currentLevel.levelname);
        //var s = "";
        //var c = 0;
        foreach (var l in currentLevel.layers) {
            foreach (var t in l.Value.GetTiles()) {
                if (t.type != 0) {
                    var tileInstance = TileSpriteManager.Instance.GetInstance(t.type - 1, l.Key, t.position.ToVector2());
                    resources.Add(tileInstance);

                    if (l.Key == SpriteLayer.Building) {
                        //s += t.type + ";\t";
                        //c++;
                        var p = CollidersPerTile * t.position;
                        CollisionMap2D.Instance.SetValue(p, 1, false);
                        CollisionMap2D.Instance.SetValue(p + Vector2int.Right, 1, false);
                        CollisionMap2D.Instance.SetValue(p + Vector2int.Up, 1, false);
                        CollisionMap2D.Instance.SetValue(p + Vector2int.One, 1, false);
                    }
                }
            }
        }
        //Debug.Log(c + "\n" + s);
    }
    public void LoadLevel(GameLevel2D level)
    {
        foreach (var r in resources.Values) {
            Destroy(r);
        }
        resources = new Dictionary<Vector2int, GameObject>();

        LoadAll(level.levelname);
    }
 void SelectScene(SceneChangeTrigger2D obj, GameLevel2D[] levels, int selected)
 {
     obj.Scene = levels[selected].levelname;
     Save();
 }