public PouringPath generatePouringPath() { //Generate here List <PouringDrink> pdList = new List <PouringDrink>(); foreach (OBSGlass g in plate.glasses) { PouringDrink pd = new PouringDrink(); pd.glassPosition = g.pos; DrinkMix mix = mixes[g.plug]; //Debug.Log("Glass at pos " + g.pos + " will get mix " + mix.mixName); foreach (QuantifiedIngredient qi in mix.ingredients) { //Debug.Log(" > Ingredient " + qi.ingredientName); pd.ingredientStates.Add(qi.Clone(), false); } pdList.Add(pd); } PouringPath p = getPathForDrinks(pdList); return(p); }
public void setCurrentSession(string file) { clearSession(); currentSession = file; string data = DataManager.getFileData("sessions/" + currentSession); JSONObject o = new JSONObject(data); //Load ingredients ingredients = new List <MixIngredient>(); for (int i = 0; i < o["ingredients"].Count; i++) { MixIngredient mi = new MixIngredient(); mi.id = i; JSONObject io = o["ingredients"][i]; io.GetField(ref mi.ingredientName, "ingredientName"); io.GetField(ref mi.platePosition, "platePosition"); ingredients.Add(mi); } mixes = new DrinkMix[o["mixes"].Count]; for (int i = 0; i < mixes.Length; i++) { DrinkMix m = new DrinkMix(); m.id = i; JSONObject mo = o["mixes"][i]; mo.GetField(ref m.mixName, "mixName"); JSONObject moi = mo["ingredients"]; m.ingredients = new QuantifiedIngredient[moi.Count]; for (int j = 0; j < moi.Count; j++) { MixIngredient mi = getMixIngredientWithName(moi.keys[j]); m.ingredients[j] = new QuantifiedIngredient(mi.ingredientName, moi[j].f); } mixes[i] = m; } }