home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 May / ME_2011_05.iso / Galileo-Video-Tutorial / system / player.swf / scripts / controller / update / UpdateLessonInfos.as < prev    next >
Encoding:
Text File  |  2010-11-30  |  4.7 KB  |  141 lines

  1. package controller.update
  2. {
  3.    import com.greensock.*;
  4.    import com.je.events.ApplicationEvent;
  5.    import com.je.model.ApplicationModel;
  6.    import com.je.model.Assets;
  7.    import com.je.model.ChapterList;
  8.    import com.je.model.vo.Chapter;
  9.    import com.je.model.vo.Lesson;
  10.    import com.je.model.vo.LessonInformation;
  11.    import com.je.utils.BitmapUtil;
  12.    import controller.LoadingController;
  13.    import controller.SharedObjectController;
  14.    import controller.TraceController;
  15.    import controller.ViewShownController;
  16.    import de.galileopress.vt.events.TableOfContentsEvent;
  17.    import flash.display.Bitmap;
  18.    import org.robotlegs.mvcs.Command;
  19.    
  20.    public class UpdateLessonInfos extends Command
  21.    {
  22.       [Inject]
  23.       public var assets:Assets;
  24.       
  25.       [Inject]
  26.       public var applicationModel:ApplicationModel;
  27.       
  28.       private var chaptercount:Number;
  29.       
  30.       private var lessoncount:Number;
  31.       
  32.       private var lessonTotalCount:Number;
  33.       
  34.       private var chapterList:ChapterList;
  35.       
  36.       private var lc:LoadingController;
  37.       
  38.       private var chapter:Chapter;
  39.       
  40.       public function UpdateLessonInfos()
  41.       {
  42.          super();
  43.       }
  44.       
  45.       override public function execute() : void
  46.       {
  47.          this.chapterList = this.applicationModel.chapterList;
  48.          this.lc = LoadingController.getInstance();
  49.          this.chaptercount = 0;
  50.          this.lessoncount = 0;
  51.          TraceController.getInstance().tracef("UpdateLessonInfos");
  52.          TraceController.getInstance().tracef("Chapterlength " + this.chapterList.getAllChapters().length);
  53.          this.checkChapter();
  54.       }
  55.       
  56.       private function checkChapter() : void
  57.       {
  58.          TraceController.getInstance().tracef("Chapterlength count " + this.chaptercount);
  59.          if(this.chaptercount < this.chapterList.getAllChapters().length)
  60.          {
  61.             this.initChapter(this.chaptercount);
  62.          }
  63.          else
  64.          {
  65.             this.init();
  66.          }
  67.       }
  68.       
  69.       private function checkLesson() : void
  70.       {
  71.          if(this.lessoncount < this.lessonTotalCount)
  72.          {
  73.             this.initLesson(this.lessoncount);
  74.             ++this.lessoncount;
  75.          }
  76.          else
  77.          {
  78.             this.checkChapter();
  79.          }
  80.       }
  81.       
  82.       private function initChapter(param1:Number) : void
  83.       {
  84.          var _loc3_:Bitmap = null;
  85.          ++this.chaptercount;
  86.          this.chapter = this.chapterList.getAllChapters()[param1];
  87.          var _loc2_:* = this.chapter.info;
  88.          if(_loc2_)
  89.          {
  90.             this.lc.total = this.lc.total;
  91.             this.lc.loaded += 1;
  92.             _loc3_ = Bitmap(this.assets.getAssetByLinkedID(this.chapter.id + "_chapterInfoPreviewImage"));
  93.             _loc2_.previewImage = _loc3_;
  94.          }
  95.          TraceController.getInstance().tracef("lessonlength " + this.chapter.getAllLessons().length);
  96.          this.lessoncount = 0;
  97.          this.lessonTotalCount = this.chapter.getAllLessons().length;
  98.          if(this.chapter.getAllLessons().length != 0)
  99.          {
  100.             this.checkLesson();
  101.          }
  102.          else
  103.          {
  104.             this.checkChapter();
  105.          }
  106.       }
  107.       
  108.       private function initLesson(param1:Number) : void
  109.       {
  110.          this.lc.total = this.lc.total;
  111.          this.lc.loaded += 1;
  112.          var _loc2_:Lesson = this.chapter.getAllLessons()[param1];
  113.          _loc2_.chapterId = this.chapter.id;
  114.          var _loc3_:LessonInformation = _loc2_.info;
  115.          var _loc4_:Bitmap = Bitmap(this.assets.getAssetByLinkedID(this.chapter.id + "_lessonInfoPreviewImage_" + (param1 + 1)));
  116.          var _loc5_:Bitmap = BitmapUtil.resizeTo(_loc4_,1280,720);
  117.          _loc3_.previewImage = _loc5_;
  118.          TweenMax.delayedCall(0.01,this.checkLesson);
  119.       }
  120.       
  121.       private function init() : void
  122.       {
  123.          var _loc2_:ChapterList = null;
  124.          var _loc3_:Chapter = null;
  125.          var _loc4_:Lesson = null;
  126.          ViewShownController.getInstance().viewed = true;
  127.          dispatch(new ApplicationEvent(ApplicationEvent.INIT_VIEW));
  128.          var _loc1_:Array = SharedObjectController.getInstance().getLastVideoPosition();
  129.          if(SharedObjectController.getInstance().saveAtClose && _loc1_[0] > 0 && _loc1_[1] > 0 && _loc1_[2] > 0)
  130.          {
  131.             _loc2_ = this.applicationModel.chapterList;
  132.             _loc3_ = _loc2_.getChapterById(_loc1_[0]);
  133.             _loc4_ = _loc3_.getLessonById(_loc1_[1]);
  134.             this.applicationModel.currentLesson = _loc4_;
  135.             dispatch(new TableOfContentsEvent(TableOfContentsEvent.HIGHLIGHT_VIDEO,_loc1_[0] + 1,_loc1_[1]));
  136.          }
  137.       }
  138.    }
  139. }
  140.  
  141.