PageRenderTime 61ms CodeModel.GetById 33ms RepoModel.GetById 0ms app.codeStats 0ms

/src/com/monsterPatties/utils/preloader/Preloader.as

https://github.com/monsterpatties/utils
ActionScript | 156 lines | 112 code | 27 blank | 17 comment | 11 complexity | 5a39ccced508abc3bb555cde5d33b5b5 MD5 | raw file
  1. package
  2. {
  3. import com.monsterPatties.config.GameConfig;
  4. import com.monsterPatties.utils.kongregateApi.Kong;
  5. import com.monsterPatties.utils.kongregateApi.KongregateApi;
  6. import com.monsterPatties.utils.siteLocker.SiteLocker;
  7. import flash.display.DisplayObject;
  8. import flash.display.LoaderInfo;
  9. import flash.display.MovieClip;
  10. import flash.display.StageAlign;
  11. import flash.display.StageScaleMode;
  12. import flash.events.Event;
  13. import flash.events.IOErrorEvent;
  14. import flash.events.ProgressEvent;
  15. import flash.utils.getDefinitionByName;
  16. /**
  17. * ...
  18. * @author monsterpatties
  19. */
  20. //just change mc and ur on or use monsterpatties swc preloadeGraphics
  21. [SWF(width = "640", height = "480", frameRate = "30", backgroundColor = "#000000")]
  22. public class Preloader extends MovieClip
  23. {
  24. /*---------------------------------------------------------Constant-----------------------------------------------*/
  25. /*---------------------------------------------------------Properties-----------------------------------------------*/
  26. private var _preloader:preloaderMC;
  27. private const CENTER:Boolean = false;
  28. private var _kongApi:KongregateApi;
  29. private var _kong:Kong;
  30. private var _siteLocker:SiteLocker;
  31. /*---------------------------------------------------------Constructor-----------------------------------------------*/
  32. public function Preloader()
  33. {
  34. if (stage) {
  35. //stage.scaleMode = StageScaleMode.NO_SCALE;
  36. stage.align = StageAlign.TOP_LEFT;
  37. }
  38. _siteLocker = new SiteLocker();
  39. var arr:Array = [ "flashgamelicense.com", "monsterpatties.net", "kongregate.com","https://www.flashgamelicense.com", "http://www.flashgamelicense.com" ];
  40. var valid:Boolean = _siteLocker.locked( arr, loaderInfo );
  41. if ( GameConfig.isLive ) {
  42. if( valid ){
  43. initGamePreloader();
  44. }else {
  45. trace("this game is stolen fuck you!!");
  46. }
  47. }else {
  48. initGamePreloader();
  49. }
  50. }
  51. /*---------------------------------------------------------Methods-----------------------------------------------*/
  52. private function initGamePreloader():void
  53. {
  54. // TODO show loader
  55. trace( "preloader started...." );
  56. setDisplay();
  57. addEventListener(Event.ENTER_FRAME, checkFrame);
  58. loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
  59. loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
  60. if ( GameConfig.isLive ) {
  61. if( GameConfig.isKongregate ){
  62. _kong = Kong.getInstance();
  63. Kong.connectToKong( stage, kongLoadComplete );
  64. }
  65. }
  66. }
  67. private function kongLoadComplete():void
  68. {
  69. Kong.getPlayerInfo();
  70. trace( "kong load complete!" );
  71. }
  72. private function setDisplay():void
  73. {
  74. _preloader = new preloaderMC();
  75. addChild( _preloader );
  76. if( CENTER ){
  77. _preloader.x = GameConfig.gameWidth / 2 - _preloader.width / 2;
  78. _preloader.y = GameConfig.gameHeight / 2 - _preloader.height / 2;
  79. }
  80. }
  81. private function removeDisplay():void
  82. {
  83. if ( _preloader != null ) {
  84. if ( this.contains( _preloader ) ) {
  85. this.removeChild( _preloader );
  86. _preloader = null;
  87. }
  88. }
  89. }
  90. private function loadingFinished():void
  91. {
  92. removeEventListener(Event.ENTER_FRAME, checkFrame);
  93. loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
  94. loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioError);
  95. // TODO hide loader
  96. removeDisplay();
  97. startup();
  98. trace( "preloader ended...." );
  99. }
  100. private function startup():void
  101. {
  102. var mainClass:Class = getDefinitionByName("Main") as Class;
  103. addChild(new mainClass() as DisplayObject);
  104. }
  105. /*---------------------------------------------------------Setters-----------------------------------------------*/
  106. /*---------------------------------------------------------Getters-----------------------------------------------*/
  107. /*---------------------------------------------------------EventHandlers-----------------------------------------------*/
  108. private function ioError(e:IOErrorEvent):void
  109. {
  110. trace(e.text);
  111. }
  112. private function progress(e:ProgressEvent):void
  113. {
  114. // TODO update loader
  115. var percent:Number = e.bytesLoaded / e.bytesTotal;
  116. _preloader.txtLoading.text = "Loading " + Math.floor( percent * 100 ) + " %";
  117. _preloader.bar.scaleX = percent;
  118. //trace( "loading Game..." );
  119. }
  120. private function checkFrame(e:Event):void
  121. {
  122. if (currentFrame == totalFrames)
  123. {
  124. stop();
  125. loadingFinished();
  126. }
  127. }
  128. }
  129. }