home *** CD-ROM | disk | FTP | other *** search
- package controller.update
- {
- import com.greensock.*;
- import com.je.events.ApplicationEvent;
- import com.je.model.ApplicationModel;
- import com.je.model.Assets;
- import com.je.model.ChapterList;
- import com.je.model.vo.Chapter;
- import com.je.model.vo.Lesson;
- import com.je.model.vo.LessonInformation;
- import com.je.utils.BitmapUtil;
- import controller.LoadingController;
- import controller.SharedObjectController;
- import controller.TraceController;
- import controller.ViewShownController;
- import de.galileopress.vt.events.TableOfContentsEvent;
- import flash.display.Bitmap;
- import org.robotlegs.mvcs.Command;
-
- public class UpdateLessonInfos extends Command
- {
- [Inject]
- public var assets:Assets;
-
- [Inject]
- public var applicationModel:ApplicationModel;
-
- private var chaptercount:Number;
-
- private var lessoncount:Number;
-
- private var lessonTotalCount:Number;
-
- private var chapterList:ChapterList;
-
- private var lc:LoadingController;
-
- private var chapter:Chapter;
-
- public function UpdateLessonInfos()
- {
- super();
- }
-
- override public function execute() : void
- {
- this.chapterList = this.applicationModel.chapterList;
- this.lc = LoadingController.getInstance();
- this.chaptercount = 0;
- this.lessoncount = 0;
- TraceController.getInstance().tracef("UpdateLessonInfos");
- TraceController.getInstance().tracef("Chapterlength " + this.chapterList.getAllChapters().length);
- this.checkChapter();
- }
-
- private function checkChapter() : void
- {
- TraceController.getInstance().tracef("Chapterlength count " + this.chaptercount);
- if(this.chaptercount < this.chapterList.getAllChapters().length)
- {
- this.initChapter(this.chaptercount);
- }
- else
- {
- this.init();
- }
- }
-
- private function checkLesson() : void
- {
- if(this.lessoncount < this.lessonTotalCount)
- {
- this.initLesson(this.lessoncount);
- ++this.lessoncount;
- }
- else
- {
- this.checkChapter();
- }
- }
-
- private function initChapter(param1:Number) : void
- {
- var _loc3_:Bitmap = null;
- ++this.chaptercount;
- this.chapter = this.chapterList.getAllChapters()[param1];
- var _loc2_:* = this.chapter.info;
- if(_loc2_)
- {
- this.lc.total = this.lc.total;
- this.lc.loaded += 1;
- _loc3_ = Bitmap(this.assets.getAssetByLinkedID(this.chapter.id + "_chapterInfoPreviewImage"));
- _loc2_.previewImage = _loc3_;
- }
- TraceController.getInstance().tracef("lessonlength " + this.chapter.getAllLessons().length);
- this.lessoncount = 0;
- this.lessonTotalCount = this.chapter.getAllLessons().length;
- if(this.chapter.getAllLessons().length != 0)
- {
- this.checkLesson();
- }
- else
- {
- this.checkChapter();
- }
- }
-
- private function initLesson(param1:Number) : void
- {
- this.lc.total = this.lc.total;
- this.lc.loaded += 1;
- var _loc2_:Lesson = this.chapter.getAllLessons()[param1];
- _loc2_.chapterId = this.chapter.id;
- var _loc3_:LessonInformation = _loc2_.info;
- var _loc4_:Bitmap = Bitmap(this.assets.getAssetByLinkedID(this.chapter.id + "_lessonInfoPreviewImage_" + (param1 + 1)));
- var _loc5_:Bitmap = BitmapUtil.resizeTo(_loc4_,1280,720);
- _loc3_.previewImage = _loc5_;
- TweenMax.delayedCall(0.01,this.checkLesson);
- }
-
- private function init() : void
- {
- var _loc2_:ChapterList = null;
- var _loc3_:Chapter = null;
- var _loc4_:Lesson = null;
- ViewShownController.getInstance().viewed = true;
- dispatch(new ApplicationEvent(ApplicationEvent.INIT_VIEW));
- var _loc1_:Array = SharedObjectController.getInstance().getLastVideoPosition();
- if(SharedObjectController.getInstance().saveAtClose && _loc1_[0] > 0 && _loc1_[1] > 0 && _loc1_[2] > 0)
- {
- _loc2_ = this.applicationModel.chapterList;
- _loc3_ = _loc2_.getChapterById(_loc1_[0]);
- _loc4_ = _loc3_.getLessonById(_loc1_[1]);
- this.applicationModel.currentLesson = _loc4_;
- dispatch(new TableOfContentsEvent(TableOfContentsEvent.HIGHLIGHT_VIDEO,_loc1_[0] + 1,_loc1_[1]));
- }
- }
- }
- }
-
-