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