///<summary> ///Internal implementation of communication with the LMS ///</summary> ///<remarks> ///Read all the data from the LMS into the internal data structure. Runs in a seperate thread. ///Will fire "Scorm_Initialize_Complete" when the datamodel is ready to be manipulated ///</remarks> private static void Initialize_imp( ) { if(!CheckThread())return; ScormBridge = new Unity_ScormBridge(ObjectName,"ScormValueCallback"); ScormBridge.Initialize(); try{ if(ScormBridge.IsScorm2004) { StudentRecord = new Scorm2004.DataModel(); ScormDeSerializer deserializer = new ScormDeSerializer(StudentRecord); StudentRecord = (Scorm2004.DataModel)deserializer.Deserialize(ScormBridge); }else { Scorm1_2.DataModel tempStudentRecord = new Scorm1_2.DataModel(); ScormDeSerializer deserializer = new ScormDeSerializer(tempStudentRecord); tempStudentRecord = (Scorm1_2.DataModel)deserializer.Deserialize(ScormBridge); StudentRecord = ScormVersionConversion.DataModel.Translate(tempStudentRecord); } }catch(Exception e) { UnityEngine.Application.ExternalCall("DebugPrint", "***ERROR***" + e.Message +"<br/>" + e.StackTrace + "<br/>" + e.Source ); } Initialized = true; }
public static Scorm1_2.DataModel GetTestData1_2() { Scorm1_2.DataModel data = new Scorm1_2.DataModel(); data.comments = "these are comments!"; data.comments_from_lms = "these are commetns from the lms"; data.core = new coreType(); data.core.credit = Scorm1_2.credit.credit; data.core.entry = Scorm1_2.entry.ab_initio; data.core.lesson_location = "location data"; data.core.lesson_mode = Scorm1_2.mode.review; data.core.lesson_status = lessonStatusType.passed; data.core.score = new Scorm1_2.scoreType(); data.core.score.max = new decimal(12); data.core.score.min = new decimal(1); data.core.score.raw = new decimal(32); data.core.session_time = new Scorm1_2.TimeSpan(new System.TimeSpan(0, 0, 100,1)); data.core.student_id = "sdasdf"; data.core.student_name = "Jono"; data.core.total_time = new Scorm1_2.TimeSpan(new System.TimeSpan(1, 1,1,0)); data.interactions = new List<Scorm1_2.interactionType>(); data.interactions.Add(new Scorm1_2.interactionType()); data.interactions[0].id = "asdf"; data.interactions[0].latency = "asdf"; data.interactions[0].objectives = new List<Scorm1_2.objectiveIDType>(); data.interactions[0].objectives.Add(new Scorm1_2.objectiveIDType("adsffa")); data.interactions[0].objectives.Add(new Scorm1_2.objectiveIDType("fdfa")); data.interactions[0].result = Scorm1_2.interactionTypeResult.correct; data.interactions[0].student_response = new studentResponseTypeStudentResponseFillIn(); ((studentResponseTypeStudentResponseFillIn)data.interactions[0].student_response).Value = "asdf"; data.interactions[0].time = new Scorm1_2.DateTime(System.DateTime.Now); data.interactions[0].type = Scorm1_2.interactionTypeType.fill_in; data.interactions[0].weighting = new decimal(1); data.interactions.Add(new Scorm1_2.interactionType()); data.interactions[1].id = "otherid"; data.interactions[1].latency = "lat"; data.interactions[1].objectives = new List<Scorm1_2.objectiveIDType>(); data.interactions[1].objectives.Add(new Scorm1_2.objectiveIDType("obj0")); data.interactions[1].objectives.Add(new Scorm1_2.objectiveIDType("obj1")); data.interactions[1].result = Scorm1_2.interactionTypeResult.unanticipated; data.interactions[1].student_response = new studentResponseTypeStudentResponseFillIn(); ((studentResponseTypeStudentResponseFillIn)data.interactions[0].student_response).Value = "otherdata"; data.interactions[1].time = new Scorm1_2.DateTime(System.DateTime.Now); data.interactions[1].type = Scorm1_2.interactionTypeType.fill_in; data.interactions[1].weighting = new decimal(14); data.launch_data = "asdfasdfasdfasfa"; data.objectives = new List<Scorm1_2.objectiveType>(); data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[0].id = "asdf"; data.objectives[0].score = new Scorm1_2.scoreType(); data.objectives[0].score.max = new decimal(1); data.objectives[0].score.min = new decimal(0); data.objectives[0].score.raw = new decimal(.5); data.objectives[0].status = lessonStatusType.completed; data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[1].id = "otehr id"; data.objectives[1].score = new Scorm1_2.scoreType(); data.objectives[1].score.max = new decimal(.1); data.objectives[1].score.min = new decimal(0.4); data.objectives[1].score.raw = new decimal(.58); data.objectives[1].status = lessonStatusType.incomplete; data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[2].id = "otehr id2"; data.objectives[2].score = new Scorm1_2.scoreType(); data.objectives[2].score.max = new decimal(1.1); data.objectives[2].score.min = new decimal(10.4); data.objectives[2].score.raw = new decimal(1.58); data.objectives[2].status = lessonStatusType.passed; data.student_data = new studentDataType(); data.student_data.mastery_score = new decimal(1); data.student_data.max_time_allowed = new Scorm1_2.TimeSpan(new System.TimeSpan(1,1,1,1)); data.student_data.time_limit_action = Scorm1_2.timeLimitAction.continue_message; data.student_preference = new studentPreferenceType(); data.student_preference.audio = new decimal(0); data.student_preference.text = Scorm1_2.learnerPreferenceAudioCaptioning.no_change; data.student_preference.language = "engl"; data.student_preference.speed = 342; data.suspend_data = "asdfasdfadsf"; return data; }
public static Scorm1_2.DataModel GetTestData1_2() { Scorm1_2.DataModel data = new Scorm1_2.DataModel(); data.comments = "these are comments!"; data.comments_from_lms = "these are commetns from the lms"; data.core = new coreType(); data.core.credit = Scorm1_2.credit.credit; data.core.entry = Scorm1_2.entry.ab_initio; data.core.lesson_location = "location data"; data.core.lesson_mode = Scorm1_2.mode.review; data.core.lesson_status = lessonStatusType.passed; data.core.score = new Scorm1_2.scoreType(); data.core.score.max = new decimal(12); data.core.score.min = new decimal(1); data.core.score.raw = new decimal(32); data.core.session_time = new Scorm1_2.TimeSpan(new System.TimeSpan(0, 0, 100, 1)); data.core.student_id = "sdasdf"; data.core.student_name = "Jono"; data.core.total_time = new Scorm1_2.TimeSpan(new System.TimeSpan(1, 1, 1, 0)); data.interactions = new List <Scorm1_2.interactionType>(); data.interactions.Add(new Scorm1_2.interactionType()); data.interactions[0].id = "asdf"; data.interactions[0].latency = "asdf"; data.interactions[0].objectives = new List <Scorm1_2.objectiveIDType>(); data.interactions[0].objectives.Add(new Scorm1_2.objectiveIDType("adsffa")); data.interactions[0].objectives.Add(new Scorm1_2.objectiveIDType("fdfa")); data.interactions[0].result = Scorm1_2.interactionTypeResult.correct; data.interactions[0].student_response = new studentResponseTypeStudentResponseFillIn(); ((studentResponseTypeStudentResponseFillIn)data.interactions[0].student_response).Value = "asdf"; data.interactions[0].time = new Scorm1_2.DateTime(System.DateTime.Now); data.interactions[0].type = Scorm1_2.interactionTypeType.fill_in; data.interactions[0].weighting = new decimal(1); data.interactions.Add(new Scorm1_2.interactionType()); data.interactions[1].id = "otherid"; data.interactions[1].latency = "lat"; data.interactions[1].objectives = new List <Scorm1_2.objectiveIDType>(); data.interactions[1].objectives.Add(new Scorm1_2.objectiveIDType("obj0")); data.interactions[1].objectives.Add(new Scorm1_2.objectiveIDType("obj1")); data.interactions[1].result = Scorm1_2.interactionTypeResult.unanticipated; data.interactions[1].student_response = new studentResponseTypeStudentResponseFillIn(); ((studentResponseTypeStudentResponseFillIn)data.interactions[0].student_response).Value = "otherdata"; data.interactions[1].time = new Scorm1_2.DateTime(System.DateTime.Now); data.interactions[1].type = Scorm1_2.interactionTypeType.fill_in; data.interactions[1].weighting = new decimal(14); data.launch_data = "asdfasdfasdfasfa"; data.objectives = new List <Scorm1_2.objectiveType>(); data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[0].id = "asdf"; data.objectives[0].score = new Scorm1_2.scoreType(); data.objectives[0].score.max = new decimal(1); data.objectives[0].score.min = new decimal(0); data.objectives[0].score.raw = new decimal(.5); data.objectives[0].status = lessonStatusType.completed; data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[1].id = "otehr id"; data.objectives[1].score = new Scorm1_2.scoreType(); data.objectives[1].score.max = new decimal(.1); data.objectives[1].score.min = new decimal(0.4); data.objectives[1].score.raw = new decimal(.58); data.objectives[1].status = lessonStatusType.incomplete; data.objectives.Add(new Scorm1_2.objectiveType()); data.objectives[2].id = "otehr id2"; data.objectives[2].score = new Scorm1_2.scoreType(); data.objectives[2].score.max = new decimal(1.1); data.objectives[2].score.min = new decimal(10.4); data.objectives[2].score.raw = new decimal(1.58); data.objectives[2].status = lessonStatusType.passed; data.student_data = new studentDataType(); data.student_data.mastery_score = new decimal(1); data.student_data.max_time_allowed = new Scorm1_2.TimeSpan(new System.TimeSpan(1, 1, 1, 1)); data.student_data.time_limit_action = Scorm1_2.timeLimitAction.continue_message; data.student_preference = new studentPreferenceType(); data.student_preference.audio = new decimal(0); data.student_preference.text = Scorm1_2.learnerPreferenceAudioCaptioning.no_change; data.student_preference.language = "engl"; data.student_preference.speed = 342; data.suspend_data = "asdfasdfadsf"; return(data); }