/*ManualResetEvent waithandle = new ManualResetEvent(false); * waithandles.Add(waithandle); * Thread liquid = new Thread(new ThreadStart(() => { simularTickCelda(celdas_activas[i]); * waithandle.Set(); * })); * liquid.Start(); * //simularTickCelda(celdas_activas[i]) * //a;adir un tread por cada una de las celdas activas * } * WaitHandle.WaitAll(waithandles.ToArray());*/ /* * Funcion: simularTickCelda() * * Simula la distribucion de liquido desde <celda> hacia sus celdas vecinas. * * <celda> no debe ser solida, y su saturacion debe ser mayor que 0 (de lo contrario no hay liquido que distribuir en <celda>). */ void simularTickCelda(object state) { Celda celda = (Celda)state; //Celda celda = cellda; if (!celda.es_solido && celda.saturacion > 0f) { // DEBUG BREAKPOINT if (Controlador.debugflag1) { if (true) { int i = 0; } } // END OF DEBUG BREAKPOINT celda.distribuirLiquido(); doneEvent.Set(); } }