64 lines
1.5 KiB
C#
64 lines
1.5 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 List<CoffeePlace> _coffeePlaces = new();
|
||
|
|
||
|
[SerializeField]
|
||
|
private bool _isCooking = false;
|
||
|
|
||
|
[SerializeField]
|
||
|
private List<PickupInteractible> _coffeItemPrefabs = new();
|
||
|
|
||
|
public void CookCoffee()
|
||
|
{
|
||
|
// TODO: Play beep sound
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
}
|