/// <summary>Data for the standard snake consumable - Increases tail size and score.
    /// </summary>
    public override void OnConsumed(SnakeHead snakehead, Cell targetCell = null)
    {
        SnakeScoreHandler.UpdatedScore?.Invoke(scoreIncrease);
        snakehead.SnakeTail.TailNodesToAdd += tailNodesToAddWhenConsumed;

        OneShotAudioManager.PlayOneShot2D(AudioClipWhenConsumed);
        OneShotPFXManager.PlayPFX(targetCell.Vector2Position, PFXType.StdConsumableExplosion);
    }
示例#2
0
    /// <summary>Spawns a consumable from the objectpool at a random position in the grid
    private void SpawnConsumable(ConsumableSpawnData spawnData)
    {
        (bool foundCell, Cell targetEmptyCell) = CellGridUtility.FindRandomEmptyCell(40);
        if (!foundCell)
        {
            return;
        }

        var objectToSpawn = ObjectPool.Rent(true);

        //Assigns data. Can't be done when initializing for some reason.
        objectToSpawn.GetComponent <Consumable>().ConsumableData = spawnData.ConsumableData;
        objectToSpawn.GetComponent <CellOccupant>().CurrentCell  = targetEmptyCell;

        var spawnAudioClip = spawnData.ConsumableData.AudioClipWhenSpawned;

        if (spawnAudioClip)
        {
            OneShotAudioManager.PlayOneShot2D(spawnAudioClip);
        }
    }