Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. package {
  2. import com.company.assembleegameclient.parameters.Parameters;
  3. import com.company.assembleegameclient.util.AssetLoader;
  4. import com.company.assembleegameclient.util.StageProxy;
  5. import com.demonsters.debugger.MonsterDebugger;
  6.  
  7. import flash.display.LoaderInfo;
  8. import flash.display.Sprite;
  9. import flash.display.Stage;
  10. import flash.display.StageScaleMode;
  11. import flash.events.Event;
  12. import flash.system.Capabilities;
  13.  
  14. import kabam.lib.net.NetConfig;
  15. import kabam.rotmg.account.AccountConfig;
  16. import kabam.rotmg.appengine.AppEngineConfig;
  17. import kabam.rotmg.application.ApplicationConfig;
  18. import kabam.rotmg.application.ApplicationSpecificConfig;
  19. import kabam.rotmg.application.EnvironmentConfig;
  20. import kabam.rotmg.arena.ArenaConfig;
  21. import kabam.rotmg.assets.AssetsConfig;
  22. import kabam.rotmg.build.BuildConfig;
  23. import kabam.rotmg.characters.CharactersConfig;
  24. import kabam.rotmg.classes.ClassesConfig;
  25. import kabam.rotmg.core.CoreConfig;
  26. import kabam.rotmg.core.StaticInjectorContext;
  27. import kabam.rotmg.dailyLogin.config.DailyLoginConfig;
  28. import kabam.rotmg.death.DeathConfig;
  29. import kabam.rotmg.dialogs.DialogsConfig;
  30. import kabam.rotmg.editor.EditorConfig;
  31. import kabam.rotmg.errors.ErrorConfig;
  32. import kabam.rotmg.external.ExternalConfig;
  33. import kabam.rotmg.fame.FameConfig;
  34. import kabam.rotmg.fortune.FortuneConfig;
  35. import kabam.rotmg.friends.FriendConfig;
  36. import kabam.rotmg.game.GameConfig;
  37. import kabam.rotmg.language.LanguageConfig;
  38. import kabam.rotmg.legends.LegendsConfig;
  39. import kabam.rotmg.maploading.MapLoadingConfig;
  40. import kabam.rotmg.minimap.MiniMapConfig;
  41. import kabam.rotmg.mysterybox.MysteryBoxConfig;
  42. import kabam.rotmg.news.NewsConfig;
  43. import kabam.rotmg.packages.PackageConfig;
  44. import kabam.rotmg.pets.PetsConfig;
  45. import kabam.rotmg.promotions.PromotionsConfig;
  46. import kabam.rotmg.protip.ProTipConfig;
  47. import kabam.rotmg.questrewards.QuestRewardsConfig;
  48. import kabam.rotmg.queue.QueueConfig;
  49. import kabam.rotmg.servers.ServersConfig;
  50. import kabam.rotmg.stage3D.Stage3DConfig;
  51. import kabam.rotmg.startup.StartupConfig;
  52. import kabam.rotmg.startup.control.StartupSignal;
  53. import kabam.rotmg.text.TextConfig;
  54. import kabam.rotmg.tooltips.TooltipsConfig;
  55. import kabam.rotmg.ui.UIConfig;
  56. import kabam.rotmg.ui.UIUtils;
  57.  
  58. import robotlegs.bender.bundles.mvcs.MVCSBundle;
  59. import robotlegs.bender.extensions.signalCommandMap.SignalCommandMapExtension;
  60. import robotlegs.bender.framework.api.IContext;
  61. import robotlegs.bender.framework.api.LogLevel;
  62.  
  63. [SWF(frameRate="60", backgroundColor="#000000", width="800", height="600")]
  64. public class WebMain extends Sprite {
  65.  
  66. public static var ENV:String;
  67. public static var STAGE:Stage;
  68.  
  69. protected var context:IContext;
  70.  
  71. public function WebMain() {
  72. //MonsterDebugger.initialize(this);
  73. if (stage) {
  74. stage.addEventListener(Event.RESIZE, this.onStageResize);
  75. this.setup();
  76. }
  77. else {
  78. addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
  79. }
  80. }
  81.  
  82. public function onStageResize(_arg_1:Event):void
  83. {
  84. if (stage.scaleMode == StageScaleMode.NO_SCALE)
  85. {
  86. this.scaleX = (stage.stageWidth / 800);
  87. this.scaleY = (stage.stageHeight / 600);
  88. this.x = ((800 - stage.stageWidth) / 2);
  89. this.y = ((600 - stage.stageHeight) / 2);
  90. }
  91. else
  92. {
  93. this.scaleX = 1;
  94. this.scaleY = 1;
  95. this.x = 0;
  96. this.y = 0;
  97. };
  98. sWidth = stage.stageWidth;
  99. sHeight = stage.stageHeight;
  100. }
  101.  
  102. private function onAddedToStage(_arg1:Event):void {
  103. removeEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
  104. this.setup();
  105. }
  106.  
  107. private function setup():void {
  108. this.setEnvironment();
  109. this.hackParameters();
  110. this.createContext();
  111. new AssetLoader().load();
  112. stage.scaleMode = StageScaleMode.EXACT_FIT;
  113. this.context.injector.getInstance(StartupSignal).dispatch();
  114. this.configureForAirIfDesktopPlayer();
  115. STAGE = stage;
  116. UIUtils.toggleQuality(Parameters.data_.uiQuality);
  117. }
  118.  
  119. private function setEnvironment():void {
  120. ENV = stage.loaderInfo.parameters["env"];
  121. if (ENV == null)
  122. ENV = "localhost";
  123.  
  124. //ENV = "nrtest";
  125. }
  126.  
  127. private function hackParameters():void {
  128. Parameters.root = stage.root;
  129. }
  130.  
  131. private function createContext():void {
  132. this.context = new StaticInjectorContext();
  133. this.context.injector.map(LoaderInfo).toValue(root.stage.root.loaderInfo);
  134. var _local1:StageProxy = new StageProxy(this);
  135. this.context.injector.map(StageProxy).toValue(_local1);
  136. this.context
  137. .extend(MVCSBundle)
  138. .extend(SignalCommandMapExtension)
  139. .configure(BuildConfig)
  140. .configure(StartupConfig)
  141. .configure(NetConfig)
  142. .configure(DialogsConfig)
  143. .configure(EnvironmentConfig)
  144. .configure(ApplicationConfig)
  145. .configure(LanguageConfig)
  146. .configure(TextConfig)
  147. .configure(AppEngineConfig)
  148. .configure(AccountConfig)
  149. .configure(ErrorConfig)
  150. .configure(CoreConfig)
  151. .configure(ApplicationSpecificConfig)
  152. .configure(AssetsConfig)
  153. .configure(DeathConfig)
  154. .configure(CharactersConfig)
  155. .configure(ServersConfig)
  156. .configure(GameConfig)
  157. .configure(EditorConfig)
  158. .configure(UIConfig)
  159. .configure(MiniMapConfig)
  160. .configure(LegendsConfig)
  161. .configure(NewsConfig)
  162. .configure(FameConfig)
  163. .configure(TooltipsConfig)
  164. .configure(PromotionsConfig)
  165. .configure(ProTipConfig)
  166. .configure(MapLoadingConfig)
  167. .configure(ClassesConfig)
  168. .configure(PackageConfig)
  169. .configure(PetsConfig)
  170. .configure(QuestRewardsConfig)
  171. .configure(DailyLoginConfig)
  172. .configure(Stage3DConfig)
  173. .configure(ArenaConfig)
  174. .configure(ExternalConfig)
  175. .configure(MysteryBoxConfig)
  176. .configure(FortuneConfig)
  177. .configure(FriendConfig)
  178. .configure(QueueConfig)
  179. .configure(this);
  180. this.context.logLevel = LogLevel.DEBUG;
  181. }
  182.  
  183. private function configureForAirIfDesktopPlayer():void {
  184. if (Capabilities.playerType == "Desktop") {
  185. Parameters.data_.fullscreenMode = false;
  186. Parameters.save();
  187. }
  188. }
  189.  
  190.  
  191. }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement