All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Implemented
GameObject.defaultValues()
method to allow child classes to assign default values for their properties. This circumvents an issue with JavaScript's inheritance where value assignments in class field declarations are executed after parent constructor calls, which leads to default values in sub classes to always be applied. -
Implemented
GameObject.getNonCircularCopy()
method that returns a deep copy of a game object without anyowner
references. -
Implemented
GameObject.addModifier()
andGameObject.removeModifier()
methods.
Dependency
now checks against modified values instead of actual values when checking numeric properties.GameObject.addChild()
now checks whether an invalid child is being added.GameObject.serialize()
now makes use ofGameObject.getNonCircularCopy()
and properly applies serialization recursively.
applyModifiers()
is now a static function of theModifier
class.- Renamed
Dependency.name
toDependency.dependencyName
to prevent conflicts withGameObject.name
.
🌟 Initial release.