GameVsJam/3d Prototyp/Assets/CoffeeMachine.cs

70 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Interaction;
using Microsoft.VisualStudio.RpcContracts.Logging;
using UnityEngine;
using Utility;
public class CoffeeMachine : MonoBehaviour
{
[SerializeField]
private AudioClip _buttonClick;
[SerializeField]
private AudioSource _audioSource;
[SerializeField]
private List<CoffeePlace> _coffeePlaces = new();
[SerializeField]
private bool _isCooking = false;
[SerializeField]
private List<PickupInteractible> _coffeItemPrefabs = new();
public void CookCoffee()
{
_audioSource.PlayOneShot(_buttonClick);
if (_isCooking)
return;
_isCooking = true;
StartCoroutine(CookCoffeeRoutine());
}
private IEnumerator CookCoffeeRoutine()
{
// TODO: Start blinking
Debug.Log("Blinky");
yield return new WaitForSeconds(2);
// SPiele kaffeemaschinen sound
Debug.Log("Brrrrr");
yield return new WaitForSeconds(5);
CoffeePlace coffeePlace = _coffeePlaces.Where(c => c.IsFree()).ToList().GetRandomElement();
if (coffeePlace == null)
{
// TODO: Spill coffee
Debug.Log("misty kaki");
}
else
{
Instantiate(_coffeItemPrefabs.GetRandomElement(), coffeePlace.transform.position, Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0));
}
yield return new WaitForSeconds(1);
// todo: Play pling sound
_isCooking = false;
}
}