Degryll / ZBE

A nice & cool game engine
Apache License 2.0
3 stars 0 forks source link

Chapa y pintura #101

Closed Ludovicio closed 5 months ago

Ludovicio commented 6 years ago
Ludovicio commented 6 years ago

Revisar documentación y naming de SysTime. Con la documentación actual es complicado entender que representa cada tiempo.

Ludovicio commented 6 years ago

Hay que sacar la carpeta "graphics" de "ZBE/core/tools/graphics" a "ZBE/core/graphics" o "ZBE/graphics"

Ludovicio commented 6 years ago

El pintado no pertenece a la funcionalidad básica: Podrías tener una compilación solo para server que no llevase nada de pintado. Por ello se deben sacar los sprites de "ZBE/core/entites/avatars" y dejarlos por debajo de "ZBE/entites/avatars"

Ludovicio commented 6 years ago

Sobrecargar implementar "operator()" en "Value" para no tener que llamar siempre a "getValue".

Ludovicio commented 6 years ago

CollisionEventGenerator debe desaparecer. Toda su funcionalidad la cumple InteractionEventGenerator

Ludovicio commented 6 years ago

Eliminar librerías y versiones de librerías que no se están usando.

Ludovicio commented 6 years ago

Tener en cuenta la posibilidad de añadir subespacios de nombres en los ficheros de funciones de utilidad.

Por ejemplo:

OALUtils declara sus funciones dentro de "zbe". Quizás debiesen declararse dentro de un subespacio "zbe::oal".

Ludovicio commented 6 years ago

Crear carpeta de implementaciones dentro de demonios.

Ludovicio commented 6 years ago

Mover MainLoop a daemons.

Ludovicio commented 6 years ago

Crear ficheros include por categorías. (daemons.h, behaviors.h ... )

Ludovicio commented 6 years ago

Crear ficheros de literales por contexto.

Ludovicio commented 5 years ago

Revisar uso de WeakAvatarEntityContainer en Actuator. Si siempre usamos Actuator de la forma:

Actuator<WeakAvatarEntityContainer<T> >

Quizás WeakAvatarEntityContainer deba incluirse en Actuator para que vuelva a ser:

Actuator<T>
Ludovicio commented 5 years ago

Diccionarios:

Se crearán diccionarios para valores: uint64_t, int64_t, float, double...

El acceso a estos valores no deberá asumir, desde las factorías, que exista ningún espacio de nombres. Si se desea usar espacios de nombres (buena idea) se deberán incluir completos en los ficheros de configuración.

Se debe modificar las factorias existentes para que sigan esta norma.

Ya disponemos de un diccionario para ids (uint64_t). El que creemos será un template que relacionará un nombre con el tipo que deseemos. El actual diccionario de ids desaparece y se creará una especialización del template para uint64_t con el nombre del diccionario actual. El diccionario para uint64_t tiene dos usos:

Ludovicio commented 5 years ago

Revisar uso del método insert de RsrcStore. En lugar de:

uint64_t id = SysIdGenerator::generate();
nameRsrcDictionary.insert("nombre",id);
rsrcStore.insert(id, myInstance);

Se debe usar:

rsrcStore.insert("nombre", myInstance);
Degryll commented 5 years ago

Hay clases de prueba que se crean en más de un test (como DummyDaemon) tal vez nos interese tener solo una implementación que los test que quieran las usen.

Ludovicio commented 5 years ago

Sacar del core las dependencias de SDL. De SDLSocket se puede extraer una interfaz.