Example #1
0
    private void OnSpawningAnomalyTileLifeOver(GridTile tile)
    {
        tile.tileLifeOver -= OnSpawningAnomalyTileLifeOver;
        GridTile_SpawningStaticAnomaly anomalyTile = tile.GetComponent <GridTile_SpawningStaticAnomaly>();
        AnomalyPatch parentPatch = anomalyTile.ParentPatch;
        int          tileX       = tile.tileX;
        int          tileY       = tile.tileY;

        ReplaceTile(tile, 4);
        parentPatch.AddTileToPatch(_currentGridInfo.gameGridTiles[tileX, tileY]);
    }
Example #2
0
    private IEnumerator AnomalySpreadingTimer()
    {
        while (true)
        {
            if (!GameManager.GameStarted)
            {
                yield return(new WaitForEndOfFrame());

                continue;
            }

            if (_allAnomalyPatches.Count == 0)
            {
                break;
            }

            yield return(new WaitForSeconds(anomalySpreadTime));

            int          randomIndex = UnityEngine.Random.Range(0, _allAnomalyPatches.Count);
            AnomalyPatch targetPatch = _allAnomalyPatches[randomIndex];

            GridTile randomTile = targetPatch.GetRandomNewTile();

            if (randomTile == null)
            {
                continue;
            }

            int tileX = randomTile.tileX;
            int tileY = randomTile.tileY;

            ReplaceTile(randomTile, 5);

            GridTile newTile = _currentGridInfo.gameGridTiles[tileX, tileY];
            GridTile_SpawningStaticAnomaly anomalyTile = newTile.GetComponent <GridTile_SpawningStaticAnomaly>();
            anomalyTile.ParentPatch = targetPatch;
            newTile.tileLifeOver   += OnSpawningAnomalyTileLifeOver;
        }
    }