- Adds `CC_REQUIRES_NULL_TERMINATION` to methods that require a NULL at the end
- Removes more Hungarian notations in samples
- s/sprite/scene: fix from previous commit
- `CCLog` -> `log`
- `getLayerNamed` -> `getLayer`
- `getPropertyNamed` -> `getProperty`
- and other small fixes
and other best pracitces like:
capacity and "index" are ints and not unsigned int (google's recomendation).
It is easier to detect underflow bugs like this
plus other minor improvements
- class order fixes
- static methods (creators) at the beginning
- then constructors / destructors
- then init
- more `const` fixes
- adds some const getters
- some getters have 2 versions: `const` and no-const version
- renamed CocosDenshion::sharedEngine -> getInstance()
- Adds more `const` in getters
- Overriden methods have the `override` keyword
- Reorganizes the structure of the class:
# creators first, then constructor, destructors, init
# then overridden methods
# variables at the end
- removes Hungarian notation from parts of the code
Changes:
- creator (static) methods, and singleton methods (static) are always at the top of the class
- Constructors, destructros, and init methods comes next
- Then the instance methods for the class
- Then the overriden methods
- and finally the ivars
Also, overriden methos have the "override" context keyword
... instead of sharedXXX / purgeXXX.
They are more C++ friendly, and also easier to remember.
common files + Mac files + iOS files + tests/samples files were updated.
The old methods are deprecated now.
When load sub ccb type node , create a new ccbreader from parent
ccbreader. Should copy ccbRootPath from parent, otherwise, load
resource will fail if sub ccb node resource use special path
Handy macros for callbacks.
Instead of:
std::bind(func_ptr, instnace, std::placeholder::_1)
you use:
CALLBACK_1(func_ptr, instance)
And also removes more warnings from the tests
We've found it useful to use CCB_MEMBERVARIABLEASSIGNER_GLUE_WEAK in
situations where we don't want CCObject derived pointers retained. It's
also useful if you want to assign a pointer dynamically cast to an
abstract base class such as CCLabelProtocol.