/src/com/li/agalthemean/MainContext.as

https://github.com/dsk23LAB/agalthemean
ActionScript | 98 lines | 82 code | 13 blank | 3 comment | 1 complexity | 14f0eb47e2bcecf1fe648d31bc9175ca MD5 | raw file
  1. package com.li.agalthemean {
  2. import com.junkbyte.console.Cc;
  3. import com.li.agalthemean.commands.RegisterMaterialCommand;
  4. import com.li.agalthemean.commands.RegisterModelCommand;
  5. import com.li.agalthemean.commands.UpdateAGALCommand;
  6. import com.li.agalthemean.commands.UpdateConstantCommand;
  7. import com.li.agalthemean.models.MaterialModel;
  8. import com.li.agalthemean.models.ModelModel;
  9. import com.li.agalthemean.signals.notifications.MaterialSetSignal;
  10. import com.li.agalthemean.signals.notifications.ModelSetSignal;
  11. import com.li.agalthemean.signals.requests.RequestAgalUpdateSignal;
  12. import com.li.agalthemean.signals.requests.RequestMaterialRegistrationSignal;
  13. import com.li.agalthemean.signals.requests.RequestConstantUpdateSignal;
  14. import com.li.agalthemean.signals.requests.RequestModelRegistrationSignal;
  15. import com.li.agalthemean.ui.MainView;
  16. import com.li.agalthemean.ui.views.attributesview.AttributesView;
  17. import com.li.agalthemean.ui.views.attributesview.AttributesViewMediator;
  18. import com.li.agalthemean.ui.views.modelview.ModelView;
  19. import com.li.agalthemean.ui.views.modelview.ModelViewMediator;
  20. import com.li.agalthemean.ui.views.renderview.DefaultAssetStore;
  21. import com.li.agalthemean.ui.views.samplersview.SamplersView;
  22. import com.li.agalthemean.ui.views.samplersview.SamplersViewMediator;
  23. import com.li.agalthemean.ui.views.shadersview.ShadersView;
  24. import com.li.agalthemean.ui.views.shadersview.ShadersViewMediator;
  25. import com.li.agalthemean.ui.views.constantsview.ConstantsView;
  26. import com.li.agalthemean.ui.views.constantsview.ConstantsViewMediator;
  27. import com.li.agalthemean.ui.views.renderview.RenderView;
  28. import com.li.agalthemean.ui.views.renderview.RenderViewMediator;
  29. import flash.display.Sprite;
  30. import flash.events.Event;
  31. import org.robotlegs.mvcs.SignalContext;
  32. public class MainContext extends SignalContext {
  33. public function MainContext( contextView:Sprite ) {
  34. super( contextView, true );
  35. }
  36. override public function startup():void {
  37. // init debugging console
  38. if( AGALtheMEaNConstants.debugModeActive )
  39. {
  40. var stageResizeHandler:Function = function( event:Event ):void
  41. {
  42. Cc.width = contextView.stage.stageWidth;
  43. Cc.height = contextView.stage.stageHeight;
  44. };
  45. contextView.stage.addEventListener( Event.RESIZE, stageResizeHandler );
  46. Cc.config.style.backgroundAlpha = 0.75;
  47. Cc.config.tracing = true;
  48. Cc.config.showLineNumber = true;
  49. Cc.config.showTimestamp = true;
  50. Cc.startOnStage( contextView, "`" );
  51. stageResizeHandler( null );
  52. }
  53. Cc.info( "MainContext: " + AGALtheMEaNConstants.appNameAndVersion );
  54. // bootstrap
  55. mapMediators();
  56. mapModels();
  57. mapSignals();
  58. mapCommands();
  59. // init UI
  60. contextView.addChild( new MainView() );
  61. }
  62. private function mapCommands( ):void {
  63. signalCommandMap.mapSignalClass( RequestMaterialRegistrationSignal, RegisterMaterialCommand );
  64. signalCommandMap.mapSignalClass( RequestAgalUpdateSignal, UpdateAGALCommand );
  65. signalCommandMap.mapSignalClass( RequestConstantUpdateSignal, UpdateConstantCommand );
  66. signalCommandMap.mapSignalClass( RequestModelRegistrationSignal, RegisterModelCommand );
  67. }
  68. private function mapMediators():void {
  69. mediatorMap.mapView( RenderView, RenderViewMediator );
  70. mediatorMap.mapView( ShadersView, ShadersViewMediator );
  71. mediatorMap.mapView( ConstantsView, ConstantsViewMediator );
  72. mediatorMap.mapView( AttributesView, AttributesViewMediator );
  73. mediatorMap.mapView( SamplersView, SamplersViewMediator );
  74. mediatorMap.mapView( ModelView, ModelViewMediator );
  75. }
  76. private function mapModels( ):void {
  77. injector.mapSingleton( MaterialModel );
  78. injector.mapSingleton( ModelModel );
  79. }
  80. private function mapSignals( ):void {
  81. injector.mapSingleton( MaterialSetSignal );
  82. injector.mapSingleton( ModelSetSignal );
  83. }
  84. }
  85. }