joruiru escribió:
Guau!! Interesantísimo!!
Me lo he leido por encima (ya me lo leeré con detenimiento cuando esté en casa), pero tiene muy buena pinta esa librería.
Se puede proponer ideas? jejeje...
Estaría muy bien tener un valor de prioridad en los eventos, así se podría establecer un orden de ejecución distinto al orden en el que se dan de alta. A igual prioridad, entonces sí que se lanzarían en el orden dados de alta.
Por cierto, si se añadiesen eventos en tiempo de ejecución, o se sustituyesen unos por otros, se recalcularía el m.c.d. automáticamente?
Muchas gracias por el aporte!!
Muchas gracias a ti, Joruiru

Lo de la prioridad es interesante, claro

. Yo en principio he "solucionado" el tema de la prioridad simplemente permitiendo que un evento se pueda "cambiar de sitio" en el array de gestores. Digamos que la prioridad de un gestor la indica su posición en el array, y esta puede cambiar usando los métodos AsignarGestor, InsertarGestor, EliminarGestor, SustituirGestor, etc. Pero la otra solución es cuestión de probarla

.
En cuanto al m.c.d., en realidad la librería no la calcula en ningún momento

. Es responsabilidad del programador asegurarse de que los eventos tienen todos un tiempo proporcional al tick (que también lo tiene que indicar el programador). Piensa que, si no... ¿qué ocurriría si un programador añadiese "al vuelo" un evento cuya duración no es múltiplo del tick? Simplemente, no se ejecutaría nunca. Yo lo que propongo es que el programador defina todos los tiempos de todos los eventos, calcule el tick a partir del m.c.d. de todos ellos, y luego activar o desactivar dichos eventos en tiempo de ejecución conforme vaya haciendo falta. Así todo funciona bien

¡Saludos!
Sothoth