public static void UpdatePhysiologicalAge(ParallelQuery <Module> allModules, float dt) { allModules.ForAll(module => { module.physiologicalAge += dt * PlantUtil.ChangeInPhysiologicalAge(module.root.v, module.plant.plantConfig.vigorRootMin, module.plant.plantConfig.vigorRootMax, module.plant.plantConfig.growthRate); }); }
public static void UpdateLight(ParallelQuery <Module> allModules) { var allSpheres = allModules.Select(module => module.boundingSphere); allModules.ForAll(module => { if (!module.isShed) { module.qFromSun = PlantUtil.CalculateLight(module.boundingSphere, allSpheres); } else { module.qFromSun = 0; } }); }