decision tree + json.net #6
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ Material:
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Node_Mat
|
||||
m_Name: Node_mat
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
|
@ -15,7 +15,7 @@ namespace Logic
|
||||
public int customerSpawnTime = 10;
|
||||
[SerializeField] private List<CustomerTable> customerTables;
|
||||
[SerializeField] private List<Recipe> availableRecipes;
|
||||
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
@ -51,10 +51,37 @@ namespace Logic
|
||||
int randomTableNumber = Random.Range(0, customerTables.Count);
|
||||
if (customerTables[randomTableNumber].state == TableState.Empty)
|
||||
{
|
||||
AllergenType allergenType = Randomizer.GetRandomEnumElement<AllergenType>();
|
||||
int maxCalories = Randomizer.GetRandomIntInRange(400, 700);
|
||||
|
||||
customerTables[randomTableNumber].customer = new Customer(allergenType, maxCalories);
|
||||
int randomInt = Randomizer.GetRandomIntInRange(0, 9);
|
||||
var dislikedIngredient = randomInt;
|
||||
int maxCalories = 240;
|
||||
randomInt = Randomizer.GetRandomIntInRange(0, 2);
|
||||
maxCalories += randomInt * 60;
|
||||
randomInt = Randomizer.GetRandomIntInRange(0, 1);
|
||||
string ifPizza = randomInt == 0 ? "yes" : "no";
|
||||
randomInt = Randomizer.GetRandomIntInRange(0, 1);
|
||||
string ifVegetarian = randomInt == 0 ? "yes" : "no";
|
||||
randomInt = Randomizer.GetRandomIntInRange(0, 4);
|
||||
int maxPrice = 8;
|
||||
switch (randomInt)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
maxPrice = 10;
|
||||
break;
|
||||
case 2:
|
||||
maxPrice = 20;
|
||||
break;
|
||||
case 3:
|
||||
maxPrice = 25;
|
||||
break;
|
||||
case 4:
|
||||
maxPrice = 30;
|
||||
break;
|
||||
}
|
||||
|
||||
customerTables[randomTableNumber].customer = new Customer(dislikedIngredient, maxCalories, maxPrice,
|
||||
ifPizza, ifVegetarian);
|
||||
customerTables[randomTableNumber].state = TableState.WaitingForMenu;
|
||||
UIManager.Instance.uiTableManager.ChangeStatus(randomTableNumber, TableState.WaitingForMenu);
|
||||
}
|
||||
|
@ -1,18 +1,25 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Logic.Data
|
||||
{
|
||||
[Serializable]
|
||||
public class Customer
|
||||
{
|
||||
public AllergenType allergenType;
|
||||
public int maxCalories;
|
||||
public int DislikedIngredient;
|
||||
public int MaxCalories;
|
||||
public int MaxPrice;
|
||||
public string IfPizza;
|
||||
public string IfVegetarian;
|
||||
|
||||
public Customer(AllergenType allergenType, int maxCalories)
|
||||
public Customer(int dislikedIngredient, int maxCalories, int maxPrice, string ifPizza, string ifVegetarian)
|
||||
{
|
||||
this.allergenType = allergenType;
|
||||
this.maxCalories = maxCalories;
|
||||
DislikedIngredient = dislikedIngredient;
|
||||
MaxCalories = maxCalories;
|
||||
MaxPrice = maxPrice;
|
||||
IfPizza = ifPizza;
|
||||
IfVegetarian = ifVegetarian;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Data
|
||||
{
|
||||
public enum IngredientType
|
||||
[CreateAssetMenu(fileName = "New Ingredient", menuName = "Inventory/Ingredient")]
|
||||
public class Ingredient : ScriptableObject
|
||||
{
|
||||
Type_I,
|
||||
Type_II,
|
||||
Type_III
|
||||
}
|
||||
|
||||
public enum AllergenType
|
||||
{
|
||||
Null,
|
||||
Allergen_I,
|
||||
Allergen_II,
|
||||
Allergen_III
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public struct Ingredient
|
||||
{
|
||||
public string ingredientName;
|
||||
public IngredientType type;
|
||||
public AllergenType allergen;
|
||||
public string IngredientName;
|
||||
}
|
||||
}
|
@ -6,10 +6,12 @@ namespace Logic.Data
|
||||
[CreateAssetMenu(fileName = "New Recipe", menuName = "Inventory/Recipe")]
|
||||
public class Recipe : Item
|
||||
{
|
||||
public int Id;
|
||||
public string recipeName;
|
||||
public int kcal;
|
||||
public int tableNumber;
|
||||
public Food foodItem;
|
||||
public List<Ingredient> ingredients;
|
||||
|
||||
}
|
||||
}
|
8
Assets/Logic/DecisionTree.meta
Normal file
8
Assets/Logic/DecisionTree.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5963a7b2a182f8e43950748c3f0aabff
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
59
Assets/Logic/DecisionTree/Attribute.cs
Normal file
59
Assets/Logic/DecisionTree/Attribute.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
[Serializable]
|
||||
public class Attribute
|
||||
{
|
||||
[JsonConstructor]
|
||||
public Attribute(string Name, List<object> AttributeValues, double InformationGain)
|
||||
{
|
||||
this.Name = Name;
|
||||
this.AttributeValues = AttributeValues;
|
||||
this.InformationGain = InformationGain;
|
||||
}
|
||||
public Attribute(string name, List<object> attributeValues)
|
||||
{
|
||||
Name = name;
|
||||
AttributeValues = attributeValues;
|
||||
}
|
||||
public string Name { get; }
|
||||
public List<object> AttributeValues { get; }
|
||||
public double InformationGain { get; set; }
|
||||
|
||||
public static List<object> GetAttributeValues(DataTable table, int columnIndex)
|
||||
{
|
||||
var values = new List<object>();
|
||||
for (int i = 0; i < table.Rows.Count; i++)
|
||||
{
|
||||
if (table.Rows[i][columnIndex] is int)
|
||||
{
|
||||
var found = values.Any(x => x is int intX && intX == (int) table.Rows[i][columnIndex]);
|
||||
if (!found)
|
||||
{
|
||||
values.Add(table.Rows[i][columnIndex]);
|
||||
}
|
||||
}
|
||||
else if (table.Rows[i][columnIndex] is string)
|
||||
{
|
||||
var found = values.Any(x => x is string stringX && stringX == (string) table.Rows[i][columnIndex]);
|
||||
if (!found)
|
||||
{
|
||||
values.Add(table.Rows[i][columnIndex]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var found = values.Any(x => x.Equals(table.Rows[i][columnIndex]));
|
||||
if (!found)
|
||||
{
|
||||
values.Add(table.Rows[i][columnIndex]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return values;
|
||||
}
|
||||
}
|
11
Assets/Logic/DecisionTree/Attribute.cs.meta
Normal file
11
Assets/Logic/DecisionTree/Attribute.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 856fee5bd3f8ff542852d1d2bf657f01
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
43
Assets/Logic/DecisionTree/Examples.cs
Normal file
43
Assets/Logic/DecisionTree/Examples.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
|
||||
public static class Examples
|
||||
{
|
||||
public static DataTable SelectionExamples()
|
||||
{
|
||||
var data = new DataTable();
|
||||
data.Columns.Add("IfPizza");
|
||||
data.Columns.Add("DislikedIngredient");
|
||||
data.Columns.Add("Price");
|
||||
data.Columns.Add("Kcal");
|
||||
data.Columns.Add("TimeOfDay");
|
||||
data.Columns.Add("IfVegetarian");
|
||||
data.Columns.Add("Recipe");
|
||||
|
||||
using (var reader = new StreamReader(File.OpenRead("examples.csv")))
|
||||
{
|
||||
while (!reader.EndOfStream)
|
||||
{
|
||||
var line = reader.ReadLine();
|
||||
var values = line.Split(';');
|
||||
List<string> strings = new List<string>();
|
||||
List<int> ints = new List<int>();
|
||||
for (int i = 0; i < values.Length-1; i++)
|
||||
{
|
||||
if (int.TryParse(values[i], out var result))
|
||||
{
|
||||
ints.Add(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
strings.Add(values[i]);
|
||||
}
|
||||
}
|
||||
|
||||
data.Rows.Add(strings[0], ints[0], ints[1], ints[2], strings[1], strings[2], ints[3]);
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
11
Assets/Logic/DecisionTree/Examples.cs.meta
Normal file
11
Assets/Logic/DecisionTree/Examples.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33c004ce39573f94588fca62d6793bb1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
290
Assets/Logic/DecisionTree/Tree.cs
Normal file
290
Assets/Logic/DecisionTree/Tree.cs
Normal file
@ -0,0 +1,290 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Logic.Data;
|
||||
using UnityEngine;
|
||||
|
||||
[Serializable]
|
||||
public class Tree
|
||||
{
|
||||
public TreeNode Root { get; set; }
|
||||
|
||||
public static TreeNode Learn(DataTable examples, object edge, object defaultClass)
|
||||
{
|
||||
if (examples.Rows.Count == 0)
|
||||
{
|
||||
return new TreeNode(true, defaultClass, edge);
|
||||
}
|
||||
|
||||
if (CheckIfAllExamplesHaveTheSameEndValue(examples))
|
||||
{
|
||||
return new TreeNode(true, examples.Rows[0][examples.Columns.Count - 1], edge);
|
||||
}
|
||||
|
||||
List<object> knownValues;
|
||||
List<int> valuesAmount;
|
||||
double max;
|
||||
int maxIndex;
|
||||
if (examples.Columns.Count == 1)//1 a nie 0 bo w ostatniej kolumnie jest decyzja
|
||||
{
|
||||
knownValues = GetKnownValuesOfAttribute(examples, examples.Columns.Count - 1);
|
||||
valuesAmount = GetValuesAmount(examples, examples.Columns.Count - 1);
|
||||
max = double.MinValue;
|
||||
maxIndex = -1;
|
||||
for (int i = 0; i < valuesAmount.Count; i++)
|
||||
{
|
||||
if (valuesAmount[i] > max)
|
||||
{
|
||||
max = valuesAmount[i];
|
||||
maxIndex = i;
|
||||
}
|
||||
}
|
||||
return new TreeNode(true, knownValues[maxIndex], edge);
|
||||
}
|
||||
|
||||
|
||||
var root = GetRootNode(examples, edge);
|
||||
|
||||
knownValues = GetKnownValuesOfAttribute(examples, examples.Columns.Count - 1);
|
||||
valuesAmount = GetValuesAmount(examples, examples.Columns.Count - 1);
|
||||
max = double.MinValue;
|
||||
maxIndex = -1;
|
||||
for (int i = 0; i < valuesAmount.Count; i++)
|
||||
{
|
||||
if (valuesAmount[i] > max)
|
||||
{
|
||||
max = valuesAmount[i];
|
||||
maxIndex = i;
|
||||
}
|
||||
}
|
||||
var newDefaultClass = knownValues[maxIndex];
|
||||
|
||||
foreach (var x in root.NodeAttribute.AttributeValues)
|
||||
{
|
||||
|
||||
var reducedTable = CreateSmallerTable(examples, x, root.TableIndex, true);
|
||||
|
||||
root.ChildNodes.Add(Learn(reducedTable, x, newDefaultClass));
|
||||
}
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
public object GetResult(TreeNode node, Dictionary<string, object> queryValues)
|
||||
{
|
||||
if (node.IsLeaf)
|
||||
{
|
||||
return node.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var childNode in node.ChildNodes)
|
||||
{
|
||||
foreach (var value in queryValues)
|
||||
{
|
||||
if (childNode.Edge.ToString().Equals(value.Value.ToString()) && node.Name.Equals(value.Key))
|
||||
{
|
||||
queryValues.Remove(value.Key);
|
||||
return GetResult(childNode, queryValues);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static bool CheckIfAllExamplesHaveTheSameEndValue(DataTable examples)
|
||||
{
|
||||
var endValues = new List<object>();
|
||||
for (int i = 0; i < examples.Rows.Count; i++)
|
||||
{
|
||||
endValues.Add(examples.Rows[i][examples.Columns.Count - 1]);
|
||||
}
|
||||
|
||||
return !(endValues.Count > 0 && endValues.Any(x => x != endValues[0]));
|
||||
}
|
||||
|
||||
private static TreeNode GetRootNode(DataTable examples, object edge)
|
||||
{
|
||||
var examplesEntropy = CalculateDataTableEntropy(examples);
|
||||
|
||||
var attributes = new List<Attribute>();
|
||||
for (int i = 0; i < examples.Columns.Count - 1; i++)
|
||||
{
|
||||
var attributeValues = Attribute.GetAttributeValues(examples, i);
|
||||
attributes.Add(new Attribute(examples.Columns[i].ToString(), attributeValues));
|
||||
}
|
||||
|
||||
var attributeIndex = -1;
|
||||
var highestInformationGain = double.MinValue;
|
||||
|
||||
for (int i = 0; i < attributes.Count; i++)
|
||||
{
|
||||
attributes[i].InformationGain = GetInformationGainForAttribute(examples, i, examplesEntropy);
|
||||
if (attributes[i].InformationGain > highestInformationGain)
|
||||
{
|
||||
highestInformationGain = attributes[i].InformationGain;
|
||||
attributeIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
return new TreeNode(attributes[attributeIndex].Name, attributeIndex, attributes[attributeIndex], edge);
|
||||
}
|
||||
|
||||
private static double GetInformationGainForAttribute(DataTable examples, int attributeIndex, double examplesEntropy)
|
||||
{
|
||||
var sumElements = new List<double>();
|
||||
var knownValues = GetKnownValuesOfAttribute(examples, attributeIndex);
|
||||
|
||||
foreach (var x in knownValues)
|
||||
{
|
||||
var table = CreateSmallerTable(examples, x, attributeIndex, false);
|
||||
sumElements.Add((double) table.Rows.Count / examples.Rows.Count * CalculateDataTableEntropy(table));
|
||||
}
|
||||
|
||||
return examplesEntropy - sumElements.Sum();
|
||||
}
|
||||
|
||||
private static double CalculateDataTableEntropy(DataTable table)
|
||||
{
|
||||
var rows = table.Rows.Count;
|
||||
var valuesAmount = GetValuesAmount(table, table.Columns.Count - 1);
|
||||
|
||||
return valuesAmount.Select(x => x / (double) rows).Select(x => -x * Math.Log(x, 2)).Sum();
|
||||
}
|
||||
|
||||
public static List<int> GetValuesAmount(DataTable table, int indexOfColumn)
|
||||
{
|
||||
var foundValues = new List<int>();
|
||||
var knownValues = GetKnownValuesOfAttribute(table, indexOfColumn);
|
||||
|
||||
foreach (var x in knownValues)
|
||||
{
|
||||
var amount = 0;
|
||||
for (int i = 0; i < table.Rows.Count; i++)
|
||||
{
|
||||
if (table.Rows[i][indexOfColumn] is int intT && x is int intX)
|
||||
{
|
||||
if (intX == intT)
|
||||
{
|
||||
amount++;
|
||||
}
|
||||
}
|
||||
else if (table.Rows[i][indexOfColumn] is string stringT && x is string stringX)
|
||||
{
|
||||
if (stringT == stringX)
|
||||
{
|
||||
amount++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (table.Rows[i][indexOfColumn].Equals(x))
|
||||
{
|
||||
amount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
foundValues.Add(amount);
|
||||
}
|
||||
|
||||
return foundValues;
|
||||
}
|
||||
|
||||
public static List<object> GetKnownValuesOfAttribute(DataTable table, int indexOfColumn)
|
||||
{
|
||||
var knownValues = new List<object>();
|
||||
if (table.Rows.Count > 0)
|
||||
{
|
||||
knownValues.Add(table.Rows[0][indexOfColumn]);
|
||||
}
|
||||
|
||||
for (int i = 1; i < table.Rows.Count; i++)
|
||||
{
|
||||
if (table.Rows[i][indexOfColumn] is int)
|
||||
{
|
||||
var found = knownValues.All(x => x is int intX && intX != (int) table.Rows[i][indexOfColumn]);
|
||||
if (found)
|
||||
{
|
||||
knownValues.Add(table.Rows[i][indexOfColumn]);
|
||||
}
|
||||
}
|
||||
else if (table.Rows[i][indexOfColumn] is string)
|
||||
{
|
||||
var found = knownValues.All(x => x is string stringX && stringX != (string) table.Rows[i][indexOfColumn]);
|
||||
if (found)
|
||||
{
|
||||
knownValues.Add(table.Rows[i][indexOfColumn]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var found = knownValues.All(x => !x.Equals(table.Rows[i][indexOfColumn]));
|
||||
if (found)
|
||||
{
|
||||
knownValues.Add(table.Rows[i][indexOfColumn]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return knownValues;
|
||||
}
|
||||
|
||||
private static DataTable CreateSmallerTable(DataTable examples, object edgePointingToNextNode, int rootTableIndex, bool deleteColumn)
|
||||
{
|
||||
var smallerTable = new DataTable();
|
||||
for (int i = 0; i < examples.Columns.Count; i++)
|
||||
{
|
||||
smallerTable.Columns.Add(examples.Columns[i].ToString());
|
||||
}
|
||||
|
||||
for (int i = 0; i < examples.Rows.Count; i++)
|
||||
{
|
||||
if (examples.Rows[i][rootTableIndex] is int intE && edgePointingToNextNode is int intEdge)
|
||||
{
|
||||
if (intE == intEdge)
|
||||
{
|
||||
var row = new object[examples.Columns.Count];
|
||||
for (int j = 0; j < examples.Columns.Count; j++)
|
||||
{
|
||||
row[j] = examples.Rows[i][j];
|
||||
}
|
||||
|
||||
smallerTable.Rows.Add(row);
|
||||
}
|
||||
}
|
||||
else if (examples.Rows[i][rootTableIndex] is string stringE && edgePointingToNextNode is string stringEdge)
|
||||
{
|
||||
if (stringE == stringEdge)
|
||||
{
|
||||
var row = new object[examples.Columns.Count];
|
||||
for (int j = 0; j < examples.Columns.Count; j++)
|
||||
{
|
||||
row[j] = examples.Rows[i][j];
|
||||
}
|
||||
|
||||
smallerTable.Rows.Add(row);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (examples.Rows[i][rootTableIndex].Equals(edgePointingToNextNode))
|
||||
{
|
||||
var row = new object[examples.Columns.Count];
|
||||
for (int j = 0; j < examples.Columns.Count; j++)
|
||||
{
|
||||
row[j] = examples.Rows[i][j];
|
||||
}
|
||||
|
||||
smallerTable.Rows.Add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(deleteColumn)
|
||||
smallerTable.Columns.Remove(smallerTable.Columns[rootTableIndex]);
|
||||
|
||||
return smallerTable;
|
||||
}
|
||||
}
|
11
Assets/Logic/DecisionTree/Tree.cs.meta
Normal file
11
Assets/Logic/DecisionTree/Tree.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ed05ad268b9d3f4086697e24f310156
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
39
Assets/Logic/DecisionTree/TreeNode.cs
Normal file
39
Assets/Logic/DecisionTree/TreeNode.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
[Serializable]
|
||||
public class TreeNode
|
||||
{
|
||||
[JsonConstructor]
|
||||
public TreeNode(object Name, object Edge, Attribute NodeAttribute, List<TreeNode> ChildNodes, int TableIndex, bool IsLeaf)
|
||||
{
|
||||
this.Name = Name;
|
||||
this.Edge = Edge;
|
||||
this.NodeAttribute = NodeAttribute;
|
||||
this.ChildNodes = ChildNodes;
|
||||
this.TableIndex = TableIndex;
|
||||
this.IsLeaf = IsLeaf;
|
||||
}
|
||||
public TreeNode(object name, int tableIndex, Attribute nodeAttribute, object edge)
|
||||
{
|
||||
Name = name;
|
||||
Edge = edge;
|
||||
NodeAttribute = nodeAttribute;
|
||||
ChildNodes = new List<TreeNode>();
|
||||
TableIndex = tableIndex;
|
||||
}
|
||||
|
||||
public TreeNode(bool isLeaf, object name, object edge)
|
||||
{
|
||||
Name = name;
|
||||
Edge = edge;
|
||||
IsLeaf = isLeaf;
|
||||
}
|
||||
public object Name { get; }
|
||||
public object Edge { get; }
|
||||
public Attribute NodeAttribute { get; }
|
||||
public List<TreeNode> ChildNodes { get; }
|
||||
public int TableIndex { get; }
|
||||
public bool IsLeaf { get; }
|
||||
}
|
11
Assets/Logic/DecisionTree/TreeNode.cs.meta
Normal file
11
Assets/Logic/DecisionTree/TreeNode.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 02afdb4f7d8c893439613c22a79918cb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,6 +1,8 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Logic.Agent;
|
||||
using Logic.Data;
|
||||
using UnityEditor.SearchService;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Graph
|
||||
@ -50,23 +52,7 @@ namespace Logic.Graph
|
||||
_prepareRecipeCoroutine = StartCoroutine(HandleRecipePrepare(3));
|
||||
}
|
||||
|
||||
private IEnumerator HandleRecipePrepare(int secs)
|
||||
{
|
||||
yield return new WaitForSeconds(secs);
|
||||
if (state == TableState.WaitingForWaitress)
|
||||
{
|
||||
StopCoroutine(_prepareRecipeCoroutine);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetRandomRecipe();
|
||||
Spawn();
|
||||
IsFull = true;
|
||||
state = TableState.WaitingForWaitress;
|
||||
UIManager.Instance.uiTableManager.ChangeStatus(tableNumber, state);
|
||||
UIManager.Instance.uiTableManager.ChangeItem(tableNumber, CurrentItem);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void HandleRecipeReady()
|
||||
{
|
||||
@ -138,6 +124,45 @@ namespace Logic.Graph
|
||||
UIManager.Instance.uiTableManager.ChangeStatus(tableNumber, state);
|
||||
UIManager.Instance.uiTableManager.ChangeItem(tableNumber, null);
|
||||
}
|
||||
|
||||
private IEnumerator HandleRecipePrepare(int secs)
|
||||
{
|
||||
yield return new WaitForSeconds(secs);
|
||||
if (state == TableState.WaitingForWaitress)
|
||||
{
|
||||
StopCoroutine(_prepareRecipeCoroutine);
|
||||
}
|
||||
else
|
||||
{
|
||||
var valuesForQuery = new Dictionary<string, object>();
|
||||
valuesForQuery.Add("IfPizza", customer.IfPizza);
|
||||
valuesForQuery.Add("DislikedIngredient", customer.DislikedIngredient);
|
||||
valuesForQuery.Add("Price", customer.MaxPrice);
|
||||
valuesForQuery.Add("Kcal", customer.MaxCalories);
|
||||
valuesForQuery.Add("TimeOfDay", SceneContext.Instance.TimeOfDay);
|
||||
valuesForQuery.Add("IfVegetarian", customer.IfVegetarian);
|
||||
var decisionTree = SceneContext.Instance.DecisionTree;
|
||||
var result = decisionTree.GetResult(decisionTree.Root, valuesForQuery);
|
||||
var recipe =
|
||||
SceneContext.Instance.Recipes[int.Parse(result.ToString())];
|
||||
|
||||
if (recipe.name == "Null")
|
||||
{
|
||||
SetRandomRecipe();
|
||||
}
|
||||
else
|
||||
{
|
||||
CurrentItem = Instantiate(recipe);
|
||||
state = TableState.WaitingForFood;
|
||||
UIManager.Instance.uiTableManager.ChangeStatus(tableNumber, state);
|
||||
}
|
||||
Spawn();
|
||||
IsFull = true;
|
||||
state = TableState.WaitingForWaitress;
|
||||
UIManager.Instance.uiTableManager.ChangeStatus(tableNumber, state);
|
||||
UIManager.Instance.uiTableManager.ChangeItem(tableNumber, CurrentItem);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetRandomRecipe()
|
||||
{
|
||||
|
@ -1,8 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Logic.Data;
|
||||
using Logic.Graph;
|
||||
using Newtonsoft.Json;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Logic
|
||||
{
|
||||
@ -14,12 +16,46 @@ namespace Logic
|
||||
public float rotationCost;
|
||||
public bool useAStar = true;
|
||||
public static SceneContext Instance;
|
||||
public List<Recipe> Recipes = new List<Recipe>();
|
||||
public string TimeOfDay = "morning";
|
||||
public Tree DecisionTree;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
Application.targetFrameRate = 144;
|
||||
map = GetComponentsInChildren<Node>().ToList();
|
||||
DecisionTree = LoadOrLearnDecisionTree();
|
||||
}
|
||||
|
||||
private Tree LoadOrLearnDecisionTree()
|
||||
{
|
||||
if (File.Exists("DecisionTree.json"))
|
||||
{
|
||||
var tree = JsonConvert.DeserializeObject<Tree>(File.ReadAllText("DecisionTree.json"));
|
||||
return tree;
|
||||
}
|
||||
else
|
||||
{
|
||||
var examples = Examples.SelectionExamples();
|
||||
var knownValues = Tree.GetKnownValuesOfAttribute(examples, examples.Columns.Count - 1);
|
||||
var valuesAmount = Tree.GetValuesAmount(examples, examples.Columns.Count - 1);
|
||||
var max = double.MinValue;
|
||||
var maxIndex = -1;
|
||||
for (int i = 0; i < valuesAmount.Count; i++)
|
||||
{
|
||||
if (valuesAmount[i] > max)
|
||||
{
|
||||
max = valuesAmount[i];
|
||||
maxIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
var tree = new Tree {Root = Tree.Learn(examples, null, knownValues[maxIndex])};
|
||||
var treeJson = JsonConvert.SerializeObject(tree);
|
||||
File.WriteAllText("DecisionTree.json", treeJson);
|
||||
return tree;
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawGizmosFrom(Node from, List<Node> without)
|
||||
|
20
Assets/Resources/Items/Food/Null.asset
Normal file
20
Assets/Resources/Items/Food/Null.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: Null
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 0
|
||||
foodName: Null
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: 7aedd240948914d4e9b0a50e67b75b2a, type: 2}
|
8
Assets/Resources/Items/Food/Null.asset.meta
Normal file
8
Assets/Resources/Items/Food/Null.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6694955d01f63364c93e8d4b051f2ad1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Assets/Resources/Items/Food/PizzaCapriciosa.asset
Normal file
20
Assets/Resources/Items/Food/PizzaCapriciosa.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: PizzaCapriciosa
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1000012023308628, guid: 2a79153a0e896724caa73afa19f708c8, type: 3}
|
||||
icon: {fileID: 21300030, guid: 37607ec1aab56e349af84a980f685a4b, type: 3}
|
||||
cost: 0
|
||||
foodName: PizzaCapriciosa
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: f63388473494e7840a2b539fff257844, type: 2}
|
8
Assets/Resources/Items/Food/PizzaCapriciosa.asset.meta
Normal file
8
Assets/Resources/Items/Food/PizzaCapriciosa.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f2084352c962b04d849db95a321e13d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Assets/Resources/Items/Food/PizzaFunghi.asset
Normal file
20
Assets/Resources/Items/Food/PizzaFunghi.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: PizzaFunghi
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1000012023308628, guid: 2a79153a0e896724caa73afa19f708c8, type: 3}
|
||||
icon: {fileID: 21300030, guid: 37607ec1aab56e349af84a980f685a4b, type: 3}
|
||||
cost: 0
|
||||
foodName: PizzaFunghi
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: 1e3dd3bf5a5a3bc4a98499baf5805fa7, type: 2}
|
8
Assets/Resources/Items/Food/PizzaFunghi.asset.meta
Normal file
8
Assets/Resources/Items/Food/PizzaFunghi.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4195d7aa00107244a9e1831c480c545
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Assets/Resources/Items/Food/PizzaHawaiian.asset
Normal file
20
Assets/Resources/Items/Food/PizzaHawaiian.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: PizzaHawaiian
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1000012023308628, guid: 2a79153a0e896724caa73afa19f708c8, type: 3}
|
||||
icon: {fileID: 21300030, guid: 37607ec1aab56e349af84a980f685a4b, type: 3}
|
||||
cost: 0
|
||||
foodName: PizzaHawaiian
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: a8b3b122a4e428146a3fc83494700cbf, type: 2}
|
8
Assets/Resources/Items/Food/PizzaHawaiian.asset.meta
Normal file
8
Assets/Resources/Items/Food/PizzaHawaiian.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d66f5d43f44f52a4d86e8eaae8aa8347
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Assets/Resources/Items/Food/PizzaMargherita.asset
Normal file
20
Assets/Resources/Items/Food/PizzaMargherita.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: PizzaMargherita
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1000012023308628, guid: 2a79153a0e896724caa73afa19f708c8, type: 3}
|
||||
icon: {fileID: 21300030, guid: 37607ec1aab56e349af84a980f685a4b, type: 3}
|
||||
cost: 0
|
||||
foodName: PizzaMargherita
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: d59c35e914142334da3f1cb523093a47, type: 2}
|
8
Assets/Resources/Items/Food/PizzaMargherita.asset.meta
Normal file
8
Assets/Resources/Items/Food/PizzaMargherita.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 655e6fc2bf44cf74cb8ee5ec2f345b08
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
Assets/Resources/Items/Food/PizzaVesuvio.asset
Normal file
20
Assets/Resources/Items/Food/PizzaVesuvio.asset
Normal file
@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5c26dd5381ee4cb69fa0ce32f10cc16f, type: 3}
|
||||
m_Name: PizzaVesuvio
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1000012023308628, guid: 2a79153a0e896724caa73afa19f708c8, type: 3}
|
||||
icon: {fileID: 21300030, guid: 37607ec1aab56e349af84a980f685a4b, type: 3}
|
||||
cost: 0
|
||||
foodName: PizzaVesuvio
|
||||
tableNumber: 0
|
||||
moneyItem: {fileID: 11400000, guid: 5e3441a53f13dfa458b64af8f2c890fe, type: 2}
|
8
Assets/Resources/Items/Food/PizzaVesuvio.asset.meta
Normal file
8
Assets/Resources/Items/Food/PizzaVesuvio.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1090510f9f77fcb4099572b8612251b4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Resources/Items/Ingredients.meta
Normal file
8
Assets/Resources/Items/Ingredients.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 01f073506904a894cb1b8cabc1b4daf9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Beef.asset
Normal file
15
Assets/Resources/Items/Ingredients/Beef.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Beef
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Beef
|
8
Assets/Resources/Items/Ingredients/Beef.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Beef.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b32901bb9e3adb1448e947f60dda06da
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Cheese.asset
Normal file
15
Assets/Resources/Items/Ingredients/Cheese.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Cheese
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Cheese
|
8
Assets/Resources/Items/Ingredients/Cheese.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Cheese.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ee11ee227e82ed45941d17f55963805
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Ham.asset
Normal file
15
Assets/Resources/Items/Ingredients/Ham.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Ham
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Ham
|
8
Assets/Resources/Items/Ingredients/Ham.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Ham.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b1f102c0a2714a458ad7505127450e4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Lettuce.asset
Normal file
15
Assets/Resources/Items/Ingredients/Lettuce.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Lettuce
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Lettuce
|
8
Assets/Resources/Items/Ingredients/Lettuce.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Lettuce.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 29538624d6c75db418f2a604da54caad
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Loaf.asset
Normal file
15
Assets/Resources/Items/Ingredients/Loaf.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Loaf
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Loaf
|
8
Assets/Resources/Items/Ingredients/Loaf.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Loaf.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9c7eb88a547e4c4abdf823722ce0c54
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Mushrooms.asset
Normal file
15
Assets/Resources/Items/Ingredients/Mushrooms.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Mushrooms
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Mushrooms
|
8
Assets/Resources/Items/Ingredients/Mushrooms.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Mushrooms.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0dc9dd4bc46a8345970e926f6b29893
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Null.asset
Normal file
15
Assets/Resources/Items/Ingredients/Null.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Null
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Null
|
8
Assets/Resources/Items/Ingredients/Null.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Null.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc3fcd9cc5ac0864ab021b41b9fa7809
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Pineapple.asset
Normal file
15
Assets/Resources/Items/Ingredients/Pineapple.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Pineapple
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Pineapple
|
8
Assets/Resources/Items/Ingredients/Pineapple.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Pineapple.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d5d98b6880893d4c935aa0320454886
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Sauce.asset
Normal file
15
Assets/Resources/Items/Ingredients/Sauce.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Sauce
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Sauce
|
8
Assets/Resources/Items/Ingredients/Sauce.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Sauce.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6bd17547ac3354140bb01931e65eb3ca
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
15
Assets/Resources/Items/Ingredients/Sausage.asset
Normal file
15
Assets/Resources/Items/Ingredients/Sausage.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d1c5842f5804cf2aa2abb762d292617, type: 3}
|
||||
m_Name: Sausage
|
||||
m_EditorClassIdentifier:
|
||||
IngredientName: Sausage
|
8
Assets/Resources/Items/Ingredients/Sausage.asset.meta
Normal file
8
Assets/Resources/Items/Ingredients/Sausage.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 855484a326cef7e45b8dc8c474ee1255
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/Null.asset
Normal file
17
Assets/Resources/Items/Money/Null.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: Null
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
8
Assets/Resources/Items/Money/Null.asset.meta
Normal file
8
Assets/Resources/Items/Money/Null.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7aedd240948914d4e9b0a50e67b75b2a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/PizzaCapriciosaMoney.asset
Normal file
17
Assets/Resources/Items/Money/PizzaCapriciosaMoney.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: PizzaCapriciosaMoney
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f63388473494e7840a2b539fff257844
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/PizzaFunghiMoney.asset
Normal file
17
Assets/Resources/Items/Money/PizzaFunghiMoney.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: PizzaFunghiMoney
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
8
Assets/Resources/Items/Money/PizzaFunghiMoney.asset.meta
Normal file
8
Assets/Resources/Items/Money/PizzaFunghiMoney.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e3dd3bf5a5a3bc4a98499baf5805fa7
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/PizzaHawaiianMoney.asset
Normal file
17
Assets/Resources/Items/Money/PizzaHawaiianMoney.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: PizzaHawaiianMoney
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8b3b122a4e428146a3fc83494700cbf
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/PizzaMargheritaMoney.asset
Normal file
17
Assets/Resources/Items/Money/PizzaMargheritaMoney.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: PizzaMargheritaMoney
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d59c35e914142334da3f1cb523093a47
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
17
Assets/Resources/Items/Money/PizzaVesuvioMoney.asset
Normal file
17
Assets/Resources/Items/Money/PizzaVesuvioMoney.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b42abe82997b4c6e9359e3309ac71a24, type: 3}
|
||||
m_Name: PizzaVesuvioMoney
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1950871307682000, guid: 01348926c7cbb3347a006c37204131c3, type: 3}
|
||||
icon: {fileID: 21300000, guid: cef5e24fe61c976479140a07b2cda36c, type: 3}
|
||||
cost: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e3441a53f13dfa458b64af8f2c890fe
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -14,9 +14,14 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 10
|
||||
Id: 0
|
||||
recipeName: HamburgerRecipe
|
||||
cost: 0
|
||||
kcal: 0
|
||||
kcal: 300
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 37357912897b56f4c8994841283ae11b, type: 2}
|
||||
ingredients: []
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: b32901bb9e3adb1448e947f60dda06da, type: 2}
|
||||
- {fileID: 11400000, guid: 29538624d6c75db418f2a604da54caad, type: 2}
|
||||
- {fileID: 11400000, guid: b9c7eb88a547e4c4abdf823722ce0c54, type: 2}
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
|
@ -14,9 +14,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 8
|
||||
Id: 1
|
||||
recipeName: HotDogRecipe
|
||||
cost: 0
|
||||
kcal: 0
|
||||
kcal: 300
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 2237bb1fc433af046aaf14820c2c8c78, type: 2}
|
||||
ingredients: []
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: b9c7eb88a547e4c4abdf823722ce0c54, type: 2}
|
||||
- {fileID: 11400000, guid: 855484a326cef7e45b8dc8c474ee1255, type: 2}
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
|
23
Assets/Resources/Items/Recipes/Null.asset
Normal file
23
Assets/Resources/Items/Recipes/Null.asset
Normal file
@ -0,0 +1,23 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: Null
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 0
|
||||
Id: 7
|
||||
recipeName: Null
|
||||
kcal: 0
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 6694955d01f63364c93e8d4b051f2ad1, type: 2}
|
||||
ingredients: []
|
8
Assets/Resources/Items/Recipes/Null.asset.meta
Normal file
8
Assets/Resources/Items/Recipes/Null.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ec4f1274d8398145b9f9fd4b8b4c038
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
27
Assets/Resources/Items/Recipes/PizzaCapriciosaRecipe.asset
Normal file
27
Assets/Resources/Items/Recipes/PizzaCapriciosaRecipe.asset
Normal file
@ -0,0 +1,27 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: PizzaCapriciosaRecipe
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 30
|
||||
Id: 5
|
||||
recipeName: PizzaCapriciosaRecipe
|
||||
kcal: 360
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 4f2084352c962b04d849db95a321e13d, type: 2}
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
||||
- {fileID: 11400000, guid: 1b1f102c0a2714a458ad7505127450e4, type: 2}
|
||||
- {fileID: 11400000, guid: f0dc9dd4bc46a8345970e926f6b29893, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5068fdc9fe707334a851008b00ac0acd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
26
Assets/Resources/Items/Recipes/PizzaFunghiRecipe.asset
Normal file
26
Assets/Resources/Items/Recipes/PizzaFunghiRecipe.asset
Normal file
@ -0,0 +1,26 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: PizzaFunghiRecipe
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 25
|
||||
Id: 3
|
||||
recipeName: PizzaFunghiRecipe
|
||||
kcal: 300
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: b4195d7aa00107244a9e1831c480c545, type: 2}
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
||||
- {fileID: 11400000, guid: f0dc9dd4bc46a8345970e926f6b29893, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41cea610c35c6be47bd09e55b40e36d5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
27
Assets/Resources/Items/Recipes/PizzaHawaiianRecipe.asset
Normal file
27
Assets/Resources/Items/Recipes/PizzaHawaiianRecipe.asset
Normal file
@ -0,0 +1,27 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: PizzaHawaiianRecipe
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 30
|
||||
Id: 6
|
||||
recipeName: PizzaHawaiianRecipe
|
||||
kcal: 360
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: d66f5d43f44f52a4d86e8eaae8aa8347, type: 2}
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
||||
- {fileID: 11400000, guid: 1b1f102c0a2714a458ad7505127450e4, type: 2}
|
||||
- {fileID: 11400000, guid: 7d5d98b6880893d4c935aa0320454886, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f3d9de8da4103554eb0a29336d67e97d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
25
Assets/Resources/Items/Recipes/PizzaMargheritaRecipe.asset
Normal file
25
Assets/Resources/Items/Recipes/PizzaMargheritaRecipe.asset
Normal file
@ -0,0 +1,25 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: PizzaMargheritaRecipe
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 20
|
||||
Id: 2
|
||||
recipeName: PizzaMargheritaRecipe
|
||||
kcal: 240
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 655e6fc2bf44cf74cb8ee5ec2f345b08, type: 2}
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ea3eb6323beed04d9510bf4a41e6466
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
26
Assets/Resources/Items/Recipes/PizzaVesuvioRecipe.asset
Normal file
26
Assets/Resources/Items/Recipes/PizzaVesuvioRecipe.asset
Normal file
@ -0,0 +1,26 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ce03ba27fb9b4fa189f4fd4332f8da8c, type: 3}
|
||||
m_Name: PizzaVesuvioRecipe
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 1685343955664076, guid: 72653085a6b827f48b10b434c7972f1c, type: 3}
|
||||
icon: {fileID: 21300000, guid: 246f8fe64a276e040bd935eccb8a3a00, type: 3}
|
||||
cost: 25
|
||||
Id: 4
|
||||
recipeName: PizzaVesuvioRecipe
|
||||
kcal: 300
|
||||
tableNumber: 0
|
||||
foodItem: {fileID: 11400000, guid: 1090510f9f77fcb4099572b8612251b4, type: 2}
|
||||
ingredients:
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
||||
- {fileID: 11400000, guid: 1b1f102c0a2714a458ad7505127450e4, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed54288292993a84cb36db9de6d79340
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -10931,6 +10931,26 @@ MonoBehaviour:
|
||||
nodeBaseCost: 1
|
||||
rotationCost: 0
|
||||
useAStar: 1
|
||||
Recipes:
|
||||
- {fileID: 11400000, guid: ea585372d0aaed341a56a1ad1515e0e2, type: 2}
|
||||
- {fileID: 11400000, guid: 709f957af2c54384ea1d0ac79432f16e, type: 2}
|
||||
- {fileID: 11400000, guid: 2ea3eb6323beed04d9510bf4a41e6466, type: 2}
|
||||
- {fileID: 11400000, guid: 41cea610c35c6be47bd09e55b40e36d5, type: 2}
|
||||
- {fileID: 11400000, guid: ed54288292993a84cb36db9de6d79340, type: 2}
|
||||
- {fileID: 11400000, guid: 5068fdc9fe707334a851008b00ac0acd, type: 2}
|
||||
- {fileID: 11400000, guid: f3d9de8da4103554eb0a29336d67e97d, type: 2}
|
||||
- {fileID: 11400000, guid: 0ec4f1274d8398145b9f9fd4b8b4c038, type: 2}
|
||||
Ingredients:
|
||||
- {fileID: 11400000, guid: b32901bb9e3adb1448e947f60dda06da, type: 2}
|
||||
- {fileID: 11400000, guid: 6ee11ee227e82ed45941d17f55963805, type: 2}
|
||||
- {fileID: 11400000, guid: 1b1f102c0a2714a458ad7505127450e4, type: 2}
|
||||
- {fileID: 11400000, guid: 29538624d6c75db418f2a604da54caad, type: 2}
|
||||
- {fileID: 11400000, guid: b9c7eb88a547e4c4abdf823722ce0c54, type: 2}
|
||||
- {fileID: 11400000, guid: f0dc9dd4bc46a8345970e926f6b29893, type: 2}
|
||||
- {fileID: 11400000, guid: cc3fcd9cc5ac0864ab021b41b9fa7809, type: 2}
|
||||
- {fileID: 11400000, guid: 7d5d98b6880893d4c935aa0320454886, type: 2}
|
||||
- {fileID: 11400000, guid: 6bd17547ac3354140bb01931e65eb3ca, type: 2}
|
||||
- {fileID: 11400000, guid: 855484a326cef7e45b8dc8c474ee1255, type: 2}
|
||||
--- !u!4 &2007317810
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
1
DecisionTree.json
Normal file
1
DecisionTree.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,46 +1,56 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.collab-proxy": "1.3.9",
|
||||
"com.unity.ide.rider": "2.0.7",
|
||||
"com.unity.ide.visualstudio": "2.0.7",
|
||||
"com.unity.ide.vscode": "1.2.3",
|
||||
"com.unity.probuilder": "4.5.0",
|
||||
"com.unity.progrids": "3.0.3-preview.6",
|
||||
"com.unity.test-framework": "1.1.22",
|
||||
"com.unity.textmeshpro": "3.0.4",
|
||||
"com.unity.timeline": "1.4.6",
|
||||
"com.unity.ugui": "1.0.0",
|
||||
"com.unity.modules.ai": "1.0.0",
|
||||
"com.unity.modules.androidjni": "1.0.0",
|
||||
"com.unity.modules.animation": "1.0.0",
|
||||
"com.unity.modules.assetbundle": "1.0.0",
|
||||
"com.unity.modules.audio": "1.0.0",
|
||||
"com.unity.modules.cloth": "1.0.0",
|
||||
"com.unity.modules.director": "1.0.0",
|
||||
"com.unity.modules.imageconversion": "1.0.0",
|
||||
"com.unity.modules.imgui": "1.0.0",
|
||||
"com.unity.modules.jsonserialize": "1.0.0",
|
||||
"com.unity.modules.particlesystem": "1.0.0",
|
||||
"com.unity.modules.physics": "1.0.0",
|
||||
"com.unity.modules.physics2d": "1.0.0",
|
||||
"com.unity.modules.screencapture": "1.0.0",
|
||||
"com.unity.modules.terrain": "1.0.0",
|
||||
"com.unity.modules.terrainphysics": "1.0.0",
|
||||
"com.unity.modules.tilemap": "1.0.0",
|
||||
"com.unity.modules.ui": "1.0.0",
|
||||
"com.unity.modules.uielements": "1.0.0",
|
||||
"com.unity.modules.umbra": "1.0.0",
|
||||
"com.unity.modules.unityanalytics": "1.0.0",
|
||||
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
||||
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
||||
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
||||
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
||||
"com.unity.modules.vehicles": "1.0.0",
|
||||
"com.unity.modules.video": "1.0.0",
|
||||
"com.unity.modules.vr": "1.0.0",
|
||||
"com.unity.modules.wind": "1.0.0",
|
||||
"com.unity.modules.xr": "1.0.0"
|
||||
}
|
||||
}
|
||||
{
|
||||
"dependencies" : {
|
||||
"com.unity.2d.sprite" : "1.0.0",
|
||||
"com.unity.collab-proxy" : "1.3.9",
|
||||
"com.unity.ide.rider" : "2.0.7",
|
||||
"com.unity.ide.visualstudio" : "2.0.7",
|
||||
"com.unity.ide.vscode" : "1.2.3",
|
||||
"com.unity.probuilder" : "4.5.0",
|
||||
"com.unity.progrids" : "3.0.3-preview.6",
|
||||
"com.unity.test-framework" : "1.1.22",
|
||||
"com.unity.textmeshpro" : "3.0.4",
|
||||
"com.unity.timeline" : "1.4.6",
|
||||
"com.unity.ugui" : "1.0.0",
|
||||
"com.unity.modules.ai" : "1.0.0",
|
||||
"com.unity.modules.androidjni" : "1.0.0",
|
||||
"com.unity.modules.animation" : "1.0.0",
|
||||
"com.unity.modules.assetbundle" : "1.0.0",
|
||||
"com.unity.modules.audio" : "1.0.0",
|
||||
"com.unity.modules.cloth" : "1.0.0",
|
||||
"com.unity.modules.director" : "1.0.0",
|
||||
"com.unity.modules.imageconversion" : "1.0.0",
|
||||
"com.unity.modules.imgui" : "1.0.0",
|
||||
"com.unity.modules.jsonserialize" : "1.0.0",
|
||||
"com.unity.modules.particlesystem" : "1.0.0",
|
||||
"com.unity.modules.physics" : "1.0.0",
|
||||
"com.unity.modules.physics2d" : "1.0.0",
|
||||
"com.unity.modules.screencapture" : "1.0.0",
|
||||
"com.unity.modules.terrain" : "1.0.0",
|
||||
"com.unity.modules.terrainphysics" : "1.0.0",
|
||||
"com.unity.modules.tilemap" : "1.0.0",
|
||||
"com.unity.modules.ui" : "1.0.0",
|
||||
"com.unity.modules.uielements" : "1.0.0",
|
||||
"com.unity.modules.umbra" : "1.0.0",
|
||||
"com.unity.modules.unityanalytics" : "1.0.0",
|
||||
"com.unity.modules.unitywebrequest" : "1.0.0",
|
||||
"com.unity.modules.unitywebrequestassetbundle" : "1.0.0",
|
||||
"com.unity.modules.unitywebrequestaudio" : "1.0.0",
|
||||
"com.unity.modules.unitywebrequesttexture" : "1.0.0",
|
||||
"com.unity.modules.unitywebrequestwww" : "1.0.0",
|
||||
"com.unity.modules.vehicles" : "1.0.0",
|
||||
"com.unity.modules.video" : "1.0.0",
|
||||
"com.unity.modules.vr" : "1.0.0",
|
||||
"com.unity.modules.wind" : "1.0.0",
|
||||
"com.unity.modules.xr" : "1.0.0",
|
||||
"jillejr.newtonsoft.json-for-unity" : "13.0.102"
|
||||
},
|
||||
"scopedRegistries" : [
|
||||
{
|
||||
"name" : "jilleJr",
|
||||
"url" : "https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity",
|
||||
"scopes" : [
|
||||
"jillejr.newtonsoft.json-for-unity"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -111,6 +111,13 @@
|
||||
"com.unity.modules.imgui": "1.0.0"
|
||||
}
|
||||
},
|
||||
"jillejr.newtonsoft.json-for-unity": {
|
||||
"version": "13.0.102",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity"
|
||||
},
|
||||
"com.unity.modules.ai": {
|
||||
"version": "1.0.0",
|
||||
"depth": 0,
|
||||
|
@ -24,20 +24,28 @@ MonoBehaviour:
|
||||
m_Scopes: []
|
||||
m_IsDefault: 1
|
||||
m_Capabilities: 7
|
||||
- m_Id: scoped:jilleJr
|
||||
m_Name: jilleJr
|
||||
m_Url: https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity
|
||||
m_Scopes:
|
||||
- jillejr.newtonsoft.json-for-unity
|
||||
m_IsDefault: 0
|
||||
m_Capabilities: 0
|
||||
m_UserSelectedRegistryName:
|
||||
m_UserAddingNewScopedRegistry: 0
|
||||
m_RegistryInfoDraft:
|
||||
m_ErrorMessage:
|
||||
m_Original:
|
||||
m_Id:
|
||||
m_Name:
|
||||
m_Url:
|
||||
m_Scopes: []
|
||||
m_Id: scoped:jilleJr
|
||||
m_Name: jilleJr
|
||||
m_Url: https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity
|
||||
m_Scopes:
|
||||
- jillejr.newtonsoft.json-for-unity
|
||||
m_IsDefault: 0
|
||||
m_Capabilities: 0
|
||||
m_Modified: 0
|
||||
m_Name:
|
||||
m_Url:
|
||||
m_Name: jilleJr
|
||||
m_Url: https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity
|
||||
m_Scopes:
|
||||
-
|
||||
- jillejr.newtonsoft.json-for-unity
|
||||
m_SelectedScopeIndex: 0
|
||||
|
1200
examples.csv
Normal file
1200
examples.csv
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user