ccb 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.md +31 -0
  4. data/bin/ccb +4 -0
  5. data/lib/ccb/builder/project_builder.rb +14 -0
  6. data/lib/ccb/builder/scene_builder.rb +9 -0
  7. data/lib/ccb/builder/templates/project/GameConfig.js.tt +21 -0
  8. data/lib/ccb/builder/templates/project/_cocos-project.json +4 -0
  9. data/lib/ccb/builder/templates/project/folder/CMakeLists.txt +295 -0
  10. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/Base64Images.js +32 -0
  11. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCBoot.js +2271 -0
  12. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCDebugger.js +336 -0
  13. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCAction.js +694 -0
  14. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCamera.js +293 -0
  15. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCatmullRom.js +605 -0
  16. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionEase.js +3681 -0
  17. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInstant.js +757 -0
  18. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInterval.js +3554 -0
  19. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionTween.js +166 -0
  20. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid.js +372 -0
  21. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid3D.js +1257 -0
  22. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionPageTurn3D.js +113 -0
  23. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionTiledGrid.js +1289 -0
  24. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/audio/CCAudio.js +1024 -0
  25. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNode.js +224 -0
  26. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeCanvasRenderCmd.js +227 -0
  27. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeWebGLRenderCmd.js +226 -0
  28. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/ZipUtils.js +82 -0
  29. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/base64.js +95 -0
  30. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/gzip.js +731 -0
  31. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/zlib.min.js +55 -0
  32. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCActionManager.js +378 -0
  33. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCCamera.js +290 -0
  34. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCConfiguration.js +294 -0
  35. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirector.js +1019 -0
  36. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirectorWebGL.js +329 -0
  37. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesCanvas.js +438 -0
  38. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesWebGL.js +464 -0
  39. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCScheduler.js +744 -0
  40. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/BaseNodesPropertyDefine.js +127 -0
  41. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNode.js +294 -0
  42. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeCanvasRenderCmd.js +138 -0
  43. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeWebGLRenderCmd.js +145 -0
  44. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNode.js +2386 -0
  45. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js +504 -0
  46. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeWebGLRenderCmd.js +254 -0
  47. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCAffineTransform.js +259 -0
  48. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCGeometry.js +327 -0
  49. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEvent.js +449 -0
  50. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventExtension.js +126 -0
  51. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventListener.js +519 -0
  52. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventManager.js +1025 -0
  53. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCTouch.js +175 -0
  54. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTF.js +829 -0
  55. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +420 -0
  56. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js +101 -0
  57. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/LabelTTFPropertyDefine.js +88 -0
  58. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayer.js +642 -0
  59. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerCanvasRenderCmd.js +434 -0
  60. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerWebGLRenderCmd.js +248 -0
  61. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCClass.js +333 -0
  62. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCCommon.js +303 -0
  63. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCConfig.js +303 -0
  64. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCEGLView.js +1245 -0
  65. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputExtension.js +135 -0
  66. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputManager.js +616 -0
  67. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCLoaders.js +142 -0
  68. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCMacro.js +830 -0
  69. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCSAXParser.js +160 -0
  70. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCScreen.js +155 -0
  71. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypes.js +374 -0
  72. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesPropertyDefine.js +165 -0
  73. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesWebGL.js +689 -0
  74. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCVisibleRect.js +100 -0
  75. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/miniFramework.js +264 -0
  76. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererCanvas.js +274 -0
  77. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererWebGL.js +137 -0
  78. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCLoaderScene.js +149 -0
  79. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCScene.js +62 -0
  80. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimation.js +477 -0
  81. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimationCache.js +213 -0
  82. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCBakeSprite.js +71 -0
  83. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSprite.js +1014 -0
  84. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNode.js +676 -0
  85. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeCanvasRenderCmd.js +101 -0
  86. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeWebGLRenderCmd.js +243 -0
  87. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteCanvasRenderCmd.js +518 -0
  88. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrame.js +420 -0
  89. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrameCache.js +341 -0
  90. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteWebGLRenderCmd.js +493 -0
  91. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/SpritesPropertyDefine.js +67 -0
  92. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCPointExtension.js +515 -0
  93. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCVertex.js +170 -0
  94. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/TransformUtils.js +62 -0
  95. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTexture2D.js +455 -0
  96. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureAtlas.js +653 -0
  97. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureCache.js +371 -0
  98. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesPropertyDefine.js +221 -0
  99. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesWebGL.js +899 -0
  100. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/utils/BinaryLoader.js +151 -0
  101. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrabber.js +110 -0
  102. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrid.js +737 -0
  103. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/aabb.js +68 -0
  104. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/mat4stack.js +59 -0
  105. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/matrix.js +169 -0
  106. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat3.js +329 -0
  107. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat4.js +810 -0
  108. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/plane.js +184 -0
  109. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/quaternion.js +497 -0
  110. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/ray2.js +163 -0
  111. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/utility.js +76 -0
  112. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec2.js +107 -0
  113. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec3.js +205 -0
  114. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec4.js +158 -0
  115. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlas.js +239 -0
  116. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasCanvasRenderCmd.js +95 -0
  117. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasWebGLRenderCmd.js +132 -0
  118. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFont.js +958 -0
  119. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontCanvasRenderCmd.js +142 -0
  120. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontWebGLRenderCmd.js +87 -0
  121. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenu.js +600 -0
  122. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenuItem.js +1422 -0
  123. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreak.js +517 -0
  124. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreakWebGLRenderCmd.js +66 -0
  125. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGrid.js +129 -0
  126. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGridWebGLRenderCmd.js +98 -0
  127. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNode.js +252 -0
  128. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNodeRenderCmd.js +69 -0
  129. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCPNGReader.js +330 -0
  130. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNode.js +527 -0
  131. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeCanvasRenderCmd.js +38 -0
  132. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeWebGLRenderCmd.js +74 -0
  133. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleExamples.js +1006 -0
  134. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystem.js +2294 -0
  135. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js +217 -0
  136. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemWebGLRenderCmd.js +402 -0
  137. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCTIFFReader.js +692 -0
  138. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNode.js +212 -0
  139. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeCanvasRenderCmd.js +52 -0
  140. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeWebGLRenderCmd.js +53 -0
  141. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSprite.js +447 -0
  142. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteCanvasRenderCmd.js +93 -0
  143. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteWebGLRenderCmd.js +87 -0
  144. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCActionProgressTimer.js +227 -0
  145. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimer.js +345 -0
  146. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerCanvasRenderCmd.js +270 -0
  147. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerWebGLRenderCmd.js +486 -0
  148. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTexture.js +395 -0
  149. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureCanvasRenderCmd.js +105 -0
  150. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureWebGLRenderCmd.js +367 -0
  151. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLProgram.js +767 -0
  152. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLStateCache.js +340 -0
  153. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaderCache.js +301 -0
  154. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaders.js +280 -0
  155. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNode.js +940 -0
  156. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeCanvasRenderCmd.js +129 -0
  157. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeWebGLRenderCmd.js +41 -0
  158. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCIMEDispatcher.js +526 -0
  159. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCTextFieldTTF.js +472 -0
  160. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTGAlib.js +437 -0
  161. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayer.js +914 -0
  162. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerCanvasRenderCmd.js +232 -0
  163. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerWebGLRenderCmd.js +67 -0
  164. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXObjectGroup.js +146 -0
  165. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXTiledMap.js +479 -0
  166. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXXMLParser.js +950 -0
  167. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransition.js +1971 -0
  168. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionPageTurn.js +152 -0
  169. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionProgress.js +458 -0
  170. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBAnimationManager.js +770 -0
  171. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBKeyframe.js +60 -0
  172. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReader.js +1129 -0
  173. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReaderUtil.js +61 -0
  174. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBRelativePositioning.js +90 -0
  175. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBSequence.js +114 -0
  176. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBValue.js +81 -0
  177. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCControlLoader.js +318 -0
  178. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoader.js +905 -0
  179. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoaderLibrary.js +101 -0
  180. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCSpriteLoader.js +544 -0
  181. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccpool/CCPool.js +146 -0
  182. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNode.js +305 -0
  183. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeCanvasRenderCmd.js +246 -0
  184. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeWebGLRenderCmd.js +159 -0
  185. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9Sprite.js +1105 -0
  186. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteCanvasRenderCmd.js +142 -0
  187. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteWebGLRenderCmd.js +129 -0
  188. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidget.js +2059 -0
  189. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidgetRenderCmd.js +100 -0
  190. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIHBox.js +80 -0
  191. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayout.js +1558 -0
  192. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutCanvasRenderCmd.js +179 -0
  193. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutComponent.js +585 -0
  194. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutManager.js +457 -0
  195. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutParameter.js +576 -0
  196. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutWebGLRenderCmd.js +240 -0
  197. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIRelativeBox.js +79 -0
  198. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIVBox.js +79 -0
  199. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/CocosGUI.js +62 -0
  200. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/UIHelper.js +164 -0
  201. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIButton.js +987 -0
  202. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UICheckBox.js +737 -0
  203. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIImageView.js +337 -0
  204. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UILoadingBar.js +432 -0
  205. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIRichText.js +579 -0
  206. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UISlider.js +762 -0
  207. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIText.js +512 -0
  208. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextAtlas.js +229 -0
  209. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextBMFont.js +216 -0
  210. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextField.js +915 -0
  211. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIListView.js +602 -0
  212. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIPageView.js +657 -0
  213. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIScrollView.js +1884 -0
  214. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/CocoStudio.js +68 -0
  215. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionFrame.js +528 -0
  216. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionManager.js +112 -0
  217. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionNode.js +417 -0
  218. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionObject.js +263 -0
  219. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmature.js +579 -0
  220. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureCanvasRenderCmd.js +190 -0
  221. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureWebGLRenderCmd.js +167 -0
  222. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCBone.js +711 -0
  223. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCArmatureAnimation.js +669 -0
  224. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCProcessBase.js +365 -0
  225. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCTween.js +448 -0
  226. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/datas/CCDatas.js +807 -0
  227. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDecorativeDisplay.js +118 -0
  228. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayFactory.js +220 -0
  229. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayManager.js +465 -0
  230. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkin.js +215 -0
  231. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinCanvasRenderCmd.js +58 -0
  232. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinWebGLRenderCmd.js +146 -0
  233. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/physics/CCColliderDetector.js +397 -0
  234. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDataManager.js +325 -0
  235. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDefine.js +45 -0
  236. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCDataReaderHelper.js +1223 -0
  237. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCSpriteFrameCacheHelper.js +68 -0
  238. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTransformHelp.js +183 -0
  239. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTweenFunction.js +501 -0
  240. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCUtilMath.js +69 -0
  241. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAttribute.js +210 -0
  242. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAudio.js +285 -0
  243. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComController.js +76 -0
  244. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComRender.js +91 -0
  245. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponent.js +136 -0
  246. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponentContainer.js +159 -0
  247. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/load.js +221 -0
  248. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-1.x.js +238 -0
  249. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-2.x.js +266 -0
  250. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/compatible.js +251 -0
  251. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/scene-1.x.js +262 -0
  252. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-1.x.js +292 -0
  253. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-2.x.js +1288 -0
  254. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/uiParser-1.x.js +680 -0
  255. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/ActionTimeline.js +448 -0
  256. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Frame.js +1268 -0
  257. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Timeline.js +321 -0
  258. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/ObjectFactory.js +99 -0
  259. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerBase.js +49 -0
  260. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerMng.js +301 -0
  261. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerObj.js +263 -0
  262. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCEditBox.js +716 -0
  263. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCdomNode.js +657 -0
  264. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControl.js +381 -0
  265. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlButton.js +688 -0
  266. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlColourPicker.js +187 -0
  267. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlHuePicker.js +218 -0
  268. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlPotentiometer.js +300 -0
  269. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSaturationBrightnessPicker.js +257 -0
  270. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSlider.js +308 -0
  271. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlStepper.js +390 -0
  272. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSwitch.js +425 -0
  273. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlUtils.js +177 -0
  274. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCInvocation.js +65 -0
  275. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCMenuPassive.js +415 -0
  276. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9Sprite.js +1099 -0
  277. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteCanvasRenderCmd.js +142 -0
  278. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteWebGLRenderCmd.js +129 -0
  279. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollView.js +827 -0
  280. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewCanvasRenderCmd.js +79 -0
  281. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewWebGLRenderCmd.js +108 -0
  282. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCSorting.js +239 -0
  283. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCTableView.js +718 -0
  284. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeleton.js +357 -0
  285. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonAnimation.js +340 -0
  286. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonCanvasRenderCmd.js +165 -0
  287. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonWebGLRenderCmd.js +165 -0
  288. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/Spine.js +2239 -0
  289. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/box2d/box2d.js +10882 -0
  290. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/chipmunk/chipmunk.js +6196 -0
  291. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/Plugin.js +254 -0
  292. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook.js +557 -0
  293. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook_sdk.js +151 -0
  294. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/socketio/socket.io.min.js +2 -0
  295. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/jsb_apis.js +618 -0
  296. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/moduleConfig.json +453 -0
  297. data/lib/ccb/builder/templates/project/folder/project.json +42 -0
  298. data/lib/ccb/builder/templates/project/folder/res/CloseNormal.png +0 -0
  299. data/lib/ccb/builder/templates/project/folder/res/CloseSelected.png +0 -0
  300. data/lib/ccb/builder/templates/project/folder/res/HelloWorld.png +0 -0
  301. data/lib/ccb/builder/templates/project/folder/res/favicon.ico +0 -0
  302. data/lib/ccb/builder/templates/project/folder/res/gameOver/cocos2d-html5.png +0 -0
  303. data/lib/ccb/builder/templates/project/folder/res/gameOver/gameOver.png +0 -0
  304. data/lib/ccb/builder/templates/project/folder/res/mainMenu/bg.png +0 -0
  305. data/lib/ccb/builder/templates/project/folder/res/mainMenu/menu.png +0 -0
  306. data/lib/ccb/builder/templates/project/folder/res/setting/menuTitle.png +0 -0
  307. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.fnt +182 -0
  308. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.png +0 -0
  309. data/lib/ccb/builder/templates/project/folder/res/sound/music/bgMusic.mp3 +0 -0
  310. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABBackgroundLayer.js +23 -0
  311. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABTouchLayer.js +51 -0
  312. data/lib/ccb/builder/templates/project/folder/src/about/scene/About.js +36 -0
  313. data/lib/ccb/builder/templates/project/folder/src/config/Level.js +7 -0
  314. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOBackgroundLayer.js +50 -0
  315. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOTouchLayer.js +51 -0
  316. data/lib/ccb/builder/templates/project/folder/src/gameOver/scene/GameOver.js +38 -0
  317. data/lib/ccb/builder/templates/project/folder/src/gamePlay/classes/LevelManager.js +21 -0
  318. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPBackgroundLayer.js +25 -0
  319. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPTouchLayer.js +51 -0
  320. data/lib/ccb/builder/templates/project/folder/src/gamePlay/scene/GamePlay.js +44 -0
  321. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMBackgroundLayer.js +43 -0
  322. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMMainMenuLayer.js +38 -0
  323. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMTouchLayer.js +96 -0
  324. data/lib/ccb/builder/templates/project/folder/src/mainMenu/scene/MainMenu.js +45 -0
  325. data/lib/ccb/builder/templates/project/folder/src/resource.js +29 -0
  326. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STBackgroundLayer.js +25 -0
  327. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STTouchLayer.js +89 -0
  328. data/lib/ccb/builder/templates/project/folder/src/setting/scene/Setting.js +40 -0
  329. data/lib/ccb/builder/templates/project/index.html.tt +27 -0
  330. data/lib/ccb/builder/templates/project/main.js.tt +62 -0
  331. data/lib/ccb/cli.rb +32 -0
  332. data/lib/ccb/ext/method_hooker.rb +68 -0
  333. data/lib/ccb/ext/string_extention.rb +7 -0
  334. data/lib/ccb.rb +1 -0
  335. metadata +449 -0
@@ -0,0 +1,1129 @@
1
+ /****************************************************************************
2
+ Copyright (c) 2008-2010 Ricardo Quesada
3
+ Copyright (c) 2011-2012 cocos2d-x.org
4
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
5
+
6
+ http://www.cocos2d-x.org
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in
16
+ all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ THE SOFTWARE.
25
+ ****************************************************************************/
26
+
27
+ var CCB_VERSION = 5;
28
+
29
+ var CCB_PROPTYPE_POSITION = 0;
30
+ var CCB_PROPTYPE_SIZE = 1;
31
+ var CCB_PROPTYPE_POINT = 2;
32
+ var CCB_PROPTYPE_POINTLOCK = 3;
33
+ var CCB_PROPTYPE_SCALELOCK = 4;
34
+ var CCB_PROPTYPE_DEGREES = 5;
35
+ var CCB_PROPTYPE_INTEGER = 6;
36
+ var CCB_PROPTYPE_FLOAT = 7;
37
+ var CCB_PROPTYPE_FLOATVAR = 8;
38
+ var CCB_PROPTYPE_CHECK = 9;
39
+ var CCB_PROPTYPE_SPRITEFRAME = 10;
40
+ var CCB_PROPTYPE_TEXTURE = 11;
41
+ var CCB_PROPTYPE_BYTE = 12;
42
+ var CCB_PROPTYPE_COLOR3 = 13;
43
+ var CCB_PROPTYPE_COLOR4VAR = 14;
44
+ var CCB_PROPTYPE_FLIP = 15;
45
+ var CCB_PROPTYPE_BLENDMODE = 16;
46
+ var CCB_PROPTYPE_FNTFILE = 17;
47
+ var CCB_PROPTYPE_TEXT = 18;
48
+ var CCB_PROPTYPE_FONTTTF = 19;
49
+ var CCB_PROPTYPE_INTEGERLABELED = 20;
50
+ var CCB_PROPTYPE_BLOCK = 21;
51
+ var CCB_PROPTYPE_ANIMATION = 22;
52
+ var CCB_PROPTYPE_CCBFILE = 23;
53
+ var CCB_PROPTYPE_STRING = 24;
54
+ var CCB_PROPTYPE_BLOCKCCCONTROL = 25;
55
+ var CCB_PROPTYPE_FLOATSCALE = 26;
56
+ var CCB_PROPTYPE_FLOATXY = 27;
57
+
58
+ var CCB_FLOAT0 = 0;
59
+ var CCB_FLOAT1 = 1;
60
+ var CCB_FLOAT_MINUS1 = 2;
61
+ var CCB_FLOAT05 = 3;
62
+ var CCB_FLOAT_INTEGER = 4;
63
+ var CCB_FLOAT_FULL = 5;
64
+
65
+ var CCB_PLATFORM_ALL = 0;
66
+ var CCB_PLATFORM_IOS = 1;
67
+ var CCB_PLATFORM_MAC = 2;
68
+
69
+ var CCB_TARGETTYPE_NONE = 0;
70
+ var CCB_TARGETTYPE_DOCUMENTROOT = 1;
71
+ var CCB_TARGETTYPE_OWNER = 2;
72
+
73
+ var CCB_KEYFRAME_EASING_INSTANT = 0;
74
+ var CCB_KEYFRAME_EASING_LINEAR = 1;
75
+ var CCB_KEYFRAME_EASING_CUBIC_IN = 2;
76
+ var CCB_KEYFRAME_EASING_CUBIC_OUT = 3;
77
+ var CCB_KEYFRAME_EASING_CUBIC_INOUT = 4;
78
+ var CCB_KEYFRAME_EASING_ELASTIC_IN = 5;
79
+ var CCB_KEYFRAME_EASING_ELASTIC_OUT = 6;
80
+ var CCB_KEYFRAME_EASING_ELASTIC_INOUT = 7;
81
+ var CCB_KEYFRAME_EASING_BOUNCE_IN = 8;
82
+ var CCB_KEYFRAME_EASING_BOUNCE_OUT = 9;
83
+ var CCB_KEYFRAME_EASING_BOUNCE_INOUT = 10;
84
+ var CCB_KEYFRAME_EASING_BACK_IN = 11;
85
+ var CCB_KEYFRAME_EASING_BACK_OUT = 12;
86
+ var CCB_KEYFRAME_EASING_BACK_INOUT = 13;
87
+
88
+ var CCB_POSITIONTYPE_RELATIVE_BOTTOM_LEFT = 0;
89
+ var CCB_POSITIONTYPE_RELATIVE_TOP_LEFT = 1;
90
+ var CCB_POSITIONTYPE_RELATIVE_TOP_RIGHT = 2;
91
+ var CCB_POSITIONTYPE_RELATIVE_BOTTOM_RIGHT = 3;
92
+ var CCB_POSITIONTYPE_PERCENT = 4;
93
+ var CCB_POSITIONTYPE_MULTIPLY_RESOLUTION = 5;
94
+
95
+ var CCB_SIZETYPE_ABSOLUTE = 0;
96
+ var CCB_SIZETYPE_PERCENT = 1;
97
+ var CCB_SIZETYPE_RELATIVE_CONTAINER = 2;
98
+ var CCB_SIZETYPE_HORIZONTAL_PERCENT = 3;
99
+ var CCB_SIZETYPE_VERTICAL_PERCENT = 4;
100
+ var CCB_SIZETYPE_MULTIPLY_RESOLUTION = 5;
101
+
102
+ var CCB_SCALETYPE_ABSOLUTE = 0;
103
+ var CCB_SCALETYPE_MULTIPLY_RESOLUTION = 1;
104
+
105
+ cc.BuilderFile = cc.Node.extend({
106
+ _ccbFileNode:null,
107
+
108
+ getCCBFileNode:function () {
109
+ return this._ccbFileNode;
110
+ },
111
+ setCCBFileNode:function (node) {
112
+ this._ccbFileNode = node;
113
+ }
114
+ });
115
+
116
+ cc.BuilderFile.create = function () {
117
+ return new cc.BuilderFile();
118
+ };
119
+
120
+ /**
121
+ * Parse CCBI file which is generated by CocosBuilder
122
+ */
123
+ cc.BuilderReader = cc.Class.extend({
124
+ _jsControlled:false,
125
+ _data:null,
126
+ _ccbRootPath:"",
127
+
128
+ _bytes:0,
129
+ _currentByte:0,
130
+ _currentBit:0,
131
+
132
+ _stringCache:null,
133
+ _loadedSpriteSheets:null,
134
+
135
+ _owner:null,
136
+ _animationManager:null,
137
+ _animationManagers:null,
138
+ _animatedProps:null,
139
+
140
+ _ccNodeLoaderLibrary:null,
141
+ _ccNodeLoaderListener:null,
142
+ _ccbMemberVariableAssigner:null,
143
+ _ccbSelectorResolver:null,
144
+
145
+ _ownerOutletNames:null,
146
+ _ownerOutletNodes:null,
147
+ _nodesWithAnimationManagers:null,
148
+ _animationManagerForNodes:null,
149
+
150
+ _ownerCallbackNames:null,
151
+ _ownerCallbackNodes:null,
152
+ _ownerCallbackEvents:null,
153
+
154
+ _readNodeGraphFromData:false,
155
+
156
+ ctor:function (ccNodeLoaderLibrary, ccbMemberVariableAssigner, ccbSelectorResolver, ccNodeLoaderListener) {
157
+ this._stringCache = [];
158
+ this._loadedSpriteSheets = [];
159
+ this._currentBit = -1;
160
+ this._currentByte = -1;
161
+
162
+ if (arguments.length != 0) {
163
+ if (ccNodeLoaderLibrary instanceof cc.BuilderReader) {
164
+ var ccbReader = ccNodeLoaderLibrary;
165
+
166
+ /* Borrow data from the 'parent' CCBReader. */
167
+ this._loadedSpriteSheets = ccbReader._loadedSpriteSheets;
168
+ this._ccNodeLoaderLibrary = ccbReader._ccNodeLoaderLibrary;
169
+
170
+ this._ccbMemberVariableAssigner = ccbReader._ccbMemberVariableAssigner;
171
+ this._ccbSelectorResolver = ccbReader._ccbSelectorResolver;
172
+ this._ccNodeLoaderListener = ccbReader._ccNodeLoaderListener;
173
+
174
+ this._ownerCallbackNames = ccbReader._ownerCallbackNames;
175
+ this._ownerCallbackNodes = ccbReader._ownerCallbackNodes;
176
+ this._ownerCallbackEvents = ccbReader._ownerCallbackEvents;
177
+ this._ownerOutletNames = ccbReader._ownerOutletNames;
178
+ this._ownerOutletNodes = ccbReader._ownerOutletNodes;
179
+ this._ccbRootPath = ccbReader._ccbRootPath;
180
+ } else {
181
+ this._ccNodeLoaderLibrary = ccNodeLoaderLibrary;
182
+ this._ccbMemberVariableAssigner = ccbMemberVariableAssigner;
183
+ this._ccbSelectorResolver = ccbSelectorResolver;
184
+ this._ccNodeLoaderListener = ccNodeLoaderListener;
185
+ }
186
+ }
187
+ },
188
+
189
+ getCCBRootPath:function () {
190
+ return this._ccbRootPath;
191
+ },
192
+
193
+ setCCBRootPath:function (rootPath) {
194
+ this._ccbRootPath = rootPath;
195
+ },
196
+
197
+ initWithData:function (data, owner) {
198
+ //setup action manager
199
+ this._animationManager = new cc.BuilderAnimationManager();
200
+
201
+ //setup byte array
202
+ //Array replace to CCData in Javascript
203
+ this._data = data;
204
+ this._bytes = data.length;
205
+ this._currentBit = 0;
206
+ this._currentByte = 0;
207
+
208
+ this._owner = owner;
209
+
210
+ //setup resolution scale and container size
211
+ this._animationManager.setRootContainerSize(cc.director.getWinSize());
212
+
213
+ return true;
214
+ },
215
+
216
+ _loadBinarySync : function(url){
217
+ var self = this;
218
+ var req = this.getXMLHttpRequest();
219
+ var errInfo = "load " + url + " failed!";
220
+ req.open('GET', url, false);
221
+ var arrayInfo = null;
222
+ if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
223
+ req.setRequestHeader("Accept-Charset", "x-user-defined");
224
+ req.send(null);
225
+ if (req.status != 200) {
226
+ cc.log(errInfo);
227
+ return null;
228
+ }
229
+
230
+ var fileContents = cc._convertResponseBodyToText(req["responseBody"]);
231
+ if (fileContents) {
232
+ arrayInfo = this._stringConvertToArray(fileContents);
233
+ this._fileDataCache[url] = arrayInfo;
234
+ }
235
+ } else {
236
+ if (req.overrideMimeType)
237
+ req.overrideMimeType('text\/plain; charset=x-user-defined');
238
+ req.send(null);
239
+ if (req.status != 200) {
240
+ cc.log(errInfo);
241
+ return null;
242
+ }
243
+
244
+ arrayInfo = this._stringConvertToArray(req.responseText);
245
+ this._fileDataCache[url] = arrayInfo;
246
+ }
247
+ return arrayInfo;
248
+ },
249
+
250
+ readNodeGraphFromFile:function (ccbFileName, owner, parentSize, animationManager) {
251
+ if (parentSize == null) {
252
+ parentSize = cc.director.getWinSize();
253
+ } else if (parentSize instanceof cc.BuilderAnimationManager) {
254
+ animationManager = parentSize;
255
+ parentSize = cc.director.getWinSize();
256
+ }
257
+
258
+ var data = cc.loader.getRes(ccbFileName);
259
+ if(!data){
260
+ var realUrl = cc.loader.getUrl(ccbFileName);
261
+ data = cc.loader.loadBinarySync(realUrl);
262
+ cc.loader.cache[ccbFileName] = data;
263
+ }
264
+
265
+ return this.readNodeGraphFromData(data, owner, parentSize, animationManager);
266
+ },
267
+
268
+ readNodeGraphFromData:function (data, owner, parentSize) {
269
+ this.initWithData(data, owner);
270
+ var locAnimationManager = this._animationManager;
271
+ locAnimationManager.setRootContainerSize(parentSize);
272
+ locAnimationManager.setOwner(owner);
273
+
274
+ this._ownerOutletNames = [];
275
+ this._ownerOutletNodes = [];
276
+ this._ownerCallbackNames = [];
277
+ this._ownerCallbackNodes = [];
278
+ this._ownerCallbackEvents = [];
279
+ this._animationManagers = new cc._Dictionary();
280
+
281
+ var nodeGraph = this.readFileWithCleanUp(true);
282
+
283
+ if (nodeGraph && locAnimationManager.getAutoPlaySequenceId() != -1) {
284
+ //auto play animations
285
+ locAnimationManager.runAnimations(locAnimationManager.getAutoPlaySequenceId(), 0);
286
+ }
287
+
288
+ if (this._jsControlled) {
289
+ var locNodes = [];
290
+ var locAnimations = [];
291
+
292
+ var locAnimationManagers = this._animationManagers;
293
+ var getAllKeys = locAnimationManagers.allKeys();
294
+ for (var i = 0; i < getAllKeys.length; i++) {
295
+ locNodes.push(getAllKeys[i]);
296
+ locAnimations.push(locAnimationManagers.objectForKey(getAllKeys[i]));
297
+ }
298
+
299
+ this._nodesWithAnimationManagers = locNodes;
300
+ this._animationManagerForNodes = locAnimations;
301
+ }
302
+
303
+ return nodeGraph;
304
+ },
305
+
306
+ createSceneWithNodeGraphFromFile:function (ccbFileName, owner, parentSize, animationManager) {
307
+ var node = this.readNodeGraphFromFile(ccbFileName, owner, parentSize, animationManager);
308
+ var scene = new cc.Scene();
309
+ scene.addChild(node);
310
+ return scene;
311
+ },
312
+
313
+ getCCBMemberVariableAssigner:function () {
314
+ return this._ccbMemberVariableAssigner;
315
+ },
316
+
317
+ getCCBSelectorResolver:function () {
318
+ return this._ccbSelectorResolver;
319
+ },
320
+
321
+ getAnimationManager:function () {
322
+ return this._animationManager;
323
+ },
324
+
325
+ setAnimationManager:function (animationManager) {
326
+ this._animationManager = animationManager;
327
+ },
328
+
329
+ getAnimatedProperties:function () {
330
+ return this._animatedProps;
331
+ },
332
+
333
+ getLoadedSpriteSheet:function () {
334
+ return this._loadedSpriteSheets;
335
+ },
336
+
337
+ getOwner:function () {
338
+ return this._owner;
339
+ },
340
+
341
+ readInt:function (signed) {
342
+ var numBits = 0;
343
+ while (!this._getBit()) {
344
+ numBits++;
345
+ }
346
+
347
+ var current = 0;
348
+ for (var a = numBits - 1; a >= 0; a--) {
349
+ if (this._getBit()) {
350
+ current |= 1 << a;
351
+ }
352
+ }
353
+ current |= 1 << numBits;
354
+
355
+ var num;
356
+ if (signed) {
357
+ var s = current % 2;
358
+ if (s) {
359
+ num = 0 | (current / 2);
360
+ } else {
361
+ num = 0 | (-current / 2);
362
+ }
363
+ } else {
364
+ num = current - 1;
365
+ }
366
+
367
+ this._alignBits();
368
+
369
+ return num;
370
+ },
371
+
372
+ readByte:function () {
373
+ var byteValue = this._data[this._currentByte];
374
+ this._currentByte++;
375
+ return byteValue;
376
+ },
377
+
378
+ readBool:function () {
379
+ return (0 != this.readByte());
380
+ },
381
+
382
+ readFloat:function () {
383
+ var type = this.readByte();
384
+
385
+ switch (type) {
386
+ case CCB_FLOAT0:
387
+ return 0;
388
+ case CCB_FLOAT1:
389
+ return 1;
390
+ case CCB_FLOAT_MINUS1:
391
+ return -1;
392
+ case CCB_FLOAT05:
393
+ return 0.5;
394
+ case CCB_FLOAT_INTEGER:
395
+ return this.readInt(true);
396
+ default:
397
+ /* using a memcpy since the compiler isn't
398
+ * doing the float ptr math correctly on device.
399
+ */
400
+ var pF = this._decodeFloat(23, 8); //this._bytes + this._currentByte;
401
+ //this._currentByte += 4;
402
+ return pF;
403
+ }
404
+ },
405
+
406
+ _decodeFloat:function (precisionBits, exponentBits) {
407
+ var length = precisionBits + exponentBits + 1;
408
+ var size = length >> 3;
409
+ this._checkSize(length);
410
+
411
+ var bias = Math.pow(2, exponentBits - 1) - 1;
412
+ var signal = this._readBitsOnly(precisionBits + exponentBits, 1, size);
413
+ var exponent = this._readBitsOnly(precisionBits, exponentBits, size);
414
+ var significand = 0;
415
+ var divisor = 2;
416
+ var curByte = 0; //length + (-precisionBits >> 3) - 1;
417
+ do {
418
+ var byteValue = this._readByteOnly(++curByte, size);
419
+ var startBit = precisionBits % 8 || 8;
420
+ var mask = 1 << startBit;
421
+ while (mask >>= 1) {
422
+ if (byteValue & mask) {
423
+ significand += 1 / divisor;
424
+ }
425
+ divisor *= 2;
426
+ }
427
+ } while (precisionBits -= startBit);
428
+
429
+ this._currentByte += size;
430
+
431
+ return exponent == (bias << 1) + 1 ? significand ? NaN : signal ? -Infinity : +Infinity
432
+ : (1 + signal * -2) * (exponent || significand ? !exponent ? Math.pow(2, -bias + 1) * significand
433
+ : Math.pow(2, exponent - bias) * (1 + significand) : 0);
434
+ },
435
+
436
+ _readBitsOnly:function (start, length, size) {
437
+ var offsetLeft = (start + length) % 8;
438
+ var offsetRight = start % 8;
439
+ var curByte = size - (start >> 3) - 1;
440
+ var lastByte = size + (-(start + length) >> 3);
441
+ var diff = curByte - lastByte;
442
+
443
+ var sum = (this._readByteOnly(curByte, size) >> offsetRight) & ((1 << (diff ? 8 - offsetRight : length)) - 1);
444
+
445
+ if (diff && offsetLeft) {
446
+ sum += (this._readByteOnly(lastByte++, size) & ((1 << offsetLeft) - 1)) << (diff-- << 3) - offsetRight;
447
+ }
448
+
449
+ while (diff) {
450
+ sum += this._shl(this._readByteOnly(lastByte++, size), (diff-- << 3) - offsetRight);
451
+ }
452
+
453
+ return sum;
454
+ },
455
+
456
+ _readByteOnly:function (i, size) {
457
+ return this._data[this._currentByte + size - i - 1];
458
+ },
459
+
460
+ _shl:function (a, b) {
461
+ for (++b; --b; a = ((a %= 0x7fffffff + 1) & 0x40000000) == 0x40000000 ? a * 2 : (a - 0x40000000) * 2 + 0x7fffffff + 1);
462
+ return a;
463
+ },
464
+
465
+ _checkSize:function (neededBits) {
466
+ if (!(this._currentByte + Math.ceil(neededBits / 8) < this._data.length)) {
467
+ throw new Error("Index out of bound");
468
+ }
469
+ },
470
+
471
+ readCachedString:function () {
472
+ return this._stringCache[this.readInt(false)];
473
+ },
474
+
475
+ isJSControlled:function () {
476
+ return this._jsControlled;
477
+ },
478
+
479
+ getOwnerCallbackNames:function () {
480
+ return this._ownerCallbackNames;
481
+ },
482
+
483
+ getOwnerCallbackNodes:function () {
484
+ return this._ownerCallbackNodes;
485
+ },
486
+
487
+ getOwnerCallbackControlEvents:function(){
488
+ return this._ownerCallbackEvents;
489
+ },
490
+
491
+ getOwnerOutletNames:function () {
492
+ return this._ownerOutletNames;
493
+ },
494
+
495
+ getOwnerOutletNodes:function () {
496
+ return this._ownerOutletNodes;
497
+ },
498
+
499
+ getNodesWithAnimationManagers:function () {
500
+ return this._nodesWithAnimationManagers;
501
+ },
502
+
503
+ getAnimationManagersForNodes:function () {
504
+ return this._animationManagerForNodes;
505
+ },
506
+
507
+ getAnimationManagers:function () {
508
+ return this._animationManagers;
509
+ },
510
+
511
+ setAnimationManagers:function (animationManagers) {
512
+ this._animationManagers = animationManagers;
513
+ },
514
+
515
+ addOwnerCallbackName:function (name) {
516
+ this._ownerCallbackNames.push(name)
517
+ },
518
+
519
+ addOwnerCallbackNode:function (node) {
520
+ this._ownerCallbackNodes.push(node);
521
+ },
522
+
523
+ addOwnerCallbackControlEvents:function(event){
524
+ this._ownerCallbackEvents.push(event);
525
+ },
526
+
527
+ addDocumentCallbackName:function (name) {
528
+ this._animationManager.addDocumentCallbackName(name);
529
+ },
530
+
531
+ addDocumentCallbackNode:function (node) {
532
+ this._animationManager.addDocumentCallbackNode(node);
533
+ },
534
+
535
+ addDocumentCallbackControlEvents:function(controlEvents){
536
+ this._animationManager.addDocumentCallbackControlEvents(controlEvents);
537
+ },
538
+
539
+ readFileWithCleanUp:function (cleanUp) {
540
+ if (!this._readHeader())
541
+ return null;
542
+ if (!this._readStringCache())
543
+ return null;
544
+ if (!this._readSequences())
545
+ return null;
546
+
547
+ var node = this._readNodeGraph();
548
+ this._animationManagers.setObject(this._animationManager, node);
549
+
550
+ if (cleanUp)
551
+ this._cleanUpNodeGraph(node);
552
+ return node;
553
+ },
554
+
555
+ addOwnerOutletName: function(name){
556
+ this._ownerOutletNames.push(name);
557
+ },
558
+
559
+ addOwnerOutletNode: function(node){
560
+ if(node == null)
561
+ return;
562
+
563
+ this._ownerOutletNodes.push(node);
564
+ },
565
+
566
+ _cleanUpNodeGraph:function (node) {
567
+ node.userObject = null;
568
+ var getChildren = node.getChildren();
569
+ for (var i = 0, len = getChildren.length; i < len; i++) {
570
+ this._cleanUpNodeGraph(getChildren[i]);
571
+ }
572
+ },
573
+
574
+ _readCallbackKeyframesForSeq:function(seq) {
575
+ var numKeyframes = this.readInt(false);
576
+
577
+ if (!numKeyframes)
578
+ return true;
579
+
580
+ var channel = new cc.BuilderSequenceProperty();
581
+ var locJsControlled = this._jsControlled, locAnimationManager = this._animationManager, locKeyframes = channel.getKeyframes();
582
+ for (var i = 0; i < numKeyframes; i++) {
583
+ var time = this.readFloat();
584
+ var callbackName = this.readCachedString();
585
+ var callbackType = this.readInt(false);
586
+
587
+ var value = [ callbackName, callbackType];
588
+
589
+ var keyframe = new cc.BuilderKeyframe();
590
+ keyframe.setTime(time);
591
+ keyframe.setValue(value);
592
+
593
+ if(locJsControlled)
594
+ locAnimationManager.getKeyframeCallbacks().push(callbackType+":"+callbackName);
595
+
596
+ locKeyframes.push(keyframe);
597
+ }
598
+
599
+ // Assign to sequence
600
+ seq.setCallbackChannel(channel);
601
+
602
+ return true;
603
+ },
604
+
605
+ _readSoundKeyframesForSeq:function(seq) {
606
+ var numKeyframes = this.readInt(false);
607
+
608
+ if (!numKeyframes)
609
+ return true;
610
+
611
+ var channel = new cc.BuilderSequenceProperty();
612
+ var locKeyframes = channel.getKeyframes();
613
+ for (var i = 0; i < numKeyframes; i++) {
614
+ var time = this.readFloat();
615
+ var soundFile = this.readCachedString();
616
+ var pitch = this.readFloat();
617
+ var pan = this.readFloat();
618
+ var gain = this.readFloat();
619
+
620
+ var value = [soundFile, pitch, pan, gain];
621
+ var keyframe = new cc.BuilderKeyframe();
622
+ keyframe.setTime(time);
623
+ keyframe.setValue(value);
624
+
625
+ locKeyframes.push(keyframe);
626
+ }
627
+
628
+ // Assign to sequence
629
+ seq.setSoundChannel(channel);
630
+ return true;
631
+ },
632
+ _readSequences:function () {
633
+ var sequences = this._animationManager.getSequences();
634
+ var numSeqs = this.readInt(false);
635
+ for (var i = 0; i < numSeqs; i++) {
636
+ var seq = new cc.BuilderSequence();
637
+ seq.setDuration(this.readFloat());
638
+ seq.setName(this.readCachedString());
639
+ seq.setSequenceId(this.readInt(false));
640
+ seq.setChainedSequenceId(this.readInt(true));
641
+
642
+ if (!this._readCallbackKeyframesForSeq(seq))
643
+ return false;
644
+ if (!this._readSoundKeyframesForSeq(seq))
645
+ return false;
646
+
647
+ sequences.push(seq);
648
+ }
649
+ this._animationManager.setAutoPlaySequenceId(this.readInt(true));
650
+ return true;
651
+ },
652
+
653
+ readKeyframe:function (type) {
654
+ var keyframe = new cc.BuilderKeyframe();
655
+ keyframe.setTime(this.readFloat());
656
+ var easingType = this.readInt(false);
657
+ var easingOpt = 0;
658
+ var value = null;
659
+
660
+ if (easingType === CCB_KEYFRAME_EASING_CUBIC_IN
661
+ || easingType === CCB_KEYFRAME_EASING_CUBIC_OUT
662
+ || easingType === CCB_KEYFRAME_EASING_CUBIC_INOUT
663
+ || easingType === CCB_KEYFRAME_EASING_ELASTIC_IN
664
+ || easingType === CCB_KEYFRAME_EASING_ELASTIC_OUT
665
+ || easingType === CCB_KEYFRAME_EASING_ELASTIC_INOUT) {
666
+ easingOpt = this.readFloat();
667
+ }
668
+
669
+ keyframe.setEasingType(easingType);
670
+ keyframe.setEasingOpt(easingOpt);
671
+
672
+ if (type == CCB_PROPTYPE_CHECK) {
673
+ value = this.readBool();
674
+ } else if (type == CCB_PROPTYPE_BYTE) {
675
+ value = this.readByte();
676
+ } else if (type == CCB_PROPTYPE_COLOR3) {
677
+ var c = cc.color(this.readByte(), this.readByte(), this.readByte());
678
+ value = cc.Color3BWapper.create(c);
679
+ } else if (type == CCB_PROPTYPE_FLOATXY) {
680
+ value = [this.readFloat(), this.readFloat()];
681
+ } else if (type == CCB_PROPTYPE_DEGREES) {
682
+ value = this.readFloat();
683
+ } else if (type == CCB_PROPTYPE_SCALELOCK || type == CCB_PROPTYPE_POSITION || type == CCB_PROPTYPE_FLOATXY) {
684
+ value = [this.readFloat(), this.readFloat()];
685
+ } else if (type == CCB_PROPTYPE_SPRITEFRAME) {
686
+ var spriteSheet = this.readCachedString();
687
+ var spriteFile = this.readCachedString();
688
+
689
+ if (spriteSheet == "") {
690
+ spriteFile = this._ccbRootPath + spriteFile;
691
+ var texture = cc.textureCache.addImage(spriteFile);
692
+ var locContentSize = texture.getContentSize();
693
+ var bounds = cc.rect(0, 0, locContentSize.width, locContentSize.height);
694
+ value = new cc.SpriteFrame(texture, bounds);
695
+ } else {
696
+ spriteSheet = this._ccbRootPath + spriteSheet;
697
+ var frameCache = cc.spriteFrameCache;
698
+ // Load the sprite sheet only if it is not loaded
699
+ if (this._loadedSpriteSheets.indexOf(spriteSheet) == -1) {
700
+ frameCache.addSpriteFrames(spriteSheet);
701
+ this._loadedSpriteSheets.push(spriteSheet);
702
+ }
703
+ value = frameCache.getSpriteFrame(spriteFile);
704
+ }
705
+ }
706
+ keyframe.setValue(value);
707
+ return keyframe;
708
+ },
709
+
710
+ _readHeader:function () {
711
+ /* If no bytes loaded, don't crash about it. */
712
+ if (this._data == null) {
713
+ return false;
714
+ }
715
+
716
+ /* Read magic bytes */
717
+ var magicBytes = this._readStringFromBytes(this._currentByte, 4, true);
718
+ this._currentByte += 4;
719
+
720
+ if (magicBytes != 'ccbi') {
721
+ return false;
722
+ }
723
+
724
+ /* Read version. */
725
+ var version = this.readInt(false);
726
+ if (version != CCB_VERSION) {
727
+ cc.log("WARNING! Incompatible ccbi file version (file: " + version + " reader: " + CCB_VERSION + ")");
728
+ return false;
729
+ }
730
+
731
+ this._jsControlled = this.readBool();
732
+ this._animationManager._jsControlled = this._jsControlled;
733
+ // no need to set if it is "jscontrolled". It is obvious.
734
+ return true;
735
+ },
736
+
737
+ _readStringFromBytes:function (startIndex, strLen, reverse) {
738
+ reverse = reverse || false;
739
+ var strValue = "";
740
+ var i, locData = this._data, locCurrentByte = this._currentByte;
741
+ if (reverse) {
742
+ for (i = strLen - 1; i >= 0; i--)
743
+ strValue += String.fromCharCode(locData[locCurrentByte + i]);
744
+ } else {
745
+ for (i = 0; i < strLen; i++)
746
+ strValue += String.fromCharCode(locData[locCurrentByte + i]);
747
+ }
748
+ return strValue;
749
+ },
750
+
751
+ _readStringCache:function () {
752
+ var numStrings = this.readInt(false);
753
+ for (var i = 0; i < numStrings; i++)
754
+ this._readStringCacheEntry();
755
+ return true;
756
+ },
757
+
758
+ _readStringCacheEntry:function () {
759
+ var b0 = this.readByte();
760
+ var b1 = this.readByte();
761
+
762
+ var numBytes = b0 << 8 | b1;
763
+
764
+ var str = "", locData = this._data, locCurrentByte = this._currentByte;
765
+ for (var i = 0; i < numBytes; i++) {
766
+ var hexChar = locData[locCurrentByte + i].toString("16").toUpperCase();
767
+ hexChar = hexChar.length > 1 ? hexChar : "0" + hexChar;
768
+ str += "%" + hexChar;
769
+ }
770
+ str = decodeURIComponent(str);
771
+
772
+ this._currentByte += numBytes;
773
+ this._stringCache.push(str);
774
+ },
775
+
776
+ _readNodeGraph:function (parent) {
777
+ /* Read class name. */
778
+ var className = this.readCachedString();
779
+
780
+ var jsControlledName, locJsControlled = this._jsControlled, locActionManager = this._animationManager;
781
+ if (locJsControlled)
782
+ jsControlledName = this.readCachedString();
783
+
784
+ var memberVarAssignmentType = this.readInt(false);
785
+ var memberVarAssignmentName;
786
+ if (memberVarAssignmentType != CCB_TARGETTYPE_NONE) {
787
+ memberVarAssignmentName = this.readCachedString();
788
+ }
789
+
790
+ var ccNodeLoader = this._ccNodeLoaderLibrary.getCCNodeLoader(className);
791
+ if (!ccNodeLoader) {
792
+ ccNodeLoader = this._ccNodeLoaderLibrary.getCCNodeLoader("CCNode");
793
+ //cc.log("no corresponding node loader for" + className);
794
+ //return null;
795
+ }
796
+ var node = ccNodeLoader.loadCCNode(parent, this);
797
+
798
+ //set root node
799
+ if (!locActionManager.getRootNode())
800
+ locActionManager.setRootNode(node);
801
+
802
+ if (locJsControlled && node == locActionManager.getRootNode()) {
803
+ locActionManager.setDocumentControllerName(jsControlledName);
804
+ }
805
+
806
+ //read animated properties
807
+ var seqs = new cc._Dictionary();
808
+ this._animatedProps = [];
809
+
810
+ var i, locAnimatedProps = this._animatedProps;
811
+ var numSequence = this.readInt(false);
812
+ for (i = 0; i < numSequence; ++i) {
813
+ var seqId = this.readInt(false);
814
+ var seqNodeProps = new cc._Dictionary();
815
+
816
+ var numProps = this.readInt(false);
817
+
818
+ for (var j = 0; j < numProps; ++j) {
819
+ var seqProp = new cc.BuilderSequenceProperty();
820
+ seqProp.setName(this.readCachedString());
821
+ seqProp.setType(this.readInt(false));
822
+
823
+ locAnimatedProps.push(seqProp.getName());
824
+ var numKeyframes = this.readInt(false);
825
+ var locKeyframes = seqProp.getKeyframes();
826
+ for (var k = 0; k < numKeyframes; ++k) {
827
+ var keyFrame = this.readKeyframe(seqProp.getType());
828
+ locKeyframes.push(keyFrame);
829
+ }
830
+ seqNodeProps.setObject(seqProp, seqProp.getName());
831
+ }
832
+ seqs.setObject(seqNodeProps, seqId);
833
+ }
834
+
835
+ if (seqs.count() > 0)
836
+ locActionManager.addNode(node, seqs);
837
+
838
+ //read properties
839
+ ccNodeLoader.parseProperties(node, parent, this);
840
+
841
+ //handle sub ccb files(remove middle node)
842
+ var isCCBFileNode = node instanceof cc.BuilderFile;
843
+ if (isCCBFileNode) {
844
+ var embeddedNode = node.getCCBFileNode();
845
+ embeddedNode.setPosition(node.getPosition());
846
+ embeddedNode.setRotation(node.getRotation());
847
+ embeddedNode.setScaleX(node.getScaleX());
848
+ embeddedNode.setScaleY(node.getScaleY());
849
+ embeddedNode.setTag(node.getTag());
850
+ embeddedNode.setVisible(true);
851
+ //embeddedNode.ignoreAnchorPointForPosition(node.isIgnoreAnchorPointForPosition());
852
+
853
+ locActionManager.moveAnimationsFromNode(node, embeddedNode);
854
+ node.setCCBFileNode(null);
855
+ node = embeddedNode;
856
+ }
857
+ var target = null, locMemberAssigner = null;
858
+ if (memberVarAssignmentType != CCB_TARGETTYPE_NONE) {
859
+ if (!locJsControlled) {
860
+ if (memberVarAssignmentType === CCB_TARGETTYPE_DOCUMENTROOT) {
861
+ target = locActionManager.getRootNode();
862
+ } else if (memberVarAssignmentType === CCB_TARGETTYPE_OWNER) {
863
+ target = this._owner;
864
+ }
865
+
866
+ if (target != null) {
867
+ var assigned = false;
868
+
869
+ if (target != null && (target.onAssignCCBMemberVariable)) {
870
+ assigned = target.onAssignCCBMemberVariable(target, memberVarAssignmentName, node);
871
+ }
872
+ locMemberAssigner = this._ccbMemberVariableAssigner;
873
+ if (!assigned && locMemberAssigner != null && locMemberAssigner.onAssignCCBMemberVariable) {
874
+ locMemberAssigner.onAssignCCBMemberVariable(target, memberVarAssignmentName, node);
875
+ }
876
+ }
877
+ } else {
878
+ if (memberVarAssignmentType == CCB_TARGETTYPE_DOCUMENTROOT) {
879
+ locActionManager.addDocumentOutletName(memberVarAssignmentName);
880
+ locActionManager.addDocumentOutletNode(node);
881
+ } else {
882
+ this._ownerOutletNames.push(memberVarAssignmentName);
883
+ this._ownerOutletNodes.push(node);
884
+ }
885
+ }
886
+ }
887
+
888
+ // Assign custom properties.
889
+ if (ccNodeLoader.getCustomProperties().length > 0) {
890
+ var customAssigned = false;
891
+ if(!locJsControlled) {
892
+ target = node;
893
+ if(target != null && target.onAssignCCBCustomProperty != null) {
894
+ var customProperties = ccNodeLoader.getCustomProperties();
895
+ var customPropKeys = customProperties.allKeys();
896
+ for(i = 0;i < customPropKeys.length;i++){
897
+ var customPropValue = customProperties.objectForKey(customPropKeys[i]);
898
+ customAssigned = target.onAssignCCBCustomProperty(target, customPropKeys[i], customPropValue);
899
+ locMemberAssigner = this._ccbMemberVariableAssigner;
900
+ if(!customAssigned && (locMemberAssigner != null) && (locMemberAssigner.onAssignCCBCustomProperty != null))
901
+ customAssigned = locMemberAssigner.onAssignCCBCustomProperty(target, customPropKeys[i], customPropValue);
902
+ }
903
+ }
904
+ }
905
+ }
906
+
907
+ this._animatedProps = null;
908
+
909
+ /* Read and add children. */
910
+ var numChildren = this.readInt(false);
911
+ for (i = 0; i < numChildren; i++) {
912
+ var child = this._readNodeGraph(node);
913
+ node.addChild(child);
914
+ }
915
+
916
+ // FIX ISSUE #1860: "onNodeLoaded will be called twice if ccb was added as a CCBFile".
917
+ // If it's a sub-ccb node, skip notification to CCNodeLoaderListener since it will be
918
+ // notified at LINE #734: CCNode * child = this->readNodeGraph(node);
919
+ if (!isCCBFileNode) {
920
+ // Call onNodeLoaded
921
+ if (node != null && node.onNodeLoaded)
922
+ node.onNodeLoaded(node, ccNodeLoader);
923
+ else if (this._ccNodeLoaderListener != null)
924
+ this._ccNodeLoaderListener.onNodeLoaded(node, ccNodeLoader);
925
+ }
926
+
927
+ return node;
928
+ },
929
+
930
+ _getBit:function () {
931
+ var bit = (this._data[this._currentByte] & (1 << this._currentBit)) != 0;
932
+
933
+ this._currentBit++;
934
+
935
+ if (this._currentBit >= 8) {
936
+ this._currentBit = 0;
937
+ this._currentByte++;
938
+ if(this._currentByte > this._data.length)
939
+ throw "out of the data bound";
940
+ }
941
+
942
+ return bit;
943
+ },
944
+
945
+ _alignBits:function () {
946
+ if (this._currentBit) {
947
+ this._currentBit = 0;
948
+ this._currentByte++;
949
+ }
950
+ },
951
+
952
+ _readUTF8:function () {
953
+ }
954
+ });
955
+
956
+ cc.BuilderReader._ccbResolutionScale = 1;
957
+ cc.BuilderReader.setResolutionScale = function(scale){
958
+ cc.BuilderReader._ccbResolutionScale = scale;
959
+ };
960
+
961
+ cc.BuilderReader.getResolutionScale = function () {
962
+ return cc.BuilderReader._ccbResolutionScale;
963
+ };
964
+
965
+ cc.BuilderReader.loadAsScene = function (ccbFilePath, owner, parentSize, ccbRootPath) {
966
+ ccbRootPath = ccbRootPath || cc.BuilderReader.getResourcePath();
967
+
968
+ var getNode = cc.BuilderReader.load(ccbFilePath, owner, parentSize, ccbRootPath);
969
+
970
+ var scene = new cc.Scene();
971
+ scene.addChild(getNode);
972
+ return scene;
973
+ };
974
+
975
+ cc.BuilderReader._controllerClassCache = {};
976
+ cc.BuilderReader.registerController = function(controllerName, controller){
977
+ cc.BuilderReader._controllerClassCache[controllerName] = cc.Class.extend(controller);
978
+ };
979
+ cc.BuilderReader.load = function (ccbFilePath, owner, parentSize, ccbRootPath) {
980
+ ccbRootPath = ccbRootPath || cc.BuilderReader.getResourcePath();
981
+ var reader = new cc.BuilderReader(cc.NodeLoaderLibrary.newDefaultCCNodeLoaderLibrary());
982
+ reader.setCCBRootPath(ccbRootPath);
983
+ if((ccbFilePath.length < 5)||(ccbFilePath.toLowerCase().lastIndexOf(".ccbi") != ccbFilePath.length - 5))
984
+ ccbFilePath = ccbFilePath + ".ccbi";
985
+
986
+ var node = reader.readNodeGraphFromFile(ccbFilePath, owner, parentSize);
987
+ var i;
988
+ var callbackName, callbackNode, callbackControlEvents, outletName, outletNode;
989
+ // Assign owner callbacks & member variables
990
+ if (owner) {
991
+ // Callbacks
992
+ var ownerCallbackNames = reader.getOwnerCallbackNames();
993
+ var ownerCallbackNodes = reader.getOwnerCallbackNodes();
994
+ var ownerCallbackControlEvents = reader.getOwnerCallbackControlEvents();
995
+ for (i = 0; i < ownerCallbackNames.length; i++) {
996
+ callbackName = ownerCallbackNames[i];
997
+ callbackNode = ownerCallbackNodes[i];
998
+ callbackControlEvents = ownerCallbackControlEvents[i];
999
+ if(callbackNode instanceof cc.ControlButton)
1000
+ callbackNode.addTargetWithActionForControlEvents(owner, owner[callbackName], callbackControlEvents); //register all type of events
1001
+ else
1002
+ callbackNode.setCallback(owner[callbackName], owner);
1003
+ }
1004
+
1005
+ // Variables
1006
+ var ownerOutletNames = reader.getOwnerOutletNames();
1007
+ var ownerOutletNodes = reader.getOwnerOutletNodes();
1008
+ for (i = 0; i < ownerOutletNames.length; i++) {
1009
+ outletName = ownerOutletNames[i];
1010
+ outletNode = ownerOutletNodes[i];
1011
+ owner[outletName] = outletNode;
1012
+ }
1013
+ }
1014
+
1015
+ var nodesWithAnimationManagers = reader.getNodesWithAnimationManagers();
1016
+ var animationManagersForNodes = reader.getAnimationManagersForNodes();
1017
+ if(!nodesWithAnimationManagers || !animationManagersForNodes)
1018
+ return node;
1019
+
1020
+ var controllerClassCache = cc.BuilderReader._controllerClassCache;
1021
+ // Attach animation managers to nodes and assign root node callbacks and member variables
1022
+ for (i = 0; i < nodesWithAnimationManagers.length; i++) {
1023
+ var innerNode = nodesWithAnimationManagers[i];
1024
+ var animationManager = animationManagersForNodes[i];
1025
+
1026
+ var j;
1027
+ innerNode.animationManager = animationManager;
1028
+
1029
+ var controllerName = animationManager.getDocumentControllerName();
1030
+ if (!controllerName) continue;
1031
+
1032
+ // Create a controller
1033
+ var controllerClass = controllerClassCache[controllerName];
1034
+ if(!controllerClass) throw "Can not find controller : " + controllerName;
1035
+ var controller = new controllerClass();
1036
+ controller.controllerName = controllerName;
1037
+
1038
+ innerNode.controller = controller;
1039
+ controller.rootNode = innerNode;
1040
+
1041
+ // Callbacks
1042
+ var documentCallbackNames = animationManager.getDocumentCallbackNames();
1043
+ var documentCallbackNodes = animationManager.getDocumentCallbackNodes();
1044
+ var documentCallbackControlEvents = animationManager.getDocumentCallbackControlEvents();
1045
+ for (j = 0; j < documentCallbackNames.length; j++) {
1046
+ callbackName = documentCallbackNames[j];
1047
+ callbackNode = documentCallbackNodes[j];
1048
+ callbackControlEvents = documentCallbackControlEvents[j];
1049
+ if(callbackNode instanceof cc.ControlButton)
1050
+ callbackNode.addTargetWithActionForControlEvents(controller, controller[callbackName], callbackControlEvents); //register all type of events
1051
+ else
1052
+ callbackNode.setCallback(controller[callbackName], controller);
1053
+ }
1054
+
1055
+ // Variables
1056
+ var documentOutletNames = animationManager.getDocumentOutletNames();
1057
+ var documentOutletNodes = animationManager.getDocumentOutletNodes();
1058
+ for (j = 0; j < documentOutletNames.length; j++) {
1059
+ outletName = documentOutletNames[j];
1060
+ outletNode = documentOutletNodes[j];
1061
+
1062
+ controller[outletName] = outletNode;
1063
+ }
1064
+
1065
+ if (controller.onDidLoadFromCCB && cc.isFunction(controller.onDidLoadFromCCB))
1066
+ controller.onDidLoadFromCCB();
1067
+
1068
+ // Setup timeline callbacks
1069
+ var keyframeCallbacks = animationManager.getKeyframeCallbacks();
1070
+ for (j = 0; j < keyframeCallbacks.length; j++) {
1071
+ var callbackSplit = keyframeCallbacks[j].split(":");
1072
+ var callbackType = callbackSplit[0];
1073
+ var kfCallbackName = callbackSplit[1];
1074
+
1075
+ if (callbackType == 1){ // Document callback
1076
+ animationManager.setCallFunc(cc.callFunc(controller[kfCallbackName], controller), keyframeCallbacks[j]);
1077
+ } else if (callbackType == 2 && owner) {// Owner callback
1078
+ animationManager.setCallFunc(cc.callFunc(owner[kfCallbackName], owner), keyframeCallbacks[j]);
1079
+ }
1080
+ }
1081
+ }
1082
+
1083
+ //auto play animations
1084
+ animationManager.runAnimations(animationManager.getAutoPlaySequenceId(), 0);
1085
+
1086
+ return node;
1087
+ };
1088
+
1089
+ cc.BuilderReader._resourcePath = "";
1090
+ cc.BuilderReader.setResourcePath = function (rootPath) {
1091
+ cc.BuilderReader._resourcePath = rootPath;
1092
+ };
1093
+
1094
+ cc.BuilderReader.getResourcePath = function () {
1095
+ return cc.BuilderReader._resourcePath;
1096
+ };
1097
+
1098
+ cc.BuilderReader.lastPathComponent = function (pathStr) {
1099
+ var slashPos = pathStr.lastIndexOf("/");
1100
+ if (slashPos != -1) {
1101
+ return pathStr.substring(slashPos + 1, pathStr.length - slashPos);
1102
+ }
1103
+ return pathStr;
1104
+ };
1105
+
1106
+ cc.BuilderReader.deletePathExtension = function (pathStr) {
1107
+ var dotPos = pathStr.lastIndexOf(".");
1108
+ if (dotPos != -1) {
1109
+ return pathStr.substring(0, dotPos);
1110
+ }
1111
+ return pathStr;
1112
+ };
1113
+
1114
+ cc.BuilderReader.toLowerCase = function (sourceStr) {
1115
+ return sourceStr.toLowerCase();
1116
+ };
1117
+
1118
+ cc.BuilderReader.endsWith = function (sourceStr, ending) {
1119
+ if (sourceStr.length >= ending.length)
1120
+ return (sourceStr.lastIndexOf(ending) == 0);
1121
+ else
1122
+ return false;
1123
+ };
1124
+
1125
+ cc.BuilderReader.concat = function (stringA, stringB) {
1126
+ return stringA + stringB;
1127
+ };
1128
+
1129
+ cc.loader.register(["ccbi"], cc._binaryLoader);