loaderState.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. function LoaderState() {
  2. var host = window.location.host.toLowerCase();
  3. var allowed = (host === "trinbox.ru");
  4. if (!allowed) {
  5. //return;
  6. }
  7. LoaderState.superclass.constructor.apply(this);
  8. this.progressBar = null;
  9. this.progressBarLine = null;
  10. this.onProcess = function(percent) {
  11. var state = arguments.callee.state;
  12. if (state.progressBar !== null) {
  13. state.progressBar.cutArea.width = state.progressBar.width * (1 - percent);
  14. }
  15. };
  16. this.onProcess.state = this;
  17. this.assetLoader = null;
  18. this.pButton = false;
  19. }
  20. extend(LoaderState, TrinState);
  21. LoaderState.prototype.create = function() {
  22. LoaderState.superclass.create.apply(this);
  23. var loader = new TrinAssetLoader(this.loadAllAssets);
  24. loader.addImage("PreloaderBack", "img/preloader/back.png", false);
  25. loader.addImage("PreloaderBar", "img/preloader/bar.png", false);
  26. loader.addImage("PreloaderBarEmpty", "img/preloader/bar_empty.png", false);
  27. loader.addImage("Logo", "img/preloader/logo.png", false);
  28. if (GameAPI.IS_STANDALONE) {
  29. loader.addImage("A10Logo", _TrinGame.SPIL_LOGO.image, false);
  30. } else {
  31. loader.addImage("A10Logo", GameAPI.Branding.getLogo().image, false);
  32. }
  33. loader.addJson("levelpacks", "js/data/levelpacks.json");
  34. loader.addJson("products", "js/data/products.json");
  35. this.loadAllAssets.state = this;
  36. loader.load();
  37. };
  38. LoaderState.prototype.loadAllAssets = function() {
  39. Global.prototype.levelpacks = TrinAssetLoader.prototype.getLoadedJson("levelpacks").levelpacks;
  40. var state = arguments.callee.state;
  41. var back = new TrinSprite();
  42. back.addAnimationFromCache("PreloaderBack");
  43. var logo = new TrinSprite();
  44. logo.addAnimationFromCache("Logo");
  45. logo.orign.x = logo.width / 2;
  46. logo.orign.y = logo.height / 2;
  47. logo.reset(320, 420);
  48. var bar = new TrinSprite();
  49. bar.addAnimationFromCache("PreloaderBar");
  50. bar.orign.x = bar.width / 2;
  51. bar.reset(320, logo.bounds.bottom());
  52. var barLine = new TrinSprite();
  53. barLine.addAnimationFromCache("PreloaderBarEmpty");
  54. barLine.orign.x = bar.orign.x;
  55. barLine.reset(bar.x, bar.y);
  56. var a10Logo = new TrinButton(function(){
  57. _TrinGame.SPIL_LOGO.action();
  58. }, "A10Logo", true);
  59. a10Logo.orign.x = a10Logo.width / 2;
  60. a10Logo.reset(320, 650);
  61. state.progressBar = bar;
  62. state.progressBarLine = barLine;
  63. state.add(back);
  64. state.add(logo);
  65. state.add(barLine);
  66. state.add(bar);
  67. state.add(a10Logo);
  68. arguments.callee.state.loadComplete.state = arguments.callee.state;
  69. var loader = new TrinAssetLoader(arguments.callee.state.loadComplete, state.onProcess);
  70. loader.addImage("bPlay", "img/mainmenu/bPlay.png");
  71. loader.addImage("bCredits", "img/mainmenu/bCredits.png");
  72. loader.addImage("bMoreGames", "img/mainmenu/bMoreGames.png");
  73. loader.addImage("MainMenuBack", "img/mainmenu/back.png", false);
  74. //loader.addImage("bSound", "img/mainmenu/bSound.png");
  75. loader.addImage("GameBack", "img/game/back.png", false);
  76. loader.addImage("CatPaw", "img/game/paw.png");
  77. loader.addImage("Blood", "img/game/blood.png");
  78. loader.addImage("Fish1", "img/game/item/fish1.png");
  79. loader.addImage("Fish2", "img/game/item/fish2.png");
  80. loader.addImage("PauseBack", "img/game/pause.png", false);
  81. loader.addImage("GameStar", "img/game/star.png");
  82. loader.addImage("CompleteBack", "img/levelcomplete/back.png", false);
  83. loader.addImage("CompleteCat", "img/levelcomplete/cat.png", false);
  84. loader.addImage("CompleteStar", "img/levelcomplete/star.png", false);
  85. loader.addImage("bRestart", "img/levelcomplete/bRestart.png");
  86. loader.addImage("bMainMenu", "img/levelcomplete/bMenu.png");
  87. loader.addImage("LevelSelectBack", "img/levelselect/back.png", false);
  88. loader.addImage("bBack", "img/levelselect/bBack.png");
  89. loader.addImage("LockedStage", "img/levelselect/locked_stage.png", false);
  90. loader.addImage("bStage", "img/levelselect/bStage.png");
  91. loader.addImage("bWalk", "img/levelselect/bWalk.png");
  92. loader.addImage("LevelSelectStar", "img/levelselect/star.png");
  93. loader.addImage("LevelPackSelectTitle", "img/levelselect/title.png", false);
  94. loader.addImage("bPause", "img/game/bPause.png");
  95. loader.addImage("CreditsInfo", "img/credits.png", false);
  96. loader.addImage("CongratsCat", "img/congrats/cat.png", false);
  97. loader.addImage("ComicsBack", "img/comics/back.png", false);
  98. loader.addImage("ComicsFrame0", "img/comics/1/1.png", false);
  99. loader.addImage("ComicsFrame1", "img/comics/1/2.png", false);
  100. loader.addImage("ComicsFrame2", "img/comics/1/3.png", false);
  101. loader.addImage("bNext", "img/congrats/bNext.png");
  102. loader.addImage("Hand", "img/game/hand.png", false);
  103. loader.addImage("ComingSoonIcon", "img/levelselect/levelpacks/comingSoon.png", false);
  104. loader.addImage("A10Splash", "img/splash.png", false);
  105. loader.addJson("links", "js/data/links.json");
  106. //Load products images
  107. var levelPacks = Global.prototype.levelpacks;
  108. var graphicPacks = TrinAssetLoader.prototype.getLoadedJson("products").graphicPacks;
  109. for (var i = 0; i < levelPacks.length; i++) {
  110. var levelpack = levelPacks[i];
  111. loader.addImage(levelpack.name + "Icon", "img/levelselect/levelpacks/" + levelpack.icon);
  112. var graphicpackName = levelpack.graphicpack;
  113. if (Global.prototype.graphicPacks[graphicpackName] === undefined) {
  114. var graphicpack = null;
  115. for (var j = 0; j < graphicPacks.length; j++) {
  116. if (graphicPacks[j].name === graphicpackName) {
  117. graphicpack = graphicPacks[i];
  118. }
  119. }
  120. var products = graphicpack.products;
  121. for (var j = 0; j < products.length; j++) {
  122. var product = products[j];
  123. ProductItem.prototype.productsData[product.name] = product;
  124. }
  125. if (graphicpack.preload) {
  126. for (j = 0; j < graphicpack.products.length; j++) {
  127. var product = graphicpack.products[j];
  128. loader.addImage("pdt" + product.name, "img/game/item/" + product.url, false);
  129. }
  130. Global.prototype.graphicPacks[graphicpackName] = true;
  131. }
  132. }
  133. }
  134. if (!_TrinGame.isIDevice) {
  135. }
  136. loader.load();
  137. state.assetLoader = loader;
  138. };
  139. LoaderState.prototype.loadComplete = function() {
  140. var state = arguments.callee.state;
  141. state.assetLoader = null;
  142. TrinAnimation.prototype.makeAnimation("bPlay", "bPlay", 210, 210, [0, 1]);
  143. if (_TrinGame.isIDevice && false) {
  144. var startFunction = function(){
  145. var state = arguments.callee.state;
  146. state.startGame();
  147. };
  148. startFunction.state = state;
  149. var button = new TrinButton(startFunction, "bPlay", true);
  150. button.orign.x = button.width / 2;
  151. button.reset(320, arguments.callee.state.progressBar.bounds.bottom() + 4);
  152. state.add(button);
  153. }
  154. TrinAnimation.prototype.makeAnimation("bMoreGames", "bMoreGames", 118, 118, [0, 1]);
  155. TrinAnimation.prototype.makeAnimation("bCredits", "bCredits", 96, 96, [0, 1]);
  156. TrinAnimation.prototype.makeAnimation("bRestart", "bRestart", 109, 109, [0, 1]);
  157. TrinAnimation.prototype.makeAnimation("bMainMenu", "bMainMenu", 109, 109, [0, 1]);
  158. TrinAnimation.prototype.makeAnimation("bStage", "bStage", 99, 97, [0, 1]);
  159. TrinAnimation.prototype.makeAnimation("bBack", "bBack", 154, 154, [0, 1]);
  160. TrinAnimation.prototype.makeAnimation("bNext", "bNext", 154, 154, [0, 1]);
  161. TrinAnimation.prototype.makeAnimation("bWalk", "bWalk", 109, 109, [0, 1]);
  162. TrinAnimation.prototype.makeAnimation("LevelSelectStar", "LSSmallStar", 18, 17, [0]);
  163. TrinAnimation.prototype.makeAnimation("LevelSelectStar", "LSBigStar", 18, 17, [1]);
  164. TrinAnimation.prototype.makeAnimation("bPause", "bPause", 97, 97, [0, 1]);
  165. TrinAnimation.prototype.makeAnimation("CatPaw", "CatPaw", 200, 120, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]);
  166. TrinAnimation.prototype.makeAnimation("Blood", "Blood", 160, 240 , [0, 1]);
  167. TrinAnimation.prototype.makeAnimation("GameStar", "GameStar", 40, 40, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]);
  168. TrinAnimation.prototype.makeAnimation("Fish1", "Fish1", 160, 100, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
  169. TrinAnimation.prototype.makeAnimation("Fish2", "Fish2", 160, 100, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
  170. var levelPacks = Global.prototype.levelpacks;
  171. for (var i = 0; i < levelPacks.length; i++) {
  172. var levelPack = levelPacks[i];
  173. TrinAnimation.prototype.makeAnimation(levelPack.name + "Icon", levelPack.name + "Icon", 298, 291, [0, 1]);
  174. }
  175. if (!_TrinGame.isIDevice || true) {
  176. //SOFF
  177. //TrinSound.prototype.soundsLoaded = true;
  178. state.startGame();
  179. }
  180. };
  181. LoaderState.prototype.startGame = function() {
  182. Global.prototype.init();
  183. _TrinGame.switchState(new SplashState());
  184. };
  185. LoaderState.prototype.draw = function(context) {
  186. LoaderState.superclass.draw.apply(this, [context]);
  187. };