86 lines
2.2 KiB
C#
86 lines
2.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Cooking : MonoBehaviour
|
|
{
|
|
// void CheckDishes()
|
|
// {
|
|
// foreach (GameObject ingredient in currentCollisions) {
|
|
|
|
// Debug.Log(ingredient.name);
|
|
// Debug.Log(ingredient.GetComponent<Ingredient>().NutritionalValue);
|
|
// }
|
|
|
|
// }
|
|
|
|
void CreateDish() {
|
|
List <GameObject> Ingredients = GetIngredients();
|
|
|
|
List <GameObject> AllDishes = new List <GameObject>();
|
|
|
|
// Find all dishes ingredients can make
|
|
|
|
foreach (GameObject Ingredient in Ingredients) {
|
|
List <GameObject> Dishes = Ingredient.GetComponent<Ingredient>().IngredientIn;
|
|
|
|
foreach (GameObject Dish in Dishes) {
|
|
AllDishes.Add(Dish);
|
|
}
|
|
}
|
|
|
|
List <GameObject> PossibleDishes = new List <GameObject>();
|
|
|
|
// Find the dishes, where all ingredients exist
|
|
|
|
foreach (GameObject Dish in AllDishes) {
|
|
List <GameObject> RequiredIngredients = Dish.GetComponent<Dish>().RequiredIngredients;
|
|
|
|
int NumberOfIngredients = RequiredIngredients.Count;
|
|
int IngredientsFulfilled = 0;
|
|
|
|
foreach (GameObject Ingredient in Ingredients) {
|
|
|
|
if (RequiredIngredients.Contains(Ingredient)) {
|
|
IngredientsFulfilled++;
|
|
}
|
|
}
|
|
|
|
if (IngredientsFulfilled == NumberOfIngredients) {
|
|
PossibleDishes.Add(Dish);
|
|
}
|
|
}
|
|
|
|
foreach (GameObject Dish in PossibleDishes) {
|
|
Debug.Log(Dish);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
// Keep track of ingredients going on and off the cooker.
|
|
List <GameObject> currentCollisions = new List <GameObject> ();
|
|
private void OnTriggerEnter2D(Collider2D other) {
|
|
currentCollisions.Add (other.gameObject);
|
|
CreateDish();
|
|
}
|
|
private void OnTriggerExit2D(Collider2D other) {
|
|
currentCollisions.Remove (other.gameObject);
|
|
}
|
|
List <GameObject> GetIngredients()
|
|
{
|
|
return currentCollisions;
|
|
}
|
|
|
|
|
|
// void Update()
|
|
// {
|
|
// GetIngredients();
|
|
// }
|
|
|
|
|
|
|
|
|
|
}
|