Based on cocos2d-x 3.0 final