komoku / aetheria

Aetheria Game Engine - Migrated from code.google.com/p/aetheria
Other
8 stars 0 forks source link

Las propiedades inicializadas en onInit() se machacan al cargar estado #310

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Cuando se carga un estado, se ejecutan los onInit() de todos los objetos. Esto 
hace que, si una propiedad se inicializaba en el onInit(), su valor se 
sobreescriba.

Si bien éste es un asunto en cuyas consecuencias nunca se pensó mucho, creo 
que siempre hubo, entre los usuarios y el propio desarrollador, la suposición 
implícita de que era práctica normal inicializar las propiedades de las 
entidades en el onInit(), aun no siendo constantes. La propia documentación de 
AGE recomienda hacer esto.

Por lo tanto, creo que cabe considerar el actual comportamiento de onInit() 
(que se ejecuta tanto al crear un mundo para una nueva partida, como para una 
carga de estado) como un bug.

Una posible solución es hacer que onInit() sólo se ejecute al inicializar el 
mundo por primera vez (no al cargar estados), y si es necesario otro método 
que se ejecute también en el segundo caso (cosa que hasta parece dudosa), 
siempre se puede crear un onLoad().

Original issue reported on code.google.com by komoku on 22 Oct 2014 at 8:51

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r875.

Original comment by komoku on 22 Oct 2014 at 9:15