void spawn_items() { foreach (Vector2 cell in _itemsMap.GetUsedCells()) { var id = _itemsMap.GetCellv(cell); var type = _itemsMap.TileSet.TileGetName(id); var pos = _itemsMap.MapToWorld(cell) + _itemsMap.CellSize / 2; switch (type) { case "slime_spawn": Area2D s = (Area2D)_enemy.Instance(); s.Position = pos; AddChild(s); break; case "player_spawn": _player.Position = pos; break; case "coin": case "key_red": case "star": Pickup p = (Pickup)_pickup.Instance(); AddChild(p); p.Init(type, pos); p.Connect("coin_pickup", _hud, "UpdateScore"); break; } } }
public void SpawnItems() { foreach (Vector2 cell in _items.GetUsedCells()) { int id = _items.GetCellv(cell); string cellType = _items.TileSet.TileGetName(id); Vector2 pos = _items.MapToWorld(cell) + _items.CellSize / 2; switch (cellType) { case "player_spawn": _player.Position = pos; _player.TileSize = 64; break; case "coin": case "key_red": case "star": case "key_green": Pickup p = (Pickup)_pickupScene.Instance(); p.Init(cellType, pos); AddChild(p); switch (cellType) { case "coin": p.Connect("CoinPickup", _hud, "UpdateScore"); break; } break; } } foreach (Vector2 usedCell in _doors.GetUsedCells()) { int id = _doors.GetCellv(usedCell); string cellType = _doors.TileSet.TileGetName(id); Vector2 pos = _doors.MapToWorld(usedCell) + _doors.CellSize / 2; switch (cellType) { case "door_green": _doorVector2s.Add("door_green", usedCell); break; case "door_red": _doorVector2s.Add("door_red", usedCell); break; } } }