public static void LoadRecipe(Compartment rootCompartment) { // Flatten all the hierarchy //SceneManager.Get.Compartments = CompartmentUtility.GetCompartments(rootCompartment); SceneManager.Get.IngredientGroups = CompartmentUtility.GetIngredientGroups(rootCompartment); //SceneManager.Get.ProteinIngredients = CompartmentUtility.GetProteinIngredients(rootCompartment); for (var i = 0; i < SceneManager.Get.IngredientGroups.Count; i++) { for (var j = 0; j < SceneManager.Get.IngredientGroups[i].Ingredients.Count; j++) { var ingredient = SceneManager.Get.IngredientGroups[i].Ingredients[j]; AddProteinIngredient(ref ingredient); SceneManager.Get.ProteinInstanceCount += ingredient.nbMol; SceneManager.Get.IngredientGroups[i].NumIngredients += ingredient.nbMol; } } ColorManager.Get.InitColors(); }
public static void LoadCellPackRecipe(string path = null) { SceneManager.Get.ClearScene(); if (string.IsNullOrEmpty(path) || !File.Exists(path)) { path = MyUtility.GetInputFile("json", GlobalProperties.Get.LastRecipeFileLoaded); } if (path == null || !File.Exists(path)) { return; } GlobalProperties.Get.LastRecipeFileLoaded = path; var rootCompartment = CompartmentUtility.DeserializeJson(path); CompartmentUtility.PostProcessSceneGraph(rootCompartment); LoadRecipe(rootCompartment); //CPUBuffers.Get.CopyDataToGPU(); }