Checks if its possible to unlock the given upgrade. This does not check requirements like the cost, but it checks if the upgrade is available in the current upgrade path and such
Checks the last upgrade which has the newSpriteId property in order to return the rendering sprite id
Returns the next upgrades
Returns an upgrade handle by id
Internal unlock method for upgrades
Internal helper to initialize the list of upgrades
Checks if the upgrade path for the given upgrade is locked, that is, if you upgrade something from path A, you can not unlock something from path B anymore
Returns if an upgrade is already unlocked
Allows an entity to perform upgrades to itself. Most Buildings have this. Upgrades are behaviour-changing changes to the entity, e.g. a new resource produced or transforming into a new type of tower. In comparison to enhancements, upgrades do much more, but they are also limited (Most buildings only have 5 upgrades or so, if at all, whereas Enhancements can be leveled up to level 512). However, upgrades provide cooler features which gives them their place.