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(); }