void MakeInstance() { if (instance == null) { instance = this; } }
public void Load(string levelName) { foreach (var grid in _gridIndicators) { grid.Enabled = false; grid.HasPlayer = false; } var levelProperties = LevelFileReader.ConvertFileToLevelProperties(levelName); var gridWidth = levelProperties.GridWidth; var gridHeight = levelProperties.GridHeight; var playerPos = new Vector2Int(levelProperties.PlayerPosX, levelProperties.PlayerPosY); var playerGrid = GetGridByPosition(playerPos); playerGrid.HasPlayer = true; playerGrid.Color = levelProperties.PlayerColor; _lastPlayerLocation = playerPos; for (var x = 0; x < gridWidth; ++x) { for (var y = 0; y < gridHeight; ++y) { var enabled = levelProperties.GetCellEnabled(x, y); if (!enabled) { continue; } if (GetGridByPosition(new Vector2Int(x, y)).HasPlayer) { continue; } var current = GetGridByPosition(new Vector2Int(x, y)); current.Enabled = enabled; current.Color = levelProperties.GetItemColor(x, y); current.ItemType = levelProperties.GetItemType(x, y); } } }
private void InitializeLevel() { var levelProperties = LevelFileReader.ConvertFileToLevelProperties(PlayerPrefs.GetString(Strings.NextLevel_PlayerPref_String, "denemeLevel")); _gridWidth = levelProperties.GridWidth; _gridHeight = levelProperties.GridHeight; _grid = new Grid(_gridWidth, _gridHeight, _player); transform.position = (new Vector2(_gridWidth, _gridHeight) * -0.5f); for (var x = 0; x < _gridWidth; ++x) { for (var y = 0; y < _gridHeight; ++y) { _grid[x, y] = CreateCell(); _grid[x, y].Enabled = levelProperties.GetCellEnabled(x, y); if (!_grid[x, y].Enabled) { continue; } var currentItemType = levelProperties.GetItemType(x, y); if (currentItemType == ItemType.None) { continue; } _grid[x, y].Item = GetItem(currentItemType, levelProperties.GetItemColor(x, y), _grid[x, y]); } } _player.LocalPosition = new Vector2(levelProperties.PlayerPosX, levelProperties.PlayerPosY); _player.SetColor(levelProperties.PlayerColor); }